From 0a5981fd5416c60858c3e460f943692d1c62629d Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Fri, 29 Nov 2013 14:29:56 -0500 Subject: In this commit I made it so that each deployment can have custom settings for which privileges are given to users when they are intiated. These settings are modified in mediagoblin.ini. --- mediagoblin.ini | 1 + mediagoblin/auth/__init__.py | 1 - mediagoblin/auth/tools.py | 14 +++++++++----- mediagoblin/config_spec.ini | 3 +++ 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/mediagoblin.ini b/mediagoblin.ini index 934858a2..19c3e4b0 100644 --- a/mediagoblin.ini +++ b/mediagoblin.ini @@ -35,6 +35,7 @@ allow_reporting = true ## If you want the terms of service displayed, you can uncomment this # show_tos = true +user_privilege_scheme= "uploader,commenter,reporter" [storage:queuestore] base_dir = %(here)s/user_dev/media/queue diff --git a/mediagoblin/auth/__init__.py b/mediagoblin/auth/__init__.py index be5d0eed..f518a09d 100644 --- a/mediagoblin/auth/__init__.py +++ b/mediagoblin/auth/__init__.py @@ -25,7 +25,6 @@ def create_user(register_form): results = hook_runall("auth_create_user", register_form) return results[0] - def extra_validation(register_form): from mediagoblin.auth.tools import basic_extra_validation diff --git a/mediagoblin/auth/tools.py b/mediagoblin/auth/tools.py index 88716e1c..191a2b9d 100644 --- a/mediagoblin/auth/tools.py +++ b/mediagoblin/auth/tools.py @@ -132,11 +132,7 @@ def register_user(request, register_form): user = auth.create_user(register_form) # give the user the default privileges - default_privileges = [ - Privilege.query.filter(Privilege.privilege_name==u'commenter').first(), - Privilege.query.filter(Privilege.privilege_name==u'uploader').first(), - Privilege.query.filter(Privilege.privilege_name==u'reporter').first()] - user.all_privileges += default_privileges + user.all_privileges += get_default_privileges(user) user.save() # log the user in @@ -151,6 +147,14 @@ def register_user(request, register_form): return None +def get_default_privileges(user): + instance_privilege_scheme = mg_globals.app_config['user_privilege_scheme'] + default_privileges = [Privilege.query.filter( + Privilege.privilege_name==privilege_name).first() + for privilege_name in instance_privilege_scheme.split(',')] + default_privileges = [privilege for privilege in default_privileges if not privilege == None] + + return default_privileges def check_login_simple(username, password): user = auth.get_user(username=username) diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini index cc1ac637..a29b481e 100644 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@ -89,6 +89,9 @@ upload_limit = integer(default=None) # Max file size (in Mb) max_file_size = integer(default=None) +# Privilege scheme +user_privilege_scheme = string(default="") + [jinja2] # Jinja2 supports more directives than the minimum required by mediagoblin. # This setting allows users creating custom templates to specify a list of -- cgit v1.2.3 From 7a29c67bf92830427e30590fe5a7b720da7520d4 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 6 Feb 2014 15:15:57 -0500 Subject: In this commit, I added a new column which will be used for RDFa metadata of media. --- mediagoblin/db/migrations.py | 12 ++++++++++++ mediagoblin/db/models.py | 1 + 2 files changed, 13 insertions(+) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 426080a2..a7400bf0 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -31,6 +31,7 @@ from mediagoblin.db.migration_tools import ( RegisterMigration, inspect_table, replace_table_hack) from mediagoblin.db.models import (MediaEntry, Collection, MediaComment, User, Privilege) +from mediagoblin.db.extratypes import JSONEncoded, MutationDict MIGRATIONS = {} @@ -720,3 +721,14 @@ def drop_MediaEntry_collected(db): media_collected.drop() db.commit() + +@RegisterMigration(20, MIGRATIONS) +def add_work_metadata_column(db): + metadata = MetaData(bind=db.bind) + + media_file = inspect_table(metadata, 'core__mediafiles') + + col = Column('work_metadata', MutationDict.as_mutable(JSONEncoded)) + col.create(media_file) + + db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index b750375d..ac69d040 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -420,6 +420,7 @@ class MediaFile(Base): name_id = Column(SmallInteger, ForeignKey(FileKeynames.id), nullable=False) file_path = Column(PathTupleWithSlashes) file_metadata = Column(MutationDict.as_mutable(JSONEncoded)) + work_metadata = Column(MutationDict.as_mutable(JSONEncoded)) __table_args__ = ( PrimaryKeyConstraint('media_entry', 'name_id'), -- cgit v1.2.3 From 74d7ff96142c2da375e12df91e23fb50c2b2af88 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 18 Mar 2014 16:49:48 -0400 Subject: Big update. I added in a json-ld context file which will be used in all our metadata columns in the future. The context describes the dublin core elements. It still has not been finalized however. --- mediagoblin/routing.py | 4 +- .../templates/mediagoblin/metadata_contexts/v1 | 70 ++++++++++++++++++++++ mediagoblin/views.py | 6 ++ setup.py | 1 + 4 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 mediagoblin/templates/mediagoblin/metadata_contexts/v1 diff --git a/mediagoblin/routing.py b/mediagoblin/routing.py index 1393f01c..a6b2a543 100644 --- a/mediagoblin/routing.py +++ b/mediagoblin/routing.py @@ -28,7 +28,9 @@ _log = logging.getLogger(__name__) def get_url_map(): add_route('index', '/', 'mediagoblin.views:root_view') add_route('terms_of_service','/terms_of_service', - 'mediagoblin.views:terms_of_service') + 'mediagoblin.views:terms_of_service'), + add_route('metadata_context','/metadata_context/v/', + 'mediagoblin.views:metadata_context_view'), mount('/auth', auth_routes) mount('/mod', moderation_routes) diff --git a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 new file mode 100644 index 00000000..1325d920 --- /dev/null +++ b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 @@ -0,0 +1,70 @@ +{ + "@context": { + "dc": "http://purl.org/dc/elements/1.1/", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "contributor":{ + "@id":"dc:title", + "@type":"xsd:string" + }, + "coverage":{ + "@id":"dc:coverage", + "@type":"xsd:string" + }, + "created":{ + "@id":"dc:created", + "@type":"xsd:date" + }, + "creator":{ + "@id":"dc:created", + "@type":"xsd:date" + }, + "date":{ + "@id":"dc:date", + "@type":"xsd:date" + }, + "description":{ + "@id":"dc:description", + "@type":"xsd:string" + }, + "format":{ + "@id":"dc:format", + "@type":"xsd:string" + }, + "identifier":{ + "@id":"dc:identifier", + "@type":"xsd:string" + }, + "language":{ + "@id":"dc:language", + "@type":"xsd:string" + }, + "publisher":{ + "@id":"dc:publisher", + "@type":"xsd:string" + }, + "relation":{ + "@id":"dc:relation", + "@type":"xsd:string" + }, + "rights":{ + "@id":"dc:rights", + "@type":"xsd:anyURI" + }, + "source":{ + "@id":"dc:source", + "@type":"xsd:string" + }, + "subject":{ + "@id":"dc:subject", + "@type":"xsd:string" + }, + "title": { + "@id":"dc:title", + "@type":"xsd:string" + }, + "type":{ + "@id":"dc:type", + "@type":"xsd:string" + } + } +} diff --git a/mediagoblin/views.py b/mediagoblin/views.py index 009e48e4..1ed71473 100644 --- a/mediagoblin/views.py +++ b/mediagoblin/views.py @@ -62,3 +62,9 @@ def terms_of_service(request): return render_to_response(request, 'mediagoblin/terms_of_service.html', {}) + +def metadata_context_view(request): + version = request.matchdict['version_number'] + return render_to_response(request, + 'mediagoblin/metadata_contexts/v{version}'.format( + version=version), {}) diff --git a/setup.py b/setup.py index d3f91686..93873d73 100644 --- a/setup.py +++ b/setup.py @@ -66,6 +66,7 @@ try: 'six>=1.4.1', 'oauthlib==0.5.0', 'unidecode', + 'jsonschema', ## Annoying. Please remove once we can! We only indirectly ## use pbr, and currently it breaks things, presumably till -- cgit v1.2.3 From 3214aeb2387cd1356685372f9abaebe35ea7f006 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 6 Feb 2014 15:17:06 -0500 Subject: This branch will create a commandline bulk-upload script. So far, I have written the code to read csv files into a usable dictionary. --- mediagoblin/gmg_commands/__init__.py | 4 ++ mediagoblin/gmg_commands/batchaddmedia.py | 110 ++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 mediagoblin/gmg_commands/batchaddmedia.py diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index a1eb599d..1460733f 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -53,6 +53,10 @@ SUBCOMMAND_MAP = { 'setup': 'mediagoblin.gmg_commands.addmedia:parser_setup', 'func': 'mediagoblin.gmg_commands.addmedia:addmedia', 'help': 'Reprocess media entries'}, + 'batchaddmedia': { + 'setup': 'mediagoblin.gmg_commands.batchaddmedia:parser_setup', + 'func': 'mediagoblin.gmg_commands.batchaddmedia:batchaddmedia', + 'help': 'Reprocess many media entries'} # 'theme': { # 'setup': 'mediagoblin.gmg_commands.theme:theme_parser_setup', # 'func': 'mediagoblin.gmg_commands.theme:theme', diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py new file mode 100644 index 00000000..1c0f6784 --- /dev/null +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -0,0 +1,110 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import os + +from mediagoblin.gmg_commands import util as commands_util +from mediagoblin.submit.lib import ( + submit_media, get_upload_file_limits, + FileUploadLimit, UserUploadLimit, UserPastUploadLimit) + +from mediagoblin import mg_globals +import json, csv + +def parser_setup(subparser): + subparser.add_argument( + 'username', + help="Name of user this media entry belongs to") + subparser.add_argument( + 'locationfile', + help=( +"Local file on filesystem with the address of all the files to be uploaded")) + subparser.add_argument( + 'metadatafile', + help=( +"Local file on filesystem with metadata of all the files to be uploaded")) + subparser.add_argument( + "-l", "--license", + help=( + "License these media entry will be released under, if all the same" + "Should be a URL.")) + subparser.add_argument( + '--celery', + action='store_true', + help="Don't process eagerly, pass off to celery") + + +def batchaddmedia(args): + # Run eagerly unless explicetly set not to + if not args.celery: + os.environ['CELERY_ALWAYS_EAGER'] = 'true' + + app = commands_util.setup_app(args) + + # get the user + user = app.db.User.query.filter_by(username=args.username.lower()).first() + if user is None: + print "Sorry, no user by username '%s'" % args.username + return + + # check for the location file, if it exists... + location_filename = os.path.split(args.locationfile)[-1] + abs_location_filename = os.path.abspath(args.locationfile) + if not os.path.exists(abs_location_filename): + print "Can't find a file with filename '%s'" % args.locationfile + return + + # check for the location file, if it exists... + metadata_filename = os.path.split(args.metadatafile)[-1] + abs_metadata_filename = os.path.abspath(args.metadatafile) + if not os.path.exists(abs_metadata_filename): + print "Can't find a file with filename '%s'" % args.metadatafile + return + + upload_limit, max_file_size = get_upload_file_limits(user) + + def maybe_unicodeify(some_string): + # this is kinda terrible + if some_string is None: + return None + else: + return unicode(some_string) + + with file(abs_location_filename, 'r') as all_locations: + contents = all_locations.read() + media_locations = parse_csv_file(contents) + + with file(abs_metadata_filename, 'r') as all_metadata: + contents = all_metadata.read() + media_metadata = parse_csv_file(contents) + +def parse_csv_file(file_contents): + list_of_contents = file_contents.split('\n') + key, lines = (list_of_contents[0].split(','), + list_of_contents[1:]) + list_of_objects = [] + + # Build a dictionary + for line in lines: + if line.isspace() or line == '': continue + values = csv.reader([line]).next() + new_dict = dict([(key[i], val) + for i, val in enumerate(values)]) + list_of_objects.append(new_dict) + + return list_of_objects + + -- cgit v1.2.3 From 714c4cb7d7a1918d3b4cf5cbe9145078cd330b5b Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 12 Feb 2014 14:37:00 -0500 Subject: The script now officially works! It works in many different situations, whether the media is to be uploaded is stored locally or on the web. Still have to clean up the code and look for errors. I may also refactor some of this into a functi- on to be used with a GUI frontend in another project. Lastly, I need to merge this with the metadata branch I've been working on, and convert the metadata.csv information into the proper format for the new metadata column. --- mediagoblin/gmg_commands/batchaddmedia.py | 130 +++++++++++++++++++++++++----- 1 file changed, 111 insertions(+), 19 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 1c0f6784..7d7a2d4f 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,6 +15,10 @@ # along with this program. If not, see . import os +import json, tempfile, urllib, tarfile, subprocess +from csv import reader as csv_reader +from urlparse import urlparse +from pyld import jsonld from mediagoblin.gmg_commands import util as commands_util from mediagoblin.submit.lib import ( @@ -22,20 +26,26 @@ from mediagoblin.submit.lib import ( FileUploadLimit, UserUploadLimit, UserPastUploadLimit) from mediagoblin import mg_globals -import json, csv def parser_setup(subparser): subparser.add_argument( 'username', help="Name of user this media entry belongs to") - subparser.add_argument( - 'locationfile', + target_type = subparser.add_mutually_exclusive_group() + target_type.add_argument('-d', + '--directory', action='store_const', + const='directory', dest='target_type', + default='directory', help=( +"Target is a directory")) + target_type.add_argument('-a', + '--archive', action='store_const', + const='archive', dest='target_type', help=( -"Local file on filesystem with the address of all the files to be uploaded")) +"Target is an archive.")) subparser.add_argument( - 'metadatafile', + 'target_path', help=( -"Local file on filesystem with metadata of all the files to be uploaded")) +"Path to a local archive or directory containing a location.csv and metadata.csv file")) subparser.add_argument( "-l", "--license", help=( @@ -59,19 +69,36 @@ def batchaddmedia(args): if user is None: print "Sorry, no user by username '%s'" % args.username return + + upload_limit, max_file_size = get_upload_file_limits(user) + temp_files = [] + + if args.target_type == 'archive': + dir_path = tempfile.mkdtemp() + temp_files.append(dir_path) + tar = tarfile.open(args.target_path) + tar.extractall(path=dir_path) + + elif args.target_type == 'directory': + dir_path = args.target_path + + location_file_path = "{dir_path}/location.csv".format( + dir_path=dir_path) + metadata_file_path = "{dir_path}/metadata.csv".format( + dir_path=dir_path) # check for the location file, if it exists... - location_filename = os.path.split(args.locationfile)[-1] - abs_location_filename = os.path.abspath(args.locationfile) + location_filename = os.path.split(location_file_path)[-1] + abs_location_filename = os.path.abspath(location_file_path) if not os.path.exists(abs_location_filename): - print "Can't find a file with filename '%s'" % args.locationfile + print "Can't find a file with filename '%s'" % location_file_path return - # check for the location file, if it exists... - metadata_filename = os.path.split(args.metadatafile)[-1] - abs_metadata_filename = os.path.abspath(args.metadatafile) + # check for the metadata file, if it exists... + metadata_filename = os.path.split(metadata_file_path)[-1] + abs_metadata_filename = os.path.abspath(metadata_file_path) if not os.path.exists(abs_metadata_filename): - print "Can't find a file with filename '%s'" % args.metadatafile + print "Can't find a file with filename '%s'" % metadata_file_path return upload_limit, max_file_size = get_upload_file_limits(user) @@ -91,20 +118,85 @@ def batchaddmedia(args): contents = all_metadata.read() media_metadata = parse_csv_file(contents) + dcterms_context = { 'dcterms':'http://purl.org/dc/terms/' } + + for media_id in media_locations.keys(): + file_metadata = media_metadata[media_id] + json_ld_metadata = jsonld.compact(file_metadata, dcterms_context) + original_location = media_locations[media_id]['media:original'] + url = urlparse(original_location) + + title = file_metadata.get('dcterms:title') + description = file_metadata.get('dcterms:description') + license = file_metadata.get('dcterms:license') + filename = url.path.split()[-1] + print "Working with {filename}".format(filename=filename) + + if url.scheme == 'http': + print "Downloading {filename}...".format( + filename=filename) + media_file = tempfile.TemporaryFile() + res = urllib.urlopen(url.geturl()) + media_file.write(res.read()) + media_file.seek(0) + + elif url.scheme == '': + path = url.path + if os.path.isabs(path): + file_abs_path = os.path.abspath(path) + else: + file_path = "{dir_path}/{local_path}".format( + dir_path=dir_path, + local_path=path) + file_abs_path = os.path.abspath(file_path) + try: + media_file = file(file_abs_path, 'r') + except IOError: + print "Local file {filename} could not be accessed.".format( + filename=filename) + print "Skipping it." + continue + print "Submitting {filename}...".format(filename=filename) + try: + submit_media( + mg_app=app, + user=user, + submitted_file=media_file, + filename=filename, + title=maybe_unicodeify(title), + description=maybe_unicodeify(description), + license=maybe_unicodeify(license), + tags_string=u"", + upload_limit=upload_limit, max_file_size=max_file_size) + print "Successfully uploading {filename}!".format(filename=filename) + print "" + except FileUploadLimit: + print "This file is larger than the upload limits for this site." + except UserUploadLimit: + print "This file will put this user past their upload limits." + except UserPastUploadLimit: + print "This user is already past their upload limits." + teardown(temp_files) + + + def parse_csv_file(file_contents): list_of_contents = file_contents.split('\n') key, lines = (list_of_contents[0].split(','), list_of_contents[1:]) - list_of_objects = [] + objects_dict = {} # Build a dictionary for line in lines: if line.isspace() or line == '': continue - values = csv.reader([line]).next() - new_dict = dict([(key[i], val) + values = csv_reader([line]).next() + line_dict = dict([(key[i], val) for i, val in enumerate(values)]) - list_of_objects.append(new_dict) + media_id = line_dict['media:id'] + objects_dict[media_id] = (line_dict) - return list_of_objects + return objects_dict - +def teardown(temp_files): + for temp_file in temp_files: + subprocess.call(['rm','-r',temp_file]) -- cgit v1.2.3 From 27b7d94896cd3cede2050b62af1321ad69cd3fa1 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 13 Feb 2014 13:57:10 -0500 Subject: Minor change in the wording of argparsing. --- mediagoblin/gmg_commands/batchaddmedia.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 7d7a2d4f..2fd36dfb 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -36,12 +36,12 @@ def parser_setup(subparser): '--directory', action='store_const', const='directory', dest='target_type', default='directory', help=( -"Target is a directory")) +"Choose this option is the target is a directory.")) target_type.add_argument('-a', '--archive', action='store_const', const='archive', dest='target_type', help=( -"Target is an archive.")) +"Choose this option if the target is an archive.")) subparser.add_argument( 'target_path', help=( -- cgit v1.2.3 From 579a6b574f402c23d3b09d22e4ab4c9f71b0e7aa Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 19 Feb 2014 14:27:14 -0500 Subject: I made it so the command no longer requires the "Target type" to be provided, it now recognizes whether the target is a directory or an archive on its own. I added in a help message, which is still incomplete, but should make it easier for admins to know how to use this new command. I believe we should also provi- -de an example of the location.csv and metadata.csv files, so there is no conf- -usion. Also, I made it possible for the command to recognize zip files as a valid archive. I also made some minor changes to the commands description w/i the larger gmg command help menu. --- mediagoblin/gmg_commands/__init__.py | 2 +- mediagoblin/gmg_commands/batchaddmedia.py | 55 ++++++++++++++++++------------- 2 files changed, 34 insertions(+), 23 deletions(-) diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index 1460733f..55e85116 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -56,7 +56,7 @@ SUBCOMMAND_MAP = { 'batchaddmedia': { 'setup': 'mediagoblin.gmg_commands.batchaddmedia:parser_setup', 'func': 'mediagoblin.gmg_commands.batchaddmedia:batchaddmedia', - 'help': 'Reprocess many media entries'} + 'help': 'Add many media entries at once'} # 'theme': { # 'setup': 'mediagoblin.gmg_commands.theme:theme_parser_setup', # 'func': 'mediagoblin.gmg_commands.theme:theme', diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 2fd36dfb..d3ab7733 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,7 +15,7 @@ # along with this program. If not, see . import os -import json, tempfile, urllib, tarfile, subprocess +import json, tempfile, urllib, tarfile, zipfile, subprocess from csv import reader as csv_reader from urlparse import urlparse from pyld import jsonld @@ -28,29 +28,28 @@ from mediagoblin.submit.lib import ( from mediagoblin import mg_globals def parser_setup(subparser): + subparser.description = """\ +This command allows the administrator to upload many media files at once.""" subparser.add_argument( 'username', - help="Name of user this media entry belongs to") - target_type = subparser.add_mutually_exclusive_group() - target_type.add_argument('-d', - '--directory', action='store_const', - const='directory', dest='target_type', - default='directory', help=( -"Choose this option is the target is a directory.")) - target_type.add_argument('-a', - '--archive', action='store_const', - const='archive', dest='target_type', - help=( -"Choose this option if the target is an archive.")) + help="Name of user these media entries belong to") subparser.add_argument( 'target_path', - help=( -"Path to a local archive or directory containing a location.csv and metadata.csv file")) + help=("""\ +Path to a local archive or directory containing a "location.csv" and a +"metadata.csv" file. These are csv (comma seperated value) files with the +locations and metadata of the files to be uploaded. The location must be listed +with either the URL of the remote media file or the filesystem path of a local +file. The metadata should be provided with one column for each of the 15 Dublin +Core properties (http://dublincore.org/documents/dces/). Both "location.csv" and +"metadata.csv" must begin with a row demonstrating the order of the columns. We +have provided an example of these files at +""")) subparser.add_argument( "-l", "--license", help=( - "License these media entry will be released under, if all the same" - "Should be a URL.")) + "License these media entry will be released under, if all the same. " + "Should be a URL.")) subparser.add_argument( '--celery', action='store_true', @@ -67,26 +66,38 @@ def batchaddmedia(args): # get the user user = app.db.User.query.filter_by(username=args.username.lower()).first() if user is None: - print "Sorry, no user by username '%s'" % args.username + print "Sorry, no user by username '%s' exists" % args.username return upload_limit, max_file_size = get_upload_file_limits(user) temp_files = [] - if args.target_type == 'archive': + if tarfile.is_tarfile(args.target_path): dir_path = tempfile.mkdtemp() temp_files.append(dir_path) tar = tarfile.open(args.target_path) tar.extractall(path=dir_path) - elif args.target_type == 'directory': + elif zipfile.is_zipfile(args.target_path): + dir_path = tempfile.mkdtemp() + temp_files.append(dir_path) + zipped_file = zipfile.ZipFile(args.target_path) + zipped_file.extractall(path=dir_path) + + elif os.path.isdir(args.target_path): dir_path = args.target_path + else: + print "Couldn't recognize the file. This script only accepts tar files,\ +zip files and directories" + if dir_path.endswith('/'): + dir_path = dir_path[:-1] + location_file_path = "{dir_path}/location.csv".format( dir_path=dir_path) metadata_file_path = "{dir_path}/metadata.csv".format( dir_path=dir_path) - + # check for the location file, if it exists... location_filename = os.path.split(location_file_path)[-1] abs_location_filename = os.path.abspath(location_file_path) @@ -178,7 +189,7 @@ def batchaddmedia(args): print "This user is already past their upload limits." teardown(temp_files) - + def parse_csv_file(file_contents): list_of_contents = file_contents.split('\n') -- cgit v1.2.3 From 9d4e9de76b29f8cc602a0db6334e7d36bb3e0fb0 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Fri, 21 Feb 2014 12:38:02 -0500 Subject: Changed some of the print messages as well as tweaked the order of the commands attempts to figure out what type of file the target file is. --- mediagoblin/gmg_commands/batchaddmedia.py | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index d3ab7733..678c8ab4 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -63,6 +63,8 @@ def batchaddmedia(args): app = commands_util.setup_app(args) + files_uploaded, files_attempted = 0, 0 + # get the user user = app.db.User.query.filter_by(username=args.username.lower()).first() if user is None: @@ -72,7 +74,10 @@ def batchaddmedia(args): upload_limit, max_file_size = get_upload_file_limits(user) temp_files = [] - if tarfile.is_tarfile(args.target_path): + if os.path.isdir(args.target_path): + dir_path = args.target_path + + elif tarfile.is_tarfile(args.target_path): dir_path = tempfile.mkdtemp() temp_files.append(dir_path) tar = tarfile.open(args.target_path) @@ -84,9 +89,6 @@ def batchaddmedia(args): zipped_file = zipfile.ZipFile(args.target_path) zipped_file.extractall(path=dir_path) - elif os.path.isdir(args.target_path): - dir_path = args.target_path - else: print "Couldn't recognize the file. This script only accepts tar files,\ zip files and directories" @@ -141,11 +143,9 @@ zip files and directories" description = file_metadata.get('dcterms:description') license = file_metadata.get('dcterms:license') filename = url.path.split()[-1] - print "Working with {filename}".format(filename=filename) + files_attempted += 1 if url.scheme == 'http': - print "Downloading {filename}...".format( - filename=filename) media_file = tempfile.TemporaryFile() res = urllib.urlopen(url.geturl()) media_file.write(res.read()) @@ -163,11 +163,10 @@ zip files and directories" try: media_file = file(file_abs_path, 'r') except IOError: - print "Local file {filename} could not be accessed.".format( - filename=filename) + print "\ +FAIL: Local file {filename} could not be accessed.".format(filename=filename) print "Skipping it." continue - print "Submitting {filename}...".format(filename=filename) try: submit_media( mg_app=app, @@ -181,12 +180,17 @@ zip files and directories" upload_limit=upload_limit, max_file_size=max_file_size) print "Successfully uploading {filename}!".format(filename=filename) print "" + files_uploaded += 1 except FileUploadLimit: - print "This file is larger than the upload limits for this site." + print "FAIL: This file is larger than the upload limits for this site." except UserUploadLimit: - print "This file will put this user past their upload limits." + print "FAIL: This file will put this user past their upload limits." except UserPastUploadLimit: - print "This user is already past their upload limits." + print "FAIL: This user is already past their upload limits." + print "\ +{files_uploaded} out of {files_attempted} files successfully uploaded".format( + files_uploaded=files_uploaded, + files_attempted=files_attempted) teardown(temp_files) -- cgit v1.2.3 From 6b43a6f432b57c0f54427d65de361adc63388799 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 13:31:04 -0400 Subject: Began work on metadata validation --- mediagoblin/gmg_commands/batchaddmedia.py | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 678c8ab4..83aea7b7 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -26,6 +26,7 @@ from mediagoblin.submit.lib import ( FileUploadLimit, UserUploadLimit, UserPastUploadLimit) from mediagoblin import mg_globals +from jsonschema import validate def parser_setup(subparser): subparser.description = """\ @@ -215,3 +216,35 @@ def parse_csv_file(file_contents): def teardown(temp_files): for temp_file in temp_files: subprocess.call(['rm','-r',temp_file]) + +def check_metadata_format(metadata_dict): + schema = json.loads(""" +{ + "$schema":"http://json-schema.org/schema#", + "properties":{ + "@context":{}, + "contributor":{}, + "coverage":{}, + "created":{}, + "creator":{}, + "date":{}, + "description":{}, + "format":{}, + "identifier":{}, + "language":{}, + "publisher":{}, + "relation":{}, + "rights" : { + "format":"uri", + "type":"string" + }, + "source":{}, + "subject":{}, + "title":{}, + "type":{} + }, + "additionalProperties": false, + "required":["title","@context"] +}""") + try: + validate(metadata_dict, schema) -- cgit v1.2.3 From 680faaaa855a5fa60178d6b2a7e562619d3a4c4b Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 13:55:15 -0400 Subject: Added exception handling into the metadata format checking function. --- mediagoblin/gmg_commands/batchaddmedia.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 83aea7b7..f06bc2e8 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -24,9 +24,11 @@ from mediagoblin.gmg_commands import util as commands_util from mediagoblin.submit.lib import ( submit_media, get_upload_file_limits, FileUploadLimit, UserUploadLimit, UserPastUploadLimit) +from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from mediagoblin import mg_globals -from jsonschema import validate +from jsonschema import validate +from jsonschema.exceptions import ValidationError def parser_setup(subparser): subparser.description = """\ @@ -135,7 +137,10 @@ zip files and directories" dcterms_context = { 'dcterms':'http://purl.org/dc/terms/' } for media_id in media_locations.keys(): - file_metadata = media_metadata[media_id] + file_metadata = media_metadata[media_id] + santized_metadata = check_metadata_format(file_metadata) + if sanitized_metadata == {}: continue + json_ld_metadata = jsonld.compact(file_metadata, dcterms_context) original_location = media_locations[media_id]['media:original'] url = urlparse(original_location) @@ -248,3 +253,14 @@ def check_metadata_format(metadata_dict): }""") try: validate(metadata_dict, schema) + output_dict = metadata_dict + except ValidationError, exc: + title = metadata_dict.get('title') or metadata_dict.get('media:id') or \ + _(u'UNKNOWN FILE') + print _( +u"""WARN: Could not find appropriate metadata for file {title}. File will be +skipped""".format(title=title)) + output_dict = {} + except: + raise + return output_dict -- cgit v1.2.3 From 8f054a6b99a594da36a859f7bb5f11464c1602bd Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 14:11:12 -0400 Subject: Fixed up some fatal errors. Is still not ready. --- mediagoblin/gmg_commands/batchaddmedia.py | 46 ++++++++++++++++--------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index f06bc2e8..414e969c 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -138,7 +138,7 @@ zip files and directories" for media_id in media_locations.keys(): file_metadata = media_metadata[media_id] - santized_metadata = check_metadata_format(file_metadata) + sanitized_metadata = check_metadata_format(file_metadata) if sanitized_metadata == {}: continue json_ld_metadata = jsonld.compact(file_metadata, dcterms_context) @@ -207,7 +207,7 @@ def parse_csv_file(file_contents): list_of_contents[1:]) objects_dict = {} - # Build a dictionary + # Build a dictionaryfrom mediagoblin.tools.translate import lazy_pass_to_ugettext as _ for line in lines: if line.isspace() or line == '': continue values = csv_reader([line]).next() @@ -228,38 +228,40 @@ def check_metadata_format(metadata_dict): "$schema":"http://json-schema.org/schema#", "properties":{ "@context":{}, - "contributor":{}, - "coverage":{}, - "created":{}, - "creator":{}, - "date":{}, - "description":{}, - "format":{}, - "identifier":{}, - "language":{}, - "publisher":{}, - "relation":{}, - "rights" : { + "dcterms:contributor":{}, + "dcterms:coverage":{}, + "dcterms:created":{}, + "dcterms:creator":{}, + "dcterms:date":{}, + "dcterms:description":{}, + "dcterms:format":{}, + "dcterms:identifier":{}, + "dcterms:language":{}, + "dcterms:publisher":{}, + "dcterms:relation":{}, + "dcterms:rights" : { "format":"uri", "type":"string" }, - "source":{}, - "subject":{}, - "title":{}, - "type":{} + "dcterms:source":{}, + "dcterms:subject":{}, + "dcterms:title":{}, + "dcterms:type":{}, + "media:id":{} }, "additionalProperties": false, - "required":["title","@context"] + "required":["dcterms:title","@context","media:id"] }""") + metadata_dict["@context"] = u"http://127.0.0.1:6543/metadata_context/v1/" try: validate(metadata_dict, schema) output_dict = metadata_dict except ValidationError, exc: - title = metadata_dict.get('title') or metadata_dict.get('media:id') or \ + title = metadata_dict.get('dcterms:title') or metadata_dict.get('media:id') or \ _(u'UNKNOWN FILE') print _( -u"""WARN: Could not find appropriate metadata for file {title}. File will be -skipped""".format(title=title)) +u"""WARN: Could not find appropriate metadata for file {title}. +File will be skipped""".format(title=title)) output_dict = {} except: raise -- cgit v1.2.3 From 32aec1e533e9de8b843e54d5a08b55d26e81f87e Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 17:10:31 -0400 Subject: Fixed a minor error in the batch upload script and modified the json-ld context. --- mediagoblin/gmg_commands/batchaddmedia.py | 9 +++--- .../templates/mediagoblin/metadata_contexts/v1 | 34 +++++++++++----------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 414e969c..012a5ee4 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -137,6 +137,8 @@ zip files and directories" dcterms_context = { 'dcterms':'http://purl.org/dc/terms/' } for media_id in media_locations.keys(): + files_attempted += 1 + file_metadata = media_metadata[media_id] sanitized_metadata = check_metadata_format(file_metadata) if sanitized_metadata == {}: continue @@ -149,7 +151,6 @@ zip files and directories" description = file_metadata.get('dcterms:description') license = file_metadata.get('dcterms:license') filename = url.path.split()[-1] - files_attempted += 1 if url.scheme == 'http': media_file = tempfile.TemporaryFile() @@ -228,6 +229,7 @@ def check_metadata_format(metadata_dict): "$schema":"http://json-schema.org/schema#", "properties":{ "@context":{}, + "dcterms:contributor":{}, "dcterms:coverage":{}, "dcterms:created":{}, @@ -246,8 +248,7 @@ def check_metadata_format(metadata_dict): "dcterms:source":{}, "dcterms:subject":{}, "dcterms:title":{}, - "dcterms:type":{}, - "media:id":{} + "dcterms:type":{} }, "additionalProperties": false, "required":["dcterms:title","@context","media:id"] @@ -260,7 +261,7 @@ def check_metadata_format(metadata_dict): title = metadata_dict.get('dcterms:title') or metadata_dict.get('media:id') or \ _(u'UNKNOWN FILE') print _( -u"""WARN: Could not find appropriate metadata for file {title}. +u"""WARN: Could not find appropriate metadata for file "{title}". File will be skipped""".format(title=title)) output_dict = {} except: diff --git a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 index 1325d920..99882de2 100644 --- a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 +++ b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 @@ -1,69 +1,69 @@ { "@context": { - "dc": "http://purl.org/dc/elements/1.1/", + "dcterms": "http://purl.org/dc/elements/1.1/", "xsd": "http://www.w3.org/2001/XMLSchema#", "contributor":{ - "@id":"dc:title", + "@id":"dcterms:title", "@type":"xsd:string" }, "coverage":{ - "@id":"dc:coverage", + "@id":"dcterms:coverage", "@type":"xsd:string" }, "created":{ - "@id":"dc:created", + "@id":"dcterms:created", "@type":"xsd:date" }, "creator":{ - "@id":"dc:created", + "@id":"dcterms:created", "@type":"xsd:date" }, "date":{ - "@id":"dc:date", + "@id":"dcterms:date", "@type":"xsd:date" }, "description":{ - "@id":"dc:description", + "@id":"dcterms:description", "@type":"xsd:string" }, "format":{ - "@id":"dc:format", + "@id":"dcterms:format", "@type":"xsd:string" }, "identifier":{ - "@id":"dc:identifier", + "@id":"dcterms:identifier", "@type":"xsd:string" }, "language":{ - "@id":"dc:language", + "@id":"dcterms:language", "@type":"xsd:string" }, "publisher":{ - "@id":"dc:publisher", + "@id":"dcterms:publisher", "@type":"xsd:string" }, "relation":{ - "@id":"dc:relation", + "@id":"dcterms:relation", "@type":"xsd:string" }, "rights":{ - "@id":"dc:rights", + "@id":"dcterms:rights", "@type":"xsd:anyURI" }, "source":{ - "@id":"dc:source", + "@id":"dcterms:source", "@type":"xsd:string" }, "subject":{ - "@id":"dc:subject", + "@id":"dcterms:subject", "@type":"xsd:string" }, "title": { - "@id":"dc:title", + "@id":"dcterms:title", "@type":"xsd:string" }, "type":{ - "@id":"dc:type", + "@id":"dcterms:type", "@type":"xsd:string" } } -- cgit v1.2.3 From 0e4144abaf2dc6a18bc2750808e4561caf4e5e9c Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 17:29:34 -0400 Subject: Wrote more comprehensive error messages. --- mediagoblin/gmg_commands/batchaddmedia.py | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 012a5ee4..fe345d5f 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -229,7 +229,7 @@ def check_metadata_format(metadata_dict): "$schema":"http://json-schema.org/schema#", "properties":{ "@context":{}, - + "media:id":{}, "dcterms:contributor":{}, "dcterms:coverage":{}, "dcterms:created":{}, @@ -251,18 +251,32 @@ def check_metadata_format(metadata_dict): "dcterms:type":{} }, "additionalProperties": false, - "required":["dcterms:title","@context","media:id"] + "required":["dcterms:title","@context","media:id","bell"] }""") metadata_dict["@context"] = u"http://127.0.0.1:6543/metadata_context/v1/" try: validate(metadata_dict, schema) output_dict = metadata_dict except ValidationError, exc: - title = metadata_dict.get('dcterms:title') or metadata_dict.get('media:id') or \ - _(u'UNKNOWN FILE') - print _( -u"""WARN: Could not find appropriate metadata for file "{title}". -File will be skipped""".format(title=title)) + title = (metadata_dict.get('dcterms:title') or + metadata_dict.get('media:id') or _(u'UNKNOWN FILE')) + + if exc.validator == "additionalProperties": + message = _(u'Invalid metadata provided for file "{title}". This \ +script only accepts the Dublin Core metadata terms.'.format(title=title)) + + elif exc.validator == "required": + message = _( +u'All necessary metadata was not provided for file "{title}", you must include \ +a "dcterms:title" column for each media file'.format(title=title)) + + else: + message = _(u'Could not find appropriate metadata for file \ +"{title}".'.format(title=title)) + + print _(u"""WARN: {message} \nSkipping File...\n""".format( + message=message)) + output_dict = {} except: raise -- cgit v1.2.3 From 8e33666813b7ab5f46746a1c294c8e5baa6b08ef Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 3 Apr 2014 12:18:17 -0400 Subject: Fixed a bad get of 'dcterms:rights' and am throwing away the idea of an external context file for the json-ld because it feels unnecessary seeing as we are just using the dc core terms --- mediagoblin/gmg_commands/batchaddmedia.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index fe345d5f..68993aa2 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,7 +15,7 @@ # along with this program. If not, see . import os -import json, tempfile, urllib, tarfile, zipfile, subprocess +import tempfile, urllib, tarfile, zipfile, subprocess from csv import reader as csv_reader from urlparse import urlparse from pyld import jsonld @@ -149,7 +149,7 @@ zip files and directories" title = file_metadata.get('dcterms:title') description = file_metadata.get('dcterms:description') - license = file_metadata.get('dcterms:license') + license = file_metadata.get('dcterms:rights') filename = url.path.split()[-1] if url.scheme == 'http': @@ -201,7 +201,6 @@ FAIL: Local file {filename} could not be accessed.".format(filename=filename) teardown(temp_files) - def parse_csv_file(file_contents): list_of_contents = file_contents.split('\n') key, lines = (list_of_contents[0].split(','), @@ -219,16 +218,16 @@ def parse_csv_file(file_contents): return objects_dict + def teardown(temp_files): for temp_file in temp_files: subprocess.call(['rm','-r',temp_file]) + def check_metadata_format(metadata_dict): - schema = json.loads(""" -{ + schema = { "$schema":"http://json-schema.org/schema#", "properties":{ - "@context":{}, "media:id":{}, "dcterms:contributor":{}, "dcterms:coverage":{}, @@ -250,13 +249,14 @@ def check_metadata_format(metadata_dict): "dcterms:title":{}, "dcterms:type":{} }, - "additionalProperties": false, - "required":["dcterms:title","@context","media:id","bell"] -}""") - metadata_dict["@context"] = u"http://127.0.0.1:6543/metadata_context/v1/" + "additionalProperties": False, + "required":["dcterms:title","media:id"] +} try: validate(metadata_dict, schema) output_dict = metadata_dict + del output_dict['media:id'] + except ValidationError, exc: title = (metadata_dict.get('dcterms:title') or metadata_dict.get('media:id') or _(u'UNKNOWN FILE')) @@ -280,4 +280,5 @@ a "dcterms:title" column for each media file'.format(title=title)) output_dict = {} except: raise + return output_dict -- cgit v1.2.3 From fb60426ed1263de092ebc27afb96175d55ae7095 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 3 Apr 2014 12:20:30 -0400 Subject: Took out all of the references to the temporary url I was using /metadata_context/v1 --- mediagoblin/routing.py | 2 - .../templates/mediagoblin/metadata_contexts/v1 | 70 ---------------------- mediagoblin/views.py | 6 -- 3 files changed, 78 deletions(-) delete mode 100644 mediagoblin/templates/mediagoblin/metadata_contexts/v1 diff --git a/mediagoblin/routing.py b/mediagoblin/routing.py index a6b2a543..9f2584d3 100644 --- a/mediagoblin/routing.py +++ b/mediagoblin/routing.py @@ -29,8 +29,6 @@ def get_url_map(): add_route('index', '/', 'mediagoblin.views:root_view') add_route('terms_of_service','/terms_of_service', 'mediagoblin.views:terms_of_service'), - add_route('metadata_context','/metadata_context/v/', - 'mediagoblin.views:metadata_context_view'), mount('/auth', auth_routes) mount('/mod', moderation_routes) diff --git a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 deleted file mode 100644 index 99882de2..00000000 --- a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 +++ /dev/null @@ -1,70 +0,0 @@ -{ - "@context": { - "dcterms": "http://purl.org/dc/elements/1.1/", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "contributor":{ - "@id":"dcterms:title", - "@type":"xsd:string" - }, - "coverage":{ - "@id":"dcterms:coverage", - "@type":"xsd:string" - }, - "created":{ - "@id":"dcterms:created", - "@type":"xsd:date" - }, - "creator":{ - "@id":"dcterms:created", - "@type":"xsd:date" - }, - "date":{ - "@id":"dcterms:date", - "@type":"xsd:date" - }, - "description":{ - "@id":"dcterms:description", - "@type":"xsd:string" - }, - "format":{ - "@id":"dcterms:format", - "@type":"xsd:string" - }, - "identifier":{ - "@id":"dcterms:identifier", - "@type":"xsd:string" - }, - "language":{ - "@id":"dcterms:language", - "@type":"xsd:string" - }, - "publisher":{ - "@id":"dcterms:publisher", - "@type":"xsd:string" - }, - "relation":{ - "@id":"dcterms:relation", - "@type":"xsd:string" - }, - "rights":{ - "@id":"dcterms:rights", - "@type":"xsd:anyURI" - }, - "source":{ - "@id":"dcterms:source", - "@type":"xsd:string" - }, - "subject":{ - "@id":"dcterms:subject", - "@type":"xsd:string" - }, - "title": { - "@id":"dcterms:title", - "@type":"xsd:string" - }, - "type":{ - "@id":"dcterms:type", - "@type":"xsd:string" - } - } -} diff --git a/mediagoblin/views.py b/mediagoblin/views.py index 1ed71473..009e48e4 100644 --- a/mediagoblin/views.py +++ b/mediagoblin/views.py @@ -62,9 +62,3 @@ def terms_of_service(request): return render_to_response(request, 'mediagoblin/terms_of_service.html', {}) - -def metadata_context_view(request): - version = request.matchdict['version_number'] - return render_to_response(request, - 'mediagoblin/metadata_contexts/v{version}'.format( - version=version), {}) -- cgit v1.2.3 From 6fa9b06f9a7d9f33b2e891ff615395dfbb20c18e Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Fri, 11 Apr 2014 13:06:09 -0400 Subject: Fixed incorrectly coded references to filesystem paths --- mediagoblin/gmg_commands/batchaddmedia.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 68993aa2..b058a47e 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -98,10 +98,8 @@ zip files and directories" if dir_path.endswith('/'): dir_path = dir_path[:-1] - location_file_path = "{dir_path}/location.csv".format( - dir_path=dir_path) - metadata_file_path = "{dir_path}/metadata.csv".format( - dir_path=dir_path) + location_file_path = os.path.join(dir_path,"location.csv") + metadata_file_path = os.path.join(dir_path, "metadata.csv") # check for the location file, if it exists... location_filename = os.path.split(location_file_path)[-1] @@ -163,9 +161,7 @@ zip files and directories" if os.path.isabs(path): file_abs_path = os.path.abspath(path) else: - file_path = "{dir_path}/{local_path}".format( - dir_path=dir_path, - local_path=path) + file_path = os.path.join(dir_path, path) file_abs_path = os.path.abspath(file_path) try: media_file = file(file_abs_path, 'r') -- cgit v1.2.3 From fbb13abe9a22d08c3a2b86245cf02c1363c36d86 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 15 Apr 2014 13:35:22 -0400 Subject: Added the 'requests' library as a dependency and switched over to using it to fetch remote pieces of media in the batchupload script --- mediagoblin/gmg_commands/batchaddmedia.py | 9 ++++----- setup.py | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index b058a47e..deb6c5bd 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,9 +15,10 @@ # along with this program. If not, see . import os -import tempfile, urllib, tarfile, zipfile, subprocess +import tempfile, tarfile, zipfile, subprocess, requests from csv import reader as csv_reader from urlparse import urlparse +import requests from pyld import jsonld from mediagoblin.gmg_commands import util as commands_util @@ -151,10 +152,8 @@ zip files and directories" filename = url.path.split()[-1] if url.scheme == 'http': - media_file = tempfile.TemporaryFile() - res = urllib.urlopen(url.geturl()) - media_file.write(res.read()) - media_file.seek(0) + res = requests.get(url.geturl()) + media_file = res.raw elif url.scheme == '': path = url.path diff --git a/setup.py b/setup.py index 93873d73..12739ffd 100644 --- a/setup.py +++ b/setup.py @@ -67,6 +67,7 @@ try: 'oauthlib==0.5.0', 'unidecode', 'jsonschema', + 'requests', ## Annoying. Please remove once we can! We only indirectly ## use pbr, and currently it breaks things, presumably till -- cgit v1.2.3 From b91df79041f59ec87ad2e6f48ca6aa2a78de3c1d Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 15 Apr 2014 13:51:27 -0400 Subject: Moved the metadata column to MediaEntry rather than MediaFile --- mediagoblin/db/migrations.py | 8 ++++---- mediagoblin/db/models.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index a7400bf0..294ab43b 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -723,12 +723,12 @@ def drop_MediaEntry_collected(db): db.commit() @RegisterMigration(20, MIGRATIONS) -def add_work_metadata_column(db): +def add_metadata_column(db): metadata = MetaData(bind=db.bind) - media_file = inspect_table(metadata, 'core__mediafiles') + media_entry = inspect_table(metadata, 'core__media_entries') - col = Column('work_metadata', MutationDict.as_mutable(JSONEncoded)) - col.create(media_file) + col = Column('metadata', MutationDict.as_mutable(JSONEncoded)) + col.create(media_entry) db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index ac69d040..7c0f0bf3 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -264,6 +264,7 @@ class MediaEntry(Base, MediaEntryMixin): cascade="all, delete-orphan" ) collections = association_proxy("collections_helper", "in_collection") + metadata = Column(MutationDict.as_mutable(JSONEncoded)) ## TODO # fail_error @@ -420,7 +421,6 @@ class MediaFile(Base): name_id = Column(SmallInteger, ForeignKey(FileKeynames.id), nullable=False) file_path = Column(PathTupleWithSlashes) file_metadata = Column(MutationDict.as_mutable(JSONEncoded)) - work_metadata = Column(MutationDict.as_mutable(JSONEncoded)) __table_args__ = ( PrimaryKeyConstraint('media_entry', 'name_id'), -- cgit v1.2.3 From 89b6b55766f71466ec001398b2537569543dc175 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 15 Apr 2014 14:17:43 -0400 Subject: Changed the name of the metadata column --- mediagoblin/db/migrations.py | 2 +- mediagoblin/db/models.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 294ab43b..8dac3214 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -728,7 +728,7 @@ def add_metadata_column(db): media_entry = inspect_table(metadata, 'core__media_entries') - col = Column('metadata', MutationDict.as_mutable(JSONEncoded)) + col = Column('media_metadata', MutationDict.as_mutable(JSONEncoded)) col.create(media_entry) db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 7c0f0bf3..defa0849 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -264,7 +264,7 @@ class MediaEntry(Base, MediaEntryMixin): cascade="all, delete-orphan" ) collections = association_proxy("collections_helper", "in_collection") - metadata = Column(MutationDict.as_mutable(JSONEncoded)) + media_metadata = Column(MutationDict.as_mutable(JSONEncoded)) ## TODO # fail_error -- cgit v1.2.3 From 2dd966b5e2c6c406d153e2d4cdf886e30198a1d3 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 6 Feb 2014 15:15:57 -0500 Subject: In this commit, I added a new column which will be used for RDFa metadata of media. --- mediagoblin/db/migrations.py | 12 ++++++++++++ mediagoblin/db/models.py | 1 + 2 files changed, 13 insertions(+) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 426080a2..a7400bf0 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -31,6 +31,7 @@ from mediagoblin.db.migration_tools import ( RegisterMigration, inspect_table, replace_table_hack) from mediagoblin.db.models import (MediaEntry, Collection, MediaComment, User, Privilege) +from mediagoblin.db.extratypes import JSONEncoded, MutationDict MIGRATIONS = {} @@ -720,3 +721,14 @@ def drop_MediaEntry_collected(db): media_collected.drop() db.commit() + +@RegisterMigration(20, MIGRATIONS) +def add_work_metadata_column(db): + metadata = MetaData(bind=db.bind) + + media_file = inspect_table(metadata, 'core__mediafiles') + + col = Column('work_metadata', MutationDict.as_mutable(JSONEncoded)) + col.create(media_file) + + db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index b750375d..ac69d040 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -420,6 +420,7 @@ class MediaFile(Base): name_id = Column(SmallInteger, ForeignKey(FileKeynames.id), nullable=False) file_path = Column(PathTupleWithSlashes) file_metadata = Column(MutationDict.as_mutable(JSONEncoded)) + work_metadata = Column(MutationDict.as_mutable(JSONEncoded)) __table_args__ = ( PrimaryKeyConstraint('media_entry', 'name_id'), -- cgit v1.2.3 From ec5a385ada3401d6aab65c334b44ce5492ad032a Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 18 Mar 2014 16:49:48 -0400 Subject: Big update. I added in a json-ld context file which will be used in all our metadata columns in the future. The context describes the dublin core elements. It still has not been finalized however. --- mediagoblin/routing.py | 4 +- .../templates/mediagoblin/metadata_contexts/v1 | 70 ++++++++++++++++++++++ mediagoblin/views.py | 6 ++ setup.py | 2 + 4 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 mediagoblin/templates/mediagoblin/metadata_contexts/v1 diff --git a/mediagoblin/routing.py b/mediagoblin/routing.py index 1393f01c..a6b2a543 100644 --- a/mediagoblin/routing.py +++ b/mediagoblin/routing.py @@ -28,7 +28,9 @@ _log = logging.getLogger(__name__) def get_url_map(): add_route('index', '/', 'mediagoblin.views:root_view') add_route('terms_of_service','/terms_of_service', - 'mediagoblin.views:terms_of_service') + 'mediagoblin.views:terms_of_service'), + add_route('metadata_context','/metadata_context/v/', + 'mediagoblin.views:metadata_context_view'), mount('/auth', auth_routes) mount('/mod', moderation_routes) diff --git a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 new file mode 100644 index 00000000..1325d920 --- /dev/null +++ b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 @@ -0,0 +1,70 @@ +{ + "@context": { + "dc": "http://purl.org/dc/elements/1.1/", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "contributor":{ + "@id":"dc:title", + "@type":"xsd:string" + }, + "coverage":{ + "@id":"dc:coverage", + "@type":"xsd:string" + }, + "created":{ + "@id":"dc:created", + "@type":"xsd:date" + }, + "creator":{ + "@id":"dc:created", + "@type":"xsd:date" + }, + "date":{ + "@id":"dc:date", + "@type":"xsd:date" + }, + "description":{ + "@id":"dc:description", + "@type":"xsd:string" + }, + "format":{ + "@id":"dc:format", + "@type":"xsd:string" + }, + "identifier":{ + "@id":"dc:identifier", + "@type":"xsd:string" + }, + "language":{ + "@id":"dc:language", + "@type":"xsd:string" + }, + "publisher":{ + "@id":"dc:publisher", + "@type":"xsd:string" + }, + "relation":{ + "@id":"dc:relation", + "@type":"xsd:string" + }, + "rights":{ + "@id":"dc:rights", + "@type":"xsd:anyURI" + }, + "source":{ + "@id":"dc:source", + "@type":"xsd:string" + }, + "subject":{ + "@id":"dc:subject", + "@type":"xsd:string" + }, + "title": { + "@id":"dc:title", + "@type":"xsd:string" + }, + "type":{ + "@id":"dc:type", + "@type":"xsd:string" + } + } +} diff --git a/mediagoblin/views.py b/mediagoblin/views.py index 009e48e4..1ed71473 100644 --- a/mediagoblin/views.py +++ b/mediagoblin/views.py @@ -62,3 +62,9 @@ def terms_of_service(request): return render_to_response(request, 'mediagoblin/terms_of_service.html', {}) + +def metadata_context_view(request): + version = request.matchdict['version_number'] + return render_to_response(request, + 'mediagoblin/metadata_contexts/v{version}'.format( + version=version), {}) diff --git a/setup.py b/setup.py index 59f0ab8f..15fd913c 100644 --- a/setup.py +++ b/setup.py @@ -66,8 +66,10 @@ try: 'mock', 'itsdangerous', 'pytz', + 'six>=1.4.1', 'oauthlib==0.5.0', 'unidecode', + 'jsonschema', 'ExifRead', # PLEASE change this when we can; a dependency is forcing us to set this -- cgit v1.2.3 From 8aa015978c970d26992b3b405d3e58401b4b81e2 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 6 Feb 2014 15:17:06 -0500 Subject: This branch will create a commandline bulk-upload script. So far, I have written the code to read csv files into a usable dictionary. --- mediagoblin/gmg_commands/__init__.py | 4 ++ mediagoblin/gmg_commands/batchaddmedia.py | 110 ++++++++++++++++++++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 mediagoblin/gmg_commands/batchaddmedia.py diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index a1eb599d..1460733f 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -53,6 +53,10 @@ SUBCOMMAND_MAP = { 'setup': 'mediagoblin.gmg_commands.addmedia:parser_setup', 'func': 'mediagoblin.gmg_commands.addmedia:addmedia', 'help': 'Reprocess media entries'}, + 'batchaddmedia': { + 'setup': 'mediagoblin.gmg_commands.batchaddmedia:parser_setup', + 'func': 'mediagoblin.gmg_commands.batchaddmedia:batchaddmedia', + 'help': 'Reprocess many media entries'} # 'theme': { # 'setup': 'mediagoblin.gmg_commands.theme:theme_parser_setup', # 'func': 'mediagoblin.gmg_commands.theme:theme', diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py new file mode 100644 index 00000000..1c0f6784 --- /dev/null +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -0,0 +1,110 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import os + +from mediagoblin.gmg_commands import util as commands_util +from mediagoblin.submit.lib import ( + submit_media, get_upload_file_limits, + FileUploadLimit, UserUploadLimit, UserPastUploadLimit) + +from mediagoblin import mg_globals +import json, csv + +def parser_setup(subparser): + subparser.add_argument( + 'username', + help="Name of user this media entry belongs to") + subparser.add_argument( + 'locationfile', + help=( +"Local file on filesystem with the address of all the files to be uploaded")) + subparser.add_argument( + 'metadatafile', + help=( +"Local file on filesystem with metadata of all the files to be uploaded")) + subparser.add_argument( + "-l", "--license", + help=( + "License these media entry will be released under, if all the same" + "Should be a URL.")) + subparser.add_argument( + '--celery', + action='store_true', + help="Don't process eagerly, pass off to celery") + + +def batchaddmedia(args): + # Run eagerly unless explicetly set not to + if not args.celery: + os.environ['CELERY_ALWAYS_EAGER'] = 'true' + + app = commands_util.setup_app(args) + + # get the user + user = app.db.User.query.filter_by(username=args.username.lower()).first() + if user is None: + print "Sorry, no user by username '%s'" % args.username + return + + # check for the location file, if it exists... + location_filename = os.path.split(args.locationfile)[-1] + abs_location_filename = os.path.abspath(args.locationfile) + if not os.path.exists(abs_location_filename): + print "Can't find a file with filename '%s'" % args.locationfile + return + + # check for the location file, if it exists... + metadata_filename = os.path.split(args.metadatafile)[-1] + abs_metadata_filename = os.path.abspath(args.metadatafile) + if not os.path.exists(abs_metadata_filename): + print "Can't find a file with filename '%s'" % args.metadatafile + return + + upload_limit, max_file_size = get_upload_file_limits(user) + + def maybe_unicodeify(some_string): + # this is kinda terrible + if some_string is None: + return None + else: + return unicode(some_string) + + with file(abs_location_filename, 'r') as all_locations: + contents = all_locations.read() + media_locations = parse_csv_file(contents) + + with file(abs_metadata_filename, 'r') as all_metadata: + contents = all_metadata.read() + media_metadata = parse_csv_file(contents) + +def parse_csv_file(file_contents): + list_of_contents = file_contents.split('\n') + key, lines = (list_of_contents[0].split(','), + list_of_contents[1:]) + list_of_objects = [] + + # Build a dictionary + for line in lines: + if line.isspace() or line == '': continue + values = csv.reader([line]).next() + new_dict = dict([(key[i], val) + for i, val in enumerate(values)]) + list_of_objects.append(new_dict) + + return list_of_objects + + -- cgit v1.2.3 From 268f243074fd4cd97017062e4a9e9afd0a860b32 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 12 Feb 2014 14:37:00 -0500 Subject: The script now officially works! It works in many different situations, whether the media is to be uploaded is stored locally or on the web. Still have to clean up the code and look for errors. I may also refactor some of this into a functi- on to be used with a GUI frontend in another project. Lastly, I need to merge this with the metadata branch I've been working on, and convert the metadata.csv information into the proper format for the new metadata column. --- mediagoblin/gmg_commands/batchaddmedia.py | 130 +++++++++++++++++++++++++----- 1 file changed, 111 insertions(+), 19 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 1c0f6784..7d7a2d4f 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,6 +15,10 @@ # along with this program. If not, see . import os +import json, tempfile, urllib, tarfile, subprocess +from csv import reader as csv_reader +from urlparse import urlparse +from pyld import jsonld from mediagoblin.gmg_commands import util as commands_util from mediagoblin.submit.lib import ( @@ -22,20 +26,26 @@ from mediagoblin.submit.lib import ( FileUploadLimit, UserUploadLimit, UserPastUploadLimit) from mediagoblin import mg_globals -import json, csv def parser_setup(subparser): subparser.add_argument( 'username', help="Name of user this media entry belongs to") - subparser.add_argument( - 'locationfile', + target_type = subparser.add_mutually_exclusive_group() + target_type.add_argument('-d', + '--directory', action='store_const', + const='directory', dest='target_type', + default='directory', help=( +"Target is a directory")) + target_type.add_argument('-a', + '--archive', action='store_const', + const='archive', dest='target_type', help=( -"Local file on filesystem with the address of all the files to be uploaded")) +"Target is an archive.")) subparser.add_argument( - 'metadatafile', + 'target_path', help=( -"Local file on filesystem with metadata of all the files to be uploaded")) +"Path to a local archive or directory containing a location.csv and metadata.csv file")) subparser.add_argument( "-l", "--license", help=( @@ -59,19 +69,36 @@ def batchaddmedia(args): if user is None: print "Sorry, no user by username '%s'" % args.username return + + upload_limit, max_file_size = get_upload_file_limits(user) + temp_files = [] + + if args.target_type == 'archive': + dir_path = tempfile.mkdtemp() + temp_files.append(dir_path) + tar = tarfile.open(args.target_path) + tar.extractall(path=dir_path) + + elif args.target_type == 'directory': + dir_path = args.target_path + + location_file_path = "{dir_path}/location.csv".format( + dir_path=dir_path) + metadata_file_path = "{dir_path}/metadata.csv".format( + dir_path=dir_path) # check for the location file, if it exists... - location_filename = os.path.split(args.locationfile)[-1] - abs_location_filename = os.path.abspath(args.locationfile) + location_filename = os.path.split(location_file_path)[-1] + abs_location_filename = os.path.abspath(location_file_path) if not os.path.exists(abs_location_filename): - print "Can't find a file with filename '%s'" % args.locationfile + print "Can't find a file with filename '%s'" % location_file_path return - # check for the location file, if it exists... - metadata_filename = os.path.split(args.metadatafile)[-1] - abs_metadata_filename = os.path.abspath(args.metadatafile) + # check for the metadata file, if it exists... + metadata_filename = os.path.split(metadata_file_path)[-1] + abs_metadata_filename = os.path.abspath(metadata_file_path) if not os.path.exists(abs_metadata_filename): - print "Can't find a file with filename '%s'" % args.metadatafile + print "Can't find a file with filename '%s'" % metadata_file_path return upload_limit, max_file_size = get_upload_file_limits(user) @@ -91,20 +118,85 @@ def batchaddmedia(args): contents = all_metadata.read() media_metadata = parse_csv_file(contents) + dcterms_context = { 'dcterms':'http://purl.org/dc/terms/' } + + for media_id in media_locations.keys(): + file_metadata = media_metadata[media_id] + json_ld_metadata = jsonld.compact(file_metadata, dcterms_context) + original_location = media_locations[media_id]['media:original'] + url = urlparse(original_location) + + title = file_metadata.get('dcterms:title') + description = file_metadata.get('dcterms:description') + license = file_metadata.get('dcterms:license') + filename = url.path.split()[-1] + print "Working with {filename}".format(filename=filename) + + if url.scheme == 'http': + print "Downloading {filename}...".format( + filename=filename) + media_file = tempfile.TemporaryFile() + res = urllib.urlopen(url.geturl()) + media_file.write(res.read()) + media_file.seek(0) + + elif url.scheme == '': + path = url.path + if os.path.isabs(path): + file_abs_path = os.path.abspath(path) + else: + file_path = "{dir_path}/{local_path}".format( + dir_path=dir_path, + local_path=path) + file_abs_path = os.path.abspath(file_path) + try: + media_file = file(file_abs_path, 'r') + except IOError: + print "Local file {filename} could not be accessed.".format( + filename=filename) + print "Skipping it." + continue + print "Submitting {filename}...".format(filename=filename) + try: + submit_media( + mg_app=app, + user=user, + submitted_file=media_file, + filename=filename, + title=maybe_unicodeify(title), + description=maybe_unicodeify(description), + license=maybe_unicodeify(license), + tags_string=u"", + upload_limit=upload_limit, max_file_size=max_file_size) + print "Successfully uploading {filename}!".format(filename=filename) + print "" + except FileUploadLimit: + print "This file is larger than the upload limits for this site." + except UserUploadLimit: + print "This file will put this user past their upload limits." + except UserPastUploadLimit: + print "This user is already past their upload limits." + teardown(temp_files) + + + def parse_csv_file(file_contents): list_of_contents = file_contents.split('\n') key, lines = (list_of_contents[0].split(','), list_of_contents[1:]) - list_of_objects = [] + objects_dict = {} # Build a dictionary for line in lines: if line.isspace() or line == '': continue - values = csv.reader([line]).next() - new_dict = dict([(key[i], val) + values = csv_reader([line]).next() + line_dict = dict([(key[i], val) for i, val in enumerate(values)]) - list_of_objects.append(new_dict) + media_id = line_dict['media:id'] + objects_dict[media_id] = (line_dict) - return list_of_objects + return objects_dict - +def teardown(temp_files): + for temp_file in temp_files: + subprocess.call(['rm','-r',temp_file]) -- cgit v1.2.3 From 6c37aeaa33aa21d6937e392185df4d0f6bffef7a Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 13 Feb 2014 13:57:10 -0500 Subject: Minor change in the wording of argparsing. --- mediagoblin/gmg_commands/batchaddmedia.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 7d7a2d4f..2fd36dfb 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -36,12 +36,12 @@ def parser_setup(subparser): '--directory', action='store_const', const='directory', dest='target_type', default='directory', help=( -"Target is a directory")) +"Choose this option is the target is a directory.")) target_type.add_argument('-a', '--archive', action='store_const', const='archive', dest='target_type', help=( -"Target is an archive.")) +"Choose this option if the target is an archive.")) subparser.add_argument( 'target_path', help=( -- cgit v1.2.3 From 28ecc53a5aed89b5d567e0245e06aa5f34bd371d Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 19 Feb 2014 14:27:14 -0500 Subject: I made it so the command no longer requires the "Target type" to be provided, it now recognizes whether the target is a directory or an archive on its own. I added in a help message, which is still incomplete, but should make it easier for admins to know how to use this new command. I believe we should also provi- -de an example of the location.csv and metadata.csv files, so there is no conf- -usion. Also, I made it possible for the command to recognize zip files as a valid archive. I also made some minor changes to the commands description w/i the larger gmg command help menu. --- mediagoblin/gmg_commands/__init__.py | 2 +- mediagoblin/gmg_commands/batchaddmedia.py | 55 ++++++++++++++++++------------- 2 files changed, 34 insertions(+), 23 deletions(-) diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index 1460733f..55e85116 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -56,7 +56,7 @@ SUBCOMMAND_MAP = { 'batchaddmedia': { 'setup': 'mediagoblin.gmg_commands.batchaddmedia:parser_setup', 'func': 'mediagoblin.gmg_commands.batchaddmedia:batchaddmedia', - 'help': 'Reprocess many media entries'} + 'help': 'Add many media entries at once'} # 'theme': { # 'setup': 'mediagoblin.gmg_commands.theme:theme_parser_setup', # 'func': 'mediagoblin.gmg_commands.theme:theme', diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 2fd36dfb..d3ab7733 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,7 +15,7 @@ # along with this program. If not, see . import os -import json, tempfile, urllib, tarfile, subprocess +import json, tempfile, urllib, tarfile, zipfile, subprocess from csv import reader as csv_reader from urlparse import urlparse from pyld import jsonld @@ -28,29 +28,28 @@ from mediagoblin.submit.lib import ( from mediagoblin import mg_globals def parser_setup(subparser): + subparser.description = """\ +This command allows the administrator to upload many media files at once.""" subparser.add_argument( 'username', - help="Name of user this media entry belongs to") - target_type = subparser.add_mutually_exclusive_group() - target_type.add_argument('-d', - '--directory', action='store_const', - const='directory', dest='target_type', - default='directory', help=( -"Choose this option is the target is a directory.")) - target_type.add_argument('-a', - '--archive', action='store_const', - const='archive', dest='target_type', - help=( -"Choose this option if the target is an archive.")) + help="Name of user these media entries belong to") subparser.add_argument( 'target_path', - help=( -"Path to a local archive or directory containing a location.csv and metadata.csv file")) + help=("""\ +Path to a local archive or directory containing a "location.csv" and a +"metadata.csv" file. These are csv (comma seperated value) files with the +locations and metadata of the files to be uploaded. The location must be listed +with either the URL of the remote media file or the filesystem path of a local +file. The metadata should be provided with one column for each of the 15 Dublin +Core properties (http://dublincore.org/documents/dces/). Both "location.csv" and +"metadata.csv" must begin with a row demonstrating the order of the columns. We +have provided an example of these files at +""")) subparser.add_argument( "-l", "--license", help=( - "License these media entry will be released under, if all the same" - "Should be a URL.")) + "License these media entry will be released under, if all the same. " + "Should be a URL.")) subparser.add_argument( '--celery', action='store_true', @@ -67,26 +66,38 @@ def batchaddmedia(args): # get the user user = app.db.User.query.filter_by(username=args.username.lower()).first() if user is None: - print "Sorry, no user by username '%s'" % args.username + print "Sorry, no user by username '%s' exists" % args.username return upload_limit, max_file_size = get_upload_file_limits(user) temp_files = [] - if args.target_type == 'archive': + if tarfile.is_tarfile(args.target_path): dir_path = tempfile.mkdtemp() temp_files.append(dir_path) tar = tarfile.open(args.target_path) tar.extractall(path=dir_path) - elif args.target_type == 'directory': + elif zipfile.is_zipfile(args.target_path): + dir_path = tempfile.mkdtemp() + temp_files.append(dir_path) + zipped_file = zipfile.ZipFile(args.target_path) + zipped_file.extractall(path=dir_path) + + elif os.path.isdir(args.target_path): dir_path = args.target_path + else: + print "Couldn't recognize the file. This script only accepts tar files,\ +zip files and directories" + if dir_path.endswith('/'): + dir_path = dir_path[:-1] + location_file_path = "{dir_path}/location.csv".format( dir_path=dir_path) metadata_file_path = "{dir_path}/metadata.csv".format( dir_path=dir_path) - + # check for the location file, if it exists... location_filename = os.path.split(location_file_path)[-1] abs_location_filename = os.path.abspath(location_file_path) @@ -178,7 +189,7 @@ def batchaddmedia(args): print "This user is already past their upload limits." teardown(temp_files) - + def parse_csv_file(file_contents): list_of_contents = file_contents.split('\n') -- cgit v1.2.3 From 5c14f62d19abefb99f392cf1a92b07ec0de26bc4 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Fri, 21 Feb 2014 12:38:02 -0500 Subject: Changed some of the print messages as well as tweaked the order of the commands attempts to figure out what type of file the target file is. --- mediagoblin/gmg_commands/batchaddmedia.py | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index d3ab7733..678c8ab4 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -63,6 +63,8 @@ def batchaddmedia(args): app = commands_util.setup_app(args) + files_uploaded, files_attempted = 0, 0 + # get the user user = app.db.User.query.filter_by(username=args.username.lower()).first() if user is None: @@ -72,7 +74,10 @@ def batchaddmedia(args): upload_limit, max_file_size = get_upload_file_limits(user) temp_files = [] - if tarfile.is_tarfile(args.target_path): + if os.path.isdir(args.target_path): + dir_path = args.target_path + + elif tarfile.is_tarfile(args.target_path): dir_path = tempfile.mkdtemp() temp_files.append(dir_path) tar = tarfile.open(args.target_path) @@ -84,9 +89,6 @@ def batchaddmedia(args): zipped_file = zipfile.ZipFile(args.target_path) zipped_file.extractall(path=dir_path) - elif os.path.isdir(args.target_path): - dir_path = args.target_path - else: print "Couldn't recognize the file. This script only accepts tar files,\ zip files and directories" @@ -141,11 +143,9 @@ zip files and directories" description = file_metadata.get('dcterms:description') license = file_metadata.get('dcterms:license') filename = url.path.split()[-1] - print "Working with {filename}".format(filename=filename) + files_attempted += 1 if url.scheme == 'http': - print "Downloading {filename}...".format( - filename=filename) media_file = tempfile.TemporaryFile() res = urllib.urlopen(url.geturl()) media_file.write(res.read()) @@ -163,11 +163,10 @@ zip files and directories" try: media_file = file(file_abs_path, 'r') except IOError: - print "Local file {filename} could not be accessed.".format( - filename=filename) + print "\ +FAIL: Local file {filename} could not be accessed.".format(filename=filename) print "Skipping it." continue - print "Submitting {filename}...".format(filename=filename) try: submit_media( mg_app=app, @@ -181,12 +180,17 @@ zip files and directories" upload_limit=upload_limit, max_file_size=max_file_size) print "Successfully uploading {filename}!".format(filename=filename) print "" + files_uploaded += 1 except FileUploadLimit: - print "This file is larger than the upload limits for this site." + print "FAIL: This file is larger than the upload limits for this site." except UserUploadLimit: - print "This file will put this user past their upload limits." + print "FAIL: This file will put this user past their upload limits." except UserPastUploadLimit: - print "This user is already past their upload limits." + print "FAIL: This user is already past their upload limits." + print "\ +{files_uploaded} out of {files_attempted} files successfully uploaded".format( + files_uploaded=files_uploaded, + files_attempted=files_attempted) teardown(temp_files) -- cgit v1.2.3 From 3e76b2bc7712e012bdb2f971961adf96741e0df3 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 13:31:04 -0400 Subject: Began work on metadata validation --- mediagoblin/gmg_commands/batchaddmedia.py | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 678c8ab4..83aea7b7 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -26,6 +26,7 @@ from mediagoblin.submit.lib import ( FileUploadLimit, UserUploadLimit, UserPastUploadLimit) from mediagoblin import mg_globals +from jsonschema import validate def parser_setup(subparser): subparser.description = """\ @@ -215,3 +216,35 @@ def parse_csv_file(file_contents): def teardown(temp_files): for temp_file in temp_files: subprocess.call(['rm','-r',temp_file]) + +def check_metadata_format(metadata_dict): + schema = json.loads(""" +{ + "$schema":"http://json-schema.org/schema#", + "properties":{ + "@context":{}, + "contributor":{}, + "coverage":{}, + "created":{}, + "creator":{}, + "date":{}, + "description":{}, + "format":{}, + "identifier":{}, + "language":{}, + "publisher":{}, + "relation":{}, + "rights" : { + "format":"uri", + "type":"string" + }, + "source":{}, + "subject":{}, + "title":{}, + "type":{} + }, + "additionalProperties": false, + "required":["title","@context"] +}""") + try: + validate(metadata_dict, schema) -- cgit v1.2.3 From 26b3d6cf27d8653bfcbd8caf9bec4abfb5c16c5a Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 13:55:15 -0400 Subject: Added exception handling into the metadata format checking function. --- mediagoblin/gmg_commands/batchaddmedia.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 83aea7b7..f06bc2e8 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -24,9 +24,11 @@ from mediagoblin.gmg_commands import util as commands_util from mediagoblin.submit.lib import ( submit_media, get_upload_file_limits, FileUploadLimit, UserUploadLimit, UserPastUploadLimit) +from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from mediagoblin import mg_globals -from jsonschema import validate +from jsonschema import validate +from jsonschema.exceptions import ValidationError def parser_setup(subparser): subparser.description = """\ @@ -135,7 +137,10 @@ zip files and directories" dcterms_context = { 'dcterms':'http://purl.org/dc/terms/' } for media_id in media_locations.keys(): - file_metadata = media_metadata[media_id] + file_metadata = media_metadata[media_id] + santized_metadata = check_metadata_format(file_metadata) + if sanitized_metadata == {}: continue + json_ld_metadata = jsonld.compact(file_metadata, dcterms_context) original_location = media_locations[media_id]['media:original'] url = urlparse(original_location) @@ -248,3 +253,14 @@ def check_metadata_format(metadata_dict): }""") try: validate(metadata_dict, schema) + output_dict = metadata_dict + except ValidationError, exc: + title = metadata_dict.get('title') or metadata_dict.get('media:id') or \ + _(u'UNKNOWN FILE') + print _( +u"""WARN: Could not find appropriate metadata for file {title}. File will be +skipped""".format(title=title)) + output_dict = {} + except: + raise + return output_dict -- cgit v1.2.3 From 8c7cccf6cc6d2a4f58d10a116a535854d6ae9e63 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 14:11:12 -0400 Subject: Fixed up some fatal errors. Is still not ready. --- mediagoblin/gmg_commands/batchaddmedia.py | 46 ++++++++++++++++--------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index f06bc2e8..414e969c 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -138,7 +138,7 @@ zip files and directories" for media_id in media_locations.keys(): file_metadata = media_metadata[media_id] - santized_metadata = check_metadata_format(file_metadata) + sanitized_metadata = check_metadata_format(file_metadata) if sanitized_metadata == {}: continue json_ld_metadata = jsonld.compact(file_metadata, dcterms_context) @@ -207,7 +207,7 @@ def parse_csv_file(file_contents): list_of_contents[1:]) objects_dict = {} - # Build a dictionary + # Build a dictionaryfrom mediagoblin.tools.translate import lazy_pass_to_ugettext as _ for line in lines: if line.isspace() or line == '': continue values = csv_reader([line]).next() @@ -228,38 +228,40 @@ def check_metadata_format(metadata_dict): "$schema":"http://json-schema.org/schema#", "properties":{ "@context":{}, - "contributor":{}, - "coverage":{}, - "created":{}, - "creator":{}, - "date":{}, - "description":{}, - "format":{}, - "identifier":{}, - "language":{}, - "publisher":{}, - "relation":{}, - "rights" : { + "dcterms:contributor":{}, + "dcterms:coverage":{}, + "dcterms:created":{}, + "dcterms:creator":{}, + "dcterms:date":{}, + "dcterms:description":{}, + "dcterms:format":{}, + "dcterms:identifier":{}, + "dcterms:language":{}, + "dcterms:publisher":{}, + "dcterms:relation":{}, + "dcterms:rights" : { "format":"uri", "type":"string" }, - "source":{}, - "subject":{}, - "title":{}, - "type":{} + "dcterms:source":{}, + "dcterms:subject":{}, + "dcterms:title":{}, + "dcterms:type":{}, + "media:id":{} }, "additionalProperties": false, - "required":["title","@context"] + "required":["dcterms:title","@context","media:id"] }""") + metadata_dict["@context"] = u"http://127.0.0.1:6543/metadata_context/v1/" try: validate(metadata_dict, schema) output_dict = metadata_dict except ValidationError, exc: - title = metadata_dict.get('title') or metadata_dict.get('media:id') or \ + title = metadata_dict.get('dcterms:title') or metadata_dict.get('media:id') or \ _(u'UNKNOWN FILE') print _( -u"""WARN: Could not find appropriate metadata for file {title}. File will be -skipped""".format(title=title)) +u"""WARN: Could not find appropriate metadata for file {title}. +File will be skipped""".format(title=title)) output_dict = {} except: raise -- cgit v1.2.3 From e46760d3155873803fe3ee0e1d10cd0142eacae1 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 17:10:31 -0400 Subject: Fixed a minor error in the batch upload script and modified the json-ld context. --- mediagoblin/gmg_commands/batchaddmedia.py | 9 +++--- .../templates/mediagoblin/metadata_contexts/v1 | 34 +++++++++++----------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 414e969c..012a5ee4 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -137,6 +137,8 @@ zip files and directories" dcterms_context = { 'dcterms':'http://purl.org/dc/terms/' } for media_id in media_locations.keys(): + files_attempted += 1 + file_metadata = media_metadata[media_id] sanitized_metadata = check_metadata_format(file_metadata) if sanitized_metadata == {}: continue @@ -149,7 +151,6 @@ zip files and directories" description = file_metadata.get('dcterms:description') license = file_metadata.get('dcterms:license') filename = url.path.split()[-1] - files_attempted += 1 if url.scheme == 'http': media_file = tempfile.TemporaryFile() @@ -228,6 +229,7 @@ def check_metadata_format(metadata_dict): "$schema":"http://json-schema.org/schema#", "properties":{ "@context":{}, + "dcterms:contributor":{}, "dcterms:coverage":{}, "dcterms:created":{}, @@ -246,8 +248,7 @@ def check_metadata_format(metadata_dict): "dcterms:source":{}, "dcterms:subject":{}, "dcterms:title":{}, - "dcterms:type":{}, - "media:id":{} + "dcterms:type":{} }, "additionalProperties": false, "required":["dcterms:title","@context","media:id"] @@ -260,7 +261,7 @@ def check_metadata_format(metadata_dict): title = metadata_dict.get('dcterms:title') or metadata_dict.get('media:id') or \ _(u'UNKNOWN FILE') print _( -u"""WARN: Could not find appropriate metadata for file {title}. +u"""WARN: Could not find appropriate metadata for file "{title}". File will be skipped""".format(title=title)) output_dict = {} except: diff --git a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 index 1325d920..99882de2 100644 --- a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 +++ b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 @@ -1,69 +1,69 @@ { "@context": { - "dc": "http://purl.org/dc/elements/1.1/", + "dcterms": "http://purl.org/dc/elements/1.1/", "xsd": "http://www.w3.org/2001/XMLSchema#", "contributor":{ - "@id":"dc:title", + "@id":"dcterms:title", "@type":"xsd:string" }, "coverage":{ - "@id":"dc:coverage", + "@id":"dcterms:coverage", "@type":"xsd:string" }, "created":{ - "@id":"dc:created", + "@id":"dcterms:created", "@type":"xsd:date" }, "creator":{ - "@id":"dc:created", + "@id":"dcterms:created", "@type":"xsd:date" }, "date":{ - "@id":"dc:date", + "@id":"dcterms:date", "@type":"xsd:date" }, "description":{ - "@id":"dc:description", + "@id":"dcterms:description", "@type":"xsd:string" }, "format":{ - "@id":"dc:format", + "@id":"dcterms:format", "@type":"xsd:string" }, "identifier":{ - "@id":"dc:identifier", + "@id":"dcterms:identifier", "@type":"xsd:string" }, "language":{ - "@id":"dc:language", + "@id":"dcterms:language", "@type":"xsd:string" }, "publisher":{ - "@id":"dc:publisher", + "@id":"dcterms:publisher", "@type":"xsd:string" }, "relation":{ - "@id":"dc:relation", + "@id":"dcterms:relation", "@type":"xsd:string" }, "rights":{ - "@id":"dc:rights", + "@id":"dcterms:rights", "@type":"xsd:anyURI" }, "source":{ - "@id":"dc:source", + "@id":"dcterms:source", "@type":"xsd:string" }, "subject":{ - "@id":"dc:subject", + "@id":"dcterms:subject", "@type":"xsd:string" }, "title": { - "@id":"dc:title", + "@id":"dcterms:title", "@type":"xsd:string" }, "type":{ - "@id":"dc:type", + "@id":"dcterms:type", "@type":"xsd:string" } } -- cgit v1.2.3 From 907d9626e356cfcbc6b3e47a92771650a8eee4e1 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 27 Mar 2014 17:29:34 -0400 Subject: Wrote more comprehensive error messages. --- mediagoblin/gmg_commands/batchaddmedia.py | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 012a5ee4..fe345d5f 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -229,7 +229,7 @@ def check_metadata_format(metadata_dict): "$schema":"http://json-schema.org/schema#", "properties":{ "@context":{}, - + "media:id":{}, "dcterms:contributor":{}, "dcterms:coverage":{}, "dcterms:created":{}, @@ -251,18 +251,32 @@ def check_metadata_format(metadata_dict): "dcterms:type":{} }, "additionalProperties": false, - "required":["dcterms:title","@context","media:id"] + "required":["dcterms:title","@context","media:id","bell"] }""") metadata_dict["@context"] = u"http://127.0.0.1:6543/metadata_context/v1/" try: validate(metadata_dict, schema) output_dict = metadata_dict except ValidationError, exc: - title = metadata_dict.get('dcterms:title') or metadata_dict.get('media:id') or \ - _(u'UNKNOWN FILE') - print _( -u"""WARN: Could not find appropriate metadata for file "{title}". -File will be skipped""".format(title=title)) + title = (metadata_dict.get('dcterms:title') or + metadata_dict.get('media:id') or _(u'UNKNOWN FILE')) + + if exc.validator == "additionalProperties": + message = _(u'Invalid metadata provided for file "{title}". This \ +script only accepts the Dublin Core metadata terms.'.format(title=title)) + + elif exc.validator == "required": + message = _( +u'All necessary metadata was not provided for file "{title}", you must include \ +a "dcterms:title" column for each media file'.format(title=title)) + + else: + message = _(u'Could not find appropriate metadata for file \ +"{title}".'.format(title=title)) + + print _(u"""WARN: {message} \nSkipping File...\n""".format( + message=message)) + output_dict = {} except: raise -- cgit v1.2.3 From 77d51d4f3378de8f3bbf54dd4c99e62399688800 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 3 Apr 2014 12:18:17 -0400 Subject: Fixed a bad get of 'dcterms:rights' and am throwing away the idea of an external context file for the json-ld because it feels unnecessary seeing as we are just using the dc core terms --- mediagoblin/gmg_commands/batchaddmedia.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index fe345d5f..68993aa2 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,7 +15,7 @@ # along with this program. If not, see . import os -import json, tempfile, urllib, tarfile, zipfile, subprocess +import tempfile, urllib, tarfile, zipfile, subprocess from csv import reader as csv_reader from urlparse import urlparse from pyld import jsonld @@ -149,7 +149,7 @@ zip files and directories" title = file_metadata.get('dcterms:title') description = file_metadata.get('dcterms:description') - license = file_metadata.get('dcterms:license') + license = file_metadata.get('dcterms:rights') filename = url.path.split()[-1] if url.scheme == 'http': @@ -201,7 +201,6 @@ FAIL: Local file {filename} could not be accessed.".format(filename=filename) teardown(temp_files) - def parse_csv_file(file_contents): list_of_contents = file_contents.split('\n') key, lines = (list_of_contents[0].split(','), @@ -219,16 +218,16 @@ def parse_csv_file(file_contents): return objects_dict + def teardown(temp_files): for temp_file in temp_files: subprocess.call(['rm','-r',temp_file]) + def check_metadata_format(metadata_dict): - schema = json.loads(""" -{ + schema = { "$schema":"http://json-schema.org/schema#", "properties":{ - "@context":{}, "media:id":{}, "dcterms:contributor":{}, "dcterms:coverage":{}, @@ -250,13 +249,14 @@ def check_metadata_format(metadata_dict): "dcterms:title":{}, "dcterms:type":{} }, - "additionalProperties": false, - "required":["dcterms:title","@context","media:id","bell"] -}""") - metadata_dict["@context"] = u"http://127.0.0.1:6543/metadata_context/v1/" + "additionalProperties": False, + "required":["dcterms:title","media:id"] +} try: validate(metadata_dict, schema) output_dict = metadata_dict + del output_dict['media:id'] + except ValidationError, exc: title = (metadata_dict.get('dcterms:title') or metadata_dict.get('media:id') or _(u'UNKNOWN FILE')) @@ -280,4 +280,5 @@ a "dcterms:title" column for each media file'.format(title=title)) output_dict = {} except: raise + return output_dict -- cgit v1.2.3 From 7b1ee4711c7ade0d1b4dba90b7199f969b9912b1 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 3 Apr 2014 12:20:30 -0400 Subject: Took out all of the references to the temporary url I was using /metadata_context/v1 --- mediagoblin/routing.py | 2 - .../templates/mediagoblin/metadata_contexts/v1 | 70 ---------------------- mediagoblin/views.py | 6 -- 3 files changed, 78 deletions(-) delete mode 100644 mediagoblin/templates/mediagoblin/metadata_contexts/v1 diff --git a/mediagoblin/routing.py b/mediagoblin/routing.py index a6b2a543..9f2584d3 100644 --- a/mediagoblin/routing.py +++ b/mediagoblin/routing.py @@ -29,8 +29,6 @@ def get_url_map(): add_route('index', '/', 'mediagoblin.views:root_view') add_route('terms_of_service','/terms_of_service', 'mediagoblin.views:terms_of_service'), - add_route('metadata_context','/metadata_context/v/', - 'mediagoblin.views:metadata_context_view'), mount('/auth', auth_routes) mount('/mod', moderation_routes) diff --git a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 b/mediagoblin/templates/mediagoblin/metadata_contexts/v1 deleted file mode 100644 index 99882de2..00000000 --- a/mediagoblin/templates/mediagoblin/metadata_contexts/v1 +++ /dev/null @@ -1,70 +0,0 @@ -{ - "@context": { - "dcterms": "http://purl.org/dc/elements/1.1/", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "contributor":{ - "@id":"dcterms:title", - "@type":"xsd:string" - }, - "coverage":{ - "@id":"dcterms:coverage", - "@type":"xsd:string" - }, - "created":{ - "@id":"dcterms:created", - "@type":"xsd:date" - }, - "creator":{ - "@id":"dcterms:created", - "@type":"xsd:date" - }, - "date":{ - "@id":"dcterms:date", - "@type":"xsd:date" - }, - "description":{ - "@id":"dcterms:description", - "@type":"xsd:string" - }, - "format":{ - "@id":"dcterms:format", - "@type":"xsd:string" - }, - "identifier":{ - "@id":"dcterms:identifier", - "@type":"xsd:string" - }, - "language":{ - "@id":"dcterms:language", - "@type":"xsd:string" - }, - "publisher":{ - "@id":"dcterms:publisher", - "@type":"xsd:string" - }, - "relation":{ - "@id":"dcterms:relation", - "@type":"xsd:string" - }, - "rights":{ - "@id":"dcterms:rights", - "@type":"xsd:anyURI" - }, - "source":{ - "@id":"dcterms:source", - "@type":"xsd:string" - }, - "subject":{ - "@id":"dcterms:subject", - "@type":"xsd:string" - }, - "title": { - "@id":"dcterms:title", - "@type":"xsd:string" - }, - "type":{ - "@id":"dcterms:type", - "@type":"xsd:string" - } - } -} diff --git a/mediagoblin/views.py b/mediagoblin/views.py index 1ed71473..009e48e4 100644 --- a/mediagoblin/views.py +++ b/mediagoblin/views.py @@ -62,9 +62,3 @@ def terms_of_service(request): return render_to_response(request, 'mediagoblin/terms_of_service.html', {}) - -def metadata_context_view(request): - version = request.matchdict['version_number'] - return render_to_response(request, - 'mediagoblin/metadata_contexts/v{version}'.format( - version=version), {}) -- cgit v1.2.3 From 18a9c50db6db680070948fd42043ea0a89deaa6f Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Fri, 11 Apr 2014 13:06:09 -0400 Subject: Fixed incorrectly coded references to filesystem paths --- mediagoblin/gmg_commands/batchaddmedia.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 68993aa2..b058a47e 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -98,10 +98,8 @@ zip files and directories" if dir_path.endswith('/'): dir_path = dir_path[:-1] - location_file_path = "{dir_path}/location.csv".format( - dir_path=dir_path) - metadata_file_path = "{dir_path}/metadata.csv".format( - dir_path=dir_path) + location_file_path = os.path.join(dir_path,"location.csv") + metadata_file_path = os.path.join(dir_path, "metadata.csv") # check for the location file, if it exists... location_filename = os.path.split(location_file_path)[-1] @@ -163,9 +161,7 @@ zip files and directories" if os.path.isabs(path): file_abs_path = os.path.abspath(path) else: - file_path = "{dir_path}/{local_path}".format( - dir_path=dir_path, - local_path=path) + file_path = os.path.join(dir_path, path) file_abs_path = os.path.abspath(file_path) try: media_file = file(file_abs_path, 'r') -- cgit v1.2.3 From ecea4847e8259125dec4617c6f11c7d7e3962925 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 15 Apr 2014 13:35:22 -0400 Subject: Added the 'requests' library as a dependency and switched over to using it to fetch remote pieces of media in the batchupload script --- mediagoblin/gmg_commands/batchaddmedia.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index b058a47e..deb6c5bd 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,9 +15,10 @@ # along with this program. If not, see . import os -import tempfile, urllib, tarfile, zipfile, subprocess +import tempfile, tarfile, zipfile, subprocess, requests from csv import reader as csv_reader from urlparse import urlparse +import requests from pyld import jsonld from mediagoblin.gmg_commands import util as commands_util @@ -151,10 +152,8 @@ zip files and directories" filename = url.path.split()[-1] if url.scheme == 'http': - media_file = tempfile.TemporaryFile() - res = urllib.urlopen(url.geturl()) - media_file.write(res.read()) - media_file.seek(0) + res = requests.get(url.geturl()) + media_file = res.raw elif url.scheme == '': path = url.path -- cgit v1.2.3 From 9f3dc83a6cec48379972b1f99f955b9525e77c32 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 15 Apr 2014 13:51:27 -0400 Subject: Moved the metadata column to MediaEntry rather than MediaFile --- mediagoblin/db/migrations.py | 8 ++++---- mediagoblin/db/models.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index a7400bf0..294ab43b 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -723,12 +723,12 @@ def drop_MediaEntry_collected(db): db.commit() @RegisterMigration(20, MIGRATIONS) -def add_work_metadata_column(db): +def add_metadata_column(db): metadata = MetaData(bind=db.bind) - media_file = inspect_table(metadata, 'core__mediafiles') + media_entry = inspect_table(metadata, 'core__media_entries') - col = Column('work_metadata', MutationDict.as_mutable(JSONEncoded)) - col.create(media_file) + col = Column('metadata', MutationDict.as_mutable(JSONEncoded)) + col.create(media_entry) db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index ac69d040..7c0f0bf3 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -264,6 +264,7 @@ class MediaEntry(Base, MediaEntryMixin): cascade="all, delete-orphan" ) collections = association_proxy("collections_helper", "in_collection") + metadata = Column(MutationDict.as_mutable(JSONEncoded)) ## TODO # fail_error @@ -420,7 +421,6 @@ class MediaFile(Base): name_id = Column(SmallInteger, ForeignKey(FileKeynames.id), nullable=False) file_path = Column(PathTupleWithSlashes) file_metadata = Column(MutationDict.as_mutable(JSONEncoded)) - work_metadata = Column(MutationDict.as_mutable(JSONEncoded)) __table_args__ = ( PrimaryKeyConstraint('media_entry', 'name_id'), -- cgit v1.2.3 From 0bfb4089cc187113a7808eed6643a73c86bb01cb Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 15 Apr 2014 14:17:43 -0400 Subject: Changed the name of the metadata column --- mediagoblin/db/migrations.py | 2 +- mediagoblin/db/models.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 294ab43b..8dac3214 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -728,7 +728,7 @@ def add_metadata_column(db): media_entry = inspect_table(metadata, 'core__media_entries') - col = Column('metadata', MutationDict.as_mutable(JSONEncoded)) + col = Column('media_metadata', MutationDict.as_mutable(JSONEncoded)) col.create(media_entry) db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 7c0f0bf3..defa0849 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -264,7 +264,7 @@ class MediaEntry(Base, MediaEntryMixin): cascade="all, delete-orphan" ) collections = association_proxy("collections_helper", "in_collection") - metadata = Column(MutationDict.as_mutable(JSONEncoded)) + media_metadata = Column(MutationDict.as_mutable(JSONEncoded)) ## TODO # fail_error -- cgit v1.2.3 From 45f426ddee9900439c086a8bb3d1cfaedf3eca6f Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 21 Apr 2014 12:07:33 -0400 Subject: Made it possible to submit media with the metadata provided --- mediagoblin/gmg_commands/batchaddmedia.py | 1 + mediagoblin/submit/lib.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index deb6c5bd..b6fd2763 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -178,6 +178,7 @@ FAIL: Local file {filename} could not be accessed.".format(filename=filename) title=maybe_unicodeify(title), description=maybe_unicodeify(description), license=maybe_unicodeify(license), + metadata=json_ld_metadata, tags_string=u"", upload_limit=upload_limit, max_file_size=max_file_size) print "Successfully uploading {filename}!".format(filename=filename) diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index c70e2731..df3f7b62 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -98,7 +98,7 @@ class UserPastUploadLimit(UploadLimitError): def submit_media(mg_app, user, submitted_file, filename, title=None, description=None, - license=None, tags_string=u"", + license=None, metadata=None, tags_string=u"", upload_limit=None, max_file_size=None, callback_url=None, # If provided we'll do the feed_url update, otherwise ignore @@ -142,6 +142,8 @@ def submit_media(mg_app, user, submitted_file, filename, entry.license = license or None + entry.media_metadata = metadata or u"" + # Process the user's folksonomy "tags" entry.tags = convert_to_tag_list_of_dicts(tags_string) -- cgit v1.2.3 From e00ce53ef63abb20524399518e260c9262cc041b Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 21 Apr 2014 12:18:29 -0400 Subject: I had imported requests twice --- mediagoblin/gmg_commands/batchaddmedia.py | 1 - 1 file changed, 1 deletion(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index b6fd2763..f50425f3 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -18,7 +18,6 @@ import os import tempfile, tarfile, zipfile, subprocess, requests from csv import reader as csv_reader from urlparse import urlparse -import requests from pyld import jsonld from mediagoblin.gmg_commands import util as commands_util -- cgit v1.2.3 From 7ff99dabfbb3e854afe2aba17a79a0aee9062e44 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 21 Apr 2014 12:29:00 -0400 Subject: Fixed a problem that was causing errors in batch uploading remote files. --- mediagoblin/gmg_commands/batchaddmedia.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index f50425f3..61a068d2 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -151,7 +151,7 @@ zip files and directories" filename = url.path.split()[-1] if url.scheme == 'http': - res = requests.get(url.geturl()) + res = requests.get(url.geturl(), stream=True) media_file = res.raw elif url.scheme == '': -- cgit v1.2.3 From 8ccd560ca2c480bb55f8caf1ddc035731eee11ca Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 21 Apr 2014 15:42:57 -0400 Subject: Created the basic structure of the metadata display table in rdfa lite --- .../templates/mediagoblin/user_pages/media.html | 2 ++ .../mediagoblin/utils/metadata_table.html | 37 ++++++++++++++++++++++ mediagoblin/user_pages/lib.py | 3 ++ mediagoblin/user_pages/views.py | 5 +-- 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 mediagoblin/templates/mediagoblin/utils/metadata_table.html diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html index e01cce5c..22971fec 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media.html @@ -18,6 +18,7 @@ {%- extends "mediagoblin/base.html" %} {% import "/mediagoblin/utils/wtforms.html" as wtforms_util %} +{% import "/mediagoblin/utils/metadata_table.html" as metadata_util %} {% from "mediagoblin/utils/pagination.html" import render_pagination %} {% block title %}{{ media.title }} — {{ super() }}{% endblock %} @@ -231,6 +232,7 @@ {% template_hook("media_sideinfo") %} {% block mediagoblin_sidebar %} + {{ metadata_util.render_table(request, media, rdfa_to_readable) }} {% endblock %} diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html new file mode 100644 index 00000000..38b580d5 --- /dev/null +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -0,0 +1,37 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{%- macro render_table(request, media_entry, format_predicate) %} + {%- set metadata=media_entry.media_metadata %} + {%- set metadata_context=metadata['@context'] %} + {%- if metadata %} + + {%- for key, value in metadata.iteritems() if not key=='@context' %} + + + {% if value -%} + + {%- else -%} + + {%- endif -%} + {%- endfor %} +
{{ format_predicate(key) }}{{ value }}
+ {% endif %} +{%- endmacro %} diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py index e5c8defc..83a99cee 100644 --- a/mediagoblin/user_pages/lib.py +++ b/mediagoblin/user_pages/lib.py @@ -116,3 +116,6 @@ def build_report_object(report_form, media_entry=None, comment=None): report_object.reporter_id = report_form.reporter_id.data return report_object +def rdfa_to_readable(rdfa_predicate): + readable = rdfa_predicate.split(u":")[1].capitalize() + return readable diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index 78751a28..f42eae1f 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -28,7 +28,7 @@ from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin.tools.pagination import Pagination from mediagoblin.user_pages import forms as user_forms from mediagoblin.user_pages.lib import (send_comment_email, - add_media_to_collection, build_report_object) + add_media_to_collection, build_report_object, rdfa_to_readable) from mediagoblin.notifications import trigger_notification, \ add_comment_subscription, mark_comment_notification_seen from mediagoblin.tools.pluginapi import hook_transform @@ -152,7 +152,8 @@ def media_home(request, media, page, **kwargs): 'comments': comments, 'pagination': pagination, 'comment_form': comment_form, - 'app_config': mg_globals.app_config} + 'app_config': mg_globals.app_config, + 'rdfa_to_readable':rdfa_to_readable} # Since the media template name gets swapped out for each media # type, normal context hooks don't work if you want to affect all -- cgit v1.2.3 From 0656de67954bc33c92555cbd48d0c51ca20a0e50 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 21 Apr 2014 15:46:02 -0400 Subject: Made it so that the metadata table only shows terms with filled values --- mediagoblin/templates/mediagoblin/utils/metadata_table.html | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html index 38b580d5..166d5716 100644 --- a/mediagoblin/templates/mediagoblin/utils/metadata_table.html +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -24,13 +24,12 @@ {{ prefix }} {{ metadata_context[prefix] }} {%- endfor %}"> {%- for key, value in metadata.iteritems() if not key=='@context' %} - - {{ format_predicate(key) }} - {% if value -%} - {{ value }} - {%- else -%} - - {%- endif -%} + {% if value -%} + + {{ format_predicate(key) }} + {{ value }} + + {%- endif -%} {%- endfor %} {% endif %} -- cgit v1.2.3 From 9f5d388ec01c195ffbacc4a1fd876fb507a6f62d Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 21 Apr 2014 19:07:28 -0400 Subject: In the middle of some major changes --- mediagoblin/gmg_commands/batchaddmedia.py | 26 +++++++++++++++++----- .../mediagoblin/utils/metadata_table.html | 12 +++++----- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 61a068d2..43c24f6d 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -132,7 +132,8 @@ zip files and directories" contents = all_metadata.read() media_metadata = parse_csv_file(contents) - dcterms_context = { 'dcterms':'http://purl.org/dc/terms/' } + metadata_context = { 'dcterms':'http://purl.org/dc/terms/', + 'xsd': 'http://www.w3.org/2001/XMLSchema#'} for media_id in media_locations.keys(): files_attempted += 1 @@ -141,13 +142,14 @@ zip files and directories" sanitized_metadata = check_metadata_format(file_metadata) if sanitized_metadata == {}: continue - json_ld_metadata = jsonld.compact(file_metadata, dcterms_context) + json_ld_metadata = jsonld.compact(build_json_ld_metadata(file_metadata), + metadata_context) original_location = media_locations[media_id]['media:original'] url = urlparse(original_location) - title = file_metadata.get('dcterms:title') - description = file_metadata.get('dcterms:description') - license = file_metadata.get('dcterms:rights') + title = sanitized_metadata.get('dcterms:title') + description = sanitized_metadata.get('dcterms:description') + license = sanitized_metadata.get('dcterms:rights') filename = url.path.split()[-1] if url.scheme == 'http': @@ -218,6 +220,19 @@ def teardown(temp_files): for temp_file in temp_files: subprocess.call(['rm','-r',temp_file]) +def build_json_ld_metadata(metadata_dict): + output_dict = {} + for p in metadata_dict.keys(): + if p in ["dcterms:rights", "dcterms:relation"]: + m_type = "xsd:uri" + elif p in ["dcterms:date", "dcterms:created"]: + m_type = "xsd:date" + else: + m_type = "xsd:string" + description = {"@value": metadata_dict[p], + "@type" : m_type} + output_dict[p] = description + return output_dict def check_metadata_format(metadata_dict): schema = { @@ -250,6 +265,7 @@ def check_metadata_format(metadata_dict): try: validate(metadata_dict, schema) output_dict = metadata_dict + # "media:id" is only for internal use, so we delete it for the output del output_dict['media:id'] except ValidationError, exc: diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html index 166d5716..2eb57af3 100644 --- a/mediagoblin/templates/mediagoblin/utils/metadata_table.html +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -20,14 +20,14 @@ {%- set metadata=media_entry.media_metadata %} {%- set metadata_context=metadata['@context'] %} {%- if metadata %} - - {%- for key, value in metadata.iteritems() if not key=='@context' %} - {% if value -%} +
+ {%- for key, value_dict in metadata.iteritems() if not key=='@context' %} + {% if value_dict['@value'] -%} - + {%- endif -%} {%- endfor %} -- cgit v1.2.3 From 7918f86ac0dd55a7be863bf29a074b4edbe4b656 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 22 Apr 2014 13:32:47 -0400 Subject: Renamed the columns on core__privileges_users table so that they are unique and will not cause any more problems. --- mediagoblin/db/migrations.py | 45 ++++++++++++++++++++++++++++++++++++++++++++ mediagoblin/db/models.py | 4 ++-- 2 files changed, 47 insertions(+), 2 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 426080a2..66b503b5 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -720,3 +720,48 @@ def drop_MediaEntry_collected(db): media_collected.drop() db.commit() + +class PrivilegeUserAssociation_R1(declarative_base()): + __tablename__ = 'rename__privileges_users' + privilege_id = Column( + 'id_of_privilege', + Integer, + ForeignKey(User.id), + primary_key=True) + user_id = Column( + 'id_of_user', + Integer, + ForeignKey(Privilege.id), + primary_key=True) + +@RegisterMigration(20, MIGRATIONS) +def fix_privilege_user_association_table(db): + """ + There was an error in the PrivilegeUserAssociation table that allowed for a + dangerous sql error. We need to the change the name of the columns to be + unique. + """ + metadata = MetaData(bind=db.bind) + + privilege_user_assoc = inspect_table( + metadata, 'core__privileges_users') + PrivilegeUserAssociation_R1.__table__.create(db.bind) + db.commit() + + new_privilege_user_assoc = inspect_table( + metadata, 'rename__privileges_users') + result = db.execute(privilege_user_assoc.select()) + for row in result: + priv_id, user_id = row['core__privilege_id'], row['core__user_id'] + db.execute(new_privilege_user_assoc.insert().values( + id_of_privilege=priv_id, + id_of_user=user_id)) + + db.commit() + + privilege_user_assoc.drop() + new_privilege_user_assoc.rename('core__privileges_users') + + db.commit() + + diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index b750375d..58635419 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -876,12 +876,12 @@ class PrivilegeUserAssociation(Base): __tablename__ = 'core__privileges_users' privilege_id = Column( - 'core__privilege_id', + 'id_of_privilege', Integer, ForeignKey(User.id), primary_key=True) user_id = Column( - 'core__user_id', + 'id_of_user', Integer, ForeignKey(Privilege.id), primary_key=True) -- cgit v1.2.3 From 9adef07e8f0d169e57776bcefc03f2ae17c8920e Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 23 Apr 2014 14:59:53 -0400 Subject: Made the columns properly referenced in models and migrations. --- mediagoblin/db/migrations.py | 17 +++++++---------- mediagoblin/db/models.py | 6 ++---- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 66b503b5..17f8bef4 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -723,13 +723,11 @@ def drop_MediaEntry_collected(db): class PrivilegeUserAssociation_R1(declarative_base()): __tablename__ = 'rename__privileges_users' - privilege_id = Column( - 'id_of_privilege', + user_id = Column( Integer, ForeignKey(User.id), primary_key=True) - user_id = Column( - 'id_of_user', + privilege_id = Column( Integer, ForeignKey(Privilege.id), primary_key=True) @@ -739,7 +737,7 @@ def fix_privilege_user_association_table(db): """ There was an error in the PrivilegeUserAssociation table that allowed for a dangerous sql error. We need to the change the name of the columns to be - unique. + unique, and properly referenced. """ metadata = MetaData(bind=db.bind) @@ -752,10 +750,11 @@ def fix_privilege_user_association_table(db): metadata, 'rename__privileges_users') result = db.execute(privilege_user_assoc.select()) for row in result: - priv_id, user_id = row['core__privilege_id'], row['core__user_id'] + # The columns were improperly named before, so we switch the columns + user_id, priv_id = row['core__privilege_id'], row['core__user_id'] db.execute(new_privilege_user_assoc.insert().values( - id_of_privilege=priv_id, - id_of_user=user_id)) + user_id=user_id, + privilege_id=priv_id)) db.commit() @@ -763,5 +762,3 @@ def fix_privilege_user_association_table(db): new_privilege_user_assoc.rename('core__privileges_users') db.commit() - - diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 58635419..f03cf615 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -875,13 +875,11 @@ class PrivilegeUserAssociation(Base): __tablename__ = 'core__privileges_users' - privilege_id = Column( - 'id_of_privilege', + user_id = Column( Integer, ForeignKey(User.id), primary_key=True) - user_id = Column( - 'id_of_user', + privilege_id = Column( Integer, ForeignKey(Privilege.id), primary_key=True) -- cgit v1.2.3 From 1c7875a18dfdde208f964e82f410edf33b89132b Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Fri, 29 Nov 2013 14:29:56 -0500 Subject: In this commit I made it so that each deployment can have custom settings for which privileges are given to users when they are intiated. These settings are modified in mediagoblin.ini. --- mediagoblin.ini | 1 + mediagoblin/auth/__init__.py | 1 - mediagoblin/auth/tools.py | 14 +++++++++----- mediagoblin/config_spec.ini | 3 +++ 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/mediagoblin.ini b/mediagoblin.ini index fe9d5cd2..216cfc43 100644 --- a/mediagoblin.ini +++ b/mediagoblin.ini @@ -35,6 +35,7 @@ allow_reporting = true ## If you want the terms of service displayed, you can uncomment this # show_tos = true +user_privilege_scheme= "uploader,commenter,reporter" [storage:queuestore] base_dir = %(here)s/user_dev/media/queue diff --git a/mediagoblin/auth/__init__.py b/mediagoblin/auth/__init__.py index be5d0eed..f518a09d 100644 --- a/mediagoblin/auth/__init__.py +++ b/mediagoblin/auth/__init__.py @@ -25,7 +25,6 @@ def create_user(register_form): results = hook_runall("auth_create_user", register_form) return results[0] - def extra_validation(register_form): from mediagoblin.auth.tools import basic_extra_validation diff --git a/mediagoblin/auth/tools.py b/mediagoblin/auth/tools.py index 88716e1c..191a2b9d 100644 --- a/mediagoblin/auth/tools.py +++ b/mediagoblin/auth/tools.py @@ -132,11 +132,7 @@ def register_user(request, register_form): user = auth.create_user(register_form) # give the user the default privileges - default_privileges = [ - Privilege.query.filter(Privilege.privilege_name==u'commenter').first(), - Privilege.query.filter(Privilege.privilege_name==u'uploader').first(), - Privilege.query.filter(Privilege.privilege_name==u'reporter').first()] - user.all_privileges += default_privileges + user.all_privileges += get_default_privileges(user) user.save() # log the user in @@ -151,6 +147,14 @@ def register_user(request, register_form): return None +def get_default_privileges(user): + instance_privilege_scheme = mg_globals.app_config['user_privilege_scheme'] + default_privileges = [Privilege.query.filter( + Privilege.privilege_name==privilege_name).first() + for privilege_name in instance_privilege_scheme.split(',')] + default_privileges = [privilege for privilege in default_privileges if not privilege == None] + + return default_privileges def check_login_simple(username, password): user = auth.get_user(username=username) diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini index cc1ac637..a29b481e 100644 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@ -89,6 +89,9 @@ upload_limit = integer(default=None) # Max file size (in Mb) max_file_size = integer(default=None) +# Privilege scheme +user_privilege_scheme = string(default="") + [jinja2] # Jinja2 supports more directives than the minimum required by mediagoblin. # This setting allows users creating custom templates to specify a list of -- cgit v1.2.3 From f59d8bbef1d5ea492ae9898c0f7b5fdd94662f15 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 28 Apr 2014 16:40:02 -0400 Subject: Fixed some minor whitespace issues --- mediagoblin.ini | 2 +- mediagoblin/auth/tools.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin.ini b/mediagoblin.ini index 216cfc43..4f94b6e4 100644 --- a/mediagoblin.ini +++ b/mediagoblin.ini @@ -35,7 +35,7 @@ allow_reporting = true ## If you want the terms of service displayed, you can uncomment this # show_tos = true -user_privilege_scheme= "uploader,commenter,reporter" +user_privilege_scheme = "uploader,commenter,reporter" [storage:queuestore] base_dir = %(here)s/user_dev/media/queue diff --git a/mediagoblin/auth/tools.py b/mediagoblin/auth/tools.py index 191a2b9d..39df85af 100644 --- a/mediagoblin/auth/tools.py +++ b/mediagoblin/auth/tools.py @@ -150,7 +150,7 @@ def register_user(request, register_form): def get_default_privileges(user): instance_privilege_scheme = mg_globals.app_config['user_privilege_scheme'] default_privileges = [Privilege.query.filter( - Privilege.privilege_name==privilege_name).first() + Privilege.privilege_name==privilege_name).first() for privilege_name in instance_privilege_scheme.split(',')] default_privileges = [privilege for privilege in default_privileges if not privilege == None] -- cgit v1.2.3 From b55b1ad4ad05177e47913e5ba070994ad3b3b654 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 29 Apr 2014 12:44:21 -0400 Subject: Added new template hooks to allow for plugin-added moderation powers --- mediagoblin/templates/mediagoblin/base.html | 1 + 1 file changed, 1 insertion(+) diff --git a/mediagoblin/templates/mediagoblin/base.html b/mediagoblin/templates/mediagoblin/base.html index b4c7eb8b..28b9c63c 100644 --- a/mediagoblin/templates/mediagoblin/base.html +++ b/mediagoblin/templates/mediagoblin/base.html @@ -165,6 +165,7 @@ {%- trans %}Report management panel{% endtrans -%} + {% template_hook("moderation_powers") %}

{% endif %} {% include 'mediagoblin/fragments/header_notifications.html' %} -- cgit v1.2.3 From ce26346a4c17a6e0b81ddd12046f67c4beaa8143 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 1 May 2014 14:21:25 -0400 Subject: Changed the default permission scheme to be the same as the scheme we use in master so that if admins have not set their mediagoblin_local.ini to include this new option, they will notice no difference in use. --- mediagoblin/config_spec.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini index a29b481e..ba2b4519 100644 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@ -90,7 +90,7 @@ upload_limit = integer(default=None) max_file_size = integer(default=None) # Privilege scheme -user_privilege_scheme = string(default="") +user_privilege_scheme = string(default="uploader,commenter,reporter") [jinja2] # Jinja2 supports more directives than the minimum required by mediagoblin. -- cgit v1.2.3 From fffc5dcfe031d30551a91e668b377d443d9267db Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 6 May 2014 12:39:23 -0400 Subject: Created the media metadata editor page --- mediagoblin/edit/forms.py | 5 +++++ mediagoblin/edit/views.py | 13 +++++++++++- .../templates/mediagoblin/edit/metadata.html | 23 ++++++++++++++++++++++ mediagoblin/user_pages/routing.py | 4 ++++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 mediagoblin/templates/mediagoblin/edit/metadata.html diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index 2c9b5e99..cff3a53f 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -122,3 +122,8 @@ class ChangeEmailForm(wtforms.Form): [wtforms.validators.Required()], description=_( "Enter your password to prove you own this account.")) + +class EditMetaDataForm(wtforms.Form): + media_metadata = wtforms.FieldList( + wtforms.TextField( + _(u'Value'))) diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 80590875..e20d0ecc 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -29,7 +29,8 @@ from mediagoblin.edit import forms from mediagoblin.edit.lib import may_edit_media from mediagoblin.decorators import (require_active_login, active_user_from_url, get_media_entry_by_id, user_may_alter_collection, - get_user_collection) + get_user_collection, user_has_privilege, + user_not_banned) from mediagoblin.tools.crypto import get_timed_signer_url from mediagoblin.tools.mail import email_debug_message from mediagoblin.tools.response import (render_to_response, @@ -432,3 +433,13 @@ def change_email(request): 'mediagoblin/edit/change_email.html', {'form': form, 'user': user}) + +@user_has_privilege(u'admin') +@require_active_login +@get_media_entry_by_id +def edit_metadata(request, media): + form = forms.EditMetaDataForm() + return render_to_response( + request, + 'mediagoblin/edit/metadata.html', + {'form':form}) diff --git a/mediagoblin/templates/mediagoblin/edit/metadata.html b/mediagoblin/templates/mediagoblin/edit/metadata.html new file mode 100644 index 00000000..3f97555e --- /dev/null +++ b/mediagoblin/templates/mediagoblin/edit/metadata.html @@ -0,0 +1,23 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} +{%- extends "mediagoblin/base.html" %} +{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %} + +{% block mediagoblin_content %} + {{ wtforms_util.render_divs(form) }} +{% endblock mediagoblin_content %} diff --git a/mediagoblin/user_pages/routing.py b/mediagoblin/user_pages/routing.py index f0f4d8b7..8eb51c8d 100644 --- a/mediagoblin/user_pages/routing.py +++ b/mediagoblin/user_pages/routing.py @@ -101,3 +101,7 @@ add_route('mediagoblin.edit.edit_media', add_route('mediagoblin.edit.attachments', '/u//m//attachments/', 'mediagoblin.edit.views:edit_attachments') + +add_route('mediagoblin.edit.metadata', + '/u//m//metadata/', + 'mediagoblin.edit.views:edit_metadata') -- cgit v1.2.3 From f0cfd3396e2bcfd6a0b3eead1875efd0d29f0ff5 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 6 May 2014 12:54:08 -0400 Subject: Set up the metadata editor forms --- mediagoblin/edit/forms.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index cff3a53f..6cc7a9cb 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -123,7 +123,13 @@ class ChangeEmailForm(wtforms.Form): description=_( "Enter your password to prove you own this account.")) +class MetaDataForm(wtforms.Form): + identifier = wtforms.TextField( + _(u'Id')) + value = wtforms.TextField( + _(u'Value')) + class EditMetaDataForm(wtforms.Form): media_metadata = wtforms.FieldList( - wtforms.TextField( - _(u'Value'))) + wtforms.FormField(MetaDataForm) + ) -- cgit v1.2.3 From e80596c80eb06e6d199795e59dcc37b27d77fe55 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 6 May 2014 17:00:25 -0400 Subject: Created a UI for editting a media's metadata. Had to add a new macro to wtforms.html in the process. --- mediagoblin/edit/forms.py | 11 ++- mediagoblin/edit/views.py | 17 +++- mediagoblin/static/css/base.css | 14 +++ .../templates/mediagoblin/edit/metadata.html | 108 ++++++++++++++++++++- .../mediagoblin/utils/metadata_table.html | 6 ++ .../templates/mediagoblin/utils/wtforms.html | 18 ++++ 6 files changed, 167 insertions(+), 7 deletions(-) diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index 6cc7a9cb..ce66526f 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -124,12 +124,13 @@ class ChangeEmailForm(wtforms.Form): "Enter your password to prove you own this account.")) class MetaDataForm(wtforms.Form): - identifier = wtforms.TextField( - _(u'Id')) - value = wtforms.TextField( - _(u'Value')) + identifier = wtforms.TextField('') + value = wtforms.TextField('') class EditMetaDataForm(wtforms.Form): media_metadata = wtforms.FieldList( - wtforms.FormField(MetaDataForm) + wtforms.FormField(MetaDataForm, label="") + ) + context = wtforms.FieldList( + wtforms.FormField(MetaDataForm, label="") ) diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index e20d0ecc..e3dd82ab 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -439,7 +439,22 @@ def change_email(request): @get_media_entry_by_id def edit_metadata(request, media): form = forms.EditMetaDataForm() + if media.media_metadata: + for row in media.media_metadata.iteritems(): + if row[0] == "@context": continue + identifier = row[0] + # TODO Will change when we revert the metadata branch + value = row[1]['@value'] + form.media_metadata.append_entry({ + 'identifier':identifier, + 'value':value}) + for row in media.media_metadata['@context'].iteritems(): + identifier, value = row[0:2] + form.context.append_entry({ + 'identifier':identifier, + 'value':value}) return render_to_response( request, 'mediagoblin/edit/metadata.html', - {'form':form}) + {'form':form, + 'media':media}) diff --git a/mediagoblin/static/css/base.css b/mediagoblin/static/css/base.css index 32c6c6cb..f0f9e3e6 100644 --- a/mediagoblin/static/css/base.css +++ b/mediagoblin/static/css/base.css @@ -938,3 +938,17 @@ p.verifier { none repeat scroll 0% 0% rgb(221, 221, 221); padding: 1em 0px; } + +/* for the media metadata editing table */ +table.metadata_editor { + + margin: 10px auto; + width: 800px; +} + +table.metadata_editor tr td { + width:350px; +} +table.metadata_editor tr td input.form_field_input { + width: 300px +} diff --git a/mediagoblin/templates/mediagoblin/edit/metadata.html b/mediagoblin/templates/mediagoblin/edit/metadata.html index 3f97555e..cbf74106 100644 --- a/mediagoblin/templates/mediagoblin/edit/metadata.html +++ b/mediagoblin/templates/mediagoblin/edit/metadata.html @@ -17,7 +17,113 @@ #} {%- extends "mediagoblin/base.html" %} {% import "/mediagoblin/utils/wtforms.html" as wtforms_util %} +{% block mediagoblin_head %} + +{% endblock %} {% block mediagoblin_content %} - {{ wtforms_util.render_divs(form) }} +

{% trans media_name=media.title -%} + Metadata for "{{ media_name }}"{% endtrans %}

+
+ +

{% trans %}Context{% endtrans %}

+
{{ format_predicate(key) }}{{ value }} + {{ value_dict['@value'] }}
+ + + + + {% for miniform in form.context -%} + {{ wtforms_util.render_table_row(miniform) }} + {% endfor -%} + + + + + + + + + + +

{% trans %}Data{% endtrans %}

+ + + + + + {% for miniform in form.media_metadata -%} + {{ wtforms_util.render_table_row(miniform) }} + {% endfor -%} + + + + + + + + + + + + + {{ csrf_token }} + + {% endblock mediagoblin_content %} diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html index 2eb57af3..0c67264a 100644 --- a/mediagoblin/templates/mediagoblin/utils/metadata_table.html +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -33,4 +33,10 @@ {%- endfor %} {% endif %} + {% if request.user and request.user.has_privilege('admin') %} + + {% trans %}Edit Metadata{% endtrans %} + {% endif %} {%- endmacro %} diff --git a/mediagoblin/templates/mediagoblin/utils/wtforms.html b/mediagoblin/templates/mediagoblin/utils/wtforms.html index e079274e..e861b674 100644 --- a/mediagoblin/templates/mediagoblin/utils/wtforms.html +++ b/mediagoblin/templates/mediagoblin/utils/wtforms.html @@ -87,6 +87,24 @@ {% endfor %} {%- endmacro %} +{% macro render_table_row(form) %} + + {%- for field in form %} + + {{field}} + {%- if field.errors -%} +
+
    + {% for error in field.errors %} +
  • {{error}}
  • + {%- endfor %} +
+ {%- endif -%} + + {%- endfor %} + +{%- endmacro %} + {# Render a boolean field #} {% macro render_bool(field) %}
-- cgit v1.2.3 From 9919fb08a4d56f5976a6fef0fc70b2ee6c751759 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 6 May 2014 17:19:30 -0400 Subject: Made it so the metadata editting page is only one step away from functioning correctly. --- mediagoblin/edit/views.py | 16 +++++++++++++++- mediagoblin/templates/mediagoblin/edit/metadata.html | 10 +++++----- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index e3dd82ab..496df6b9 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -17,6 +17,7 @@ from datetime import datetime from itsdangerous import BadSignature +from pyld import jsonld from werkzeug.exceptions import Forbidden from werkzeug.utils import secure_filename @@ -438,7 +439,20 @@ def change_email(request): @require_active_login @get_media_entry_by_id def edit_metadata(request, media): - form = forms.EditMetaDataForm() + form = forms.EditMetaDataForm(request.form) + if request.method == "POST" and form.validate(): + context = dict([(row['identifier'],row['value']) + for row in form.context.data]) + metadata_dict = dict([(row['identifier'],row['value']) + for row in form.media_metadata.data]) + # TODO VALIDATE THIS BEFORE WE ENTER IT + # validate(metadata_dict) + # validate(context) + json_ld_metadata = jsonld.compact(metadata_dict, context) + # media.media_metadata = json_ld_metadata + # media.save() + return redirect_obj(request, media) + if media.media_metadata: for row in media.media_metadata.iteritems(): if row[0] == "@context": continue diff --git a/mediagoblin/templates/mediagoblin/edit/metadata.html b/mediagoblin/templates/mediagoblin/edit/metadata.html index cbf74106..364cad0d 100644 --- a/mediagoblin/templates/mediagoblin/edit/metadata.html +++ b/mediagoblin/templates/mediagoblin/edit/metadata.html @@ -41,7 +41,7 @@ $('table'+list_id+' tr').each(function(row){ id_input = $(this).find('td').find('input'); value_input = $(this).find('td').next().find('input'); - if ((value_input.attr('value') == "") && + if ((value_input.attr('value') == "") && (id_input.attr('value') == "")) { $(this).remove(); } @@ -52,13 +52,13 @@ var context_lines = {{ form.context | length }}; var metadata_lines = {{ form.media_metadata | length }}; $("#add_new_metadata_row").click(function(){ - add_new_row("#metadata_list", + add_new_row("#metadata_list", metadata_lines, 'media_metadata-'); metadata_lines += 1; }) $("#add_new_context_row").click(function(){ - add_new_row("#context_list", + add_new_row("#context_list", context_lines, 'context-'); context_lines += 1; @@ -115,7 +115,7 @@ - @@ -125,5 +125,5 @@ {{ csrf_token }} - + {% endblock mediagoblin_content %} -- cgit v1.2.3 From f73585be4739beef5c61c41de9a045518be7e311 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 6 May 2014 17:23:22 -0400 Subject: Fixed a slight css error. --- mediagoblin/static/css/base.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/static/css/base.css b/mediagoblin/static/css/base.css index f0f9e3e6..d0396ceb 100644 --- a/mediagoblin/static/css/base.css +++ b/mediagoblin/static/css/base.css @@ -949,6 +949,6 @@ table.metadata_editor { table.metadata_editor tr td { width:350px; } -table.metadata_editor tr td input.form_field_input { +table.metadata_editor tr td.form_field_input input { width: 300px } -- cgit v1.2.3 From d015e4a84dfcde0bef510228f5b8f23a7c895a34 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 6 May 2014 17:45:43 -0400 Subject: Added in a few blank lines when a user edits the metadata of a file that has none. --- mediagoblin/edit/views.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 496df6b9..4ab3fe01 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -467,6 +467,16 @@ def edit_metadata(request, media): form.context.append_entry({ 'identifier':identifier, 'value':value}) + else: + form.media_metadata.append_entry({ + 'identifier':"", + 'value':""}) + form.media_metadata.append_entry({ + 'identifier':"", + 'value':""}) + form.context.append_entry({ + 'identifier':"", + 'value':""}) return render_to_response( request, 'mediagoblin/edit/metadata.html', -- cgit v1.2.3 From af3a9107a9aef453b62f8fd83e03e9a1bbe416b8 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 7 May 2014 13:36:52 -0500 Subject: The URL format checker now works correctly ...though it isn't checking the right thing --- mediagoblin/gmg_commands/batchaddmedia.py | 77 ++++++++++++++++++------------- 1 file changed, 44 insertions(+), 33 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 43c24f6d..41fb86c9 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,7 +15,7 @@ # along with this program. If not, see . import os -import tempfile, tarfile, zipfile, subprocess, requests +import copy, tempfile, tarfile, zipfile, subprocess, re, requests from csv import reader as csv_reader from urlparse import urlparse from pyld import jsonld @@ -27,8 +27,10 @@ from mediagoblin.submit.lib import ( from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from mediagoblin import mg_globals -from jsonschema import validate +from jsonschema import validate, FormatChecker, draft4_format_checker from jsonschema.exceptions import ValidationError +from jsonschema.compat import str_types + def parser_setup(subparser): subparser.description = """\ @@ -48,11 +50,6 @@ Core properties (http://dublincore.org/documents/dces/). Both "location.csv" and "metadata.csv" must begin with a row demonstrating the order of the columns. We have provided an example of these files at """)) - subparser.add_argument( - "-l", "--license", - help=( - "License these media entry will be released under, if all the same. " - "Should be a URL.")) subparser.add_argument( '--celery', action='store_true', @@ -149,6 +146,8 @@ zip files and directories" title = sanitized_metadata.get('dcterms:title') description = sanitized_metadata.get('dcterms:description') + + # TODO: this isn't the same thing license = sanitized_metadata.get('dcterms:rights') filename = url.path.split()[-1] @@ -234,36 +233,48 @@ def build_json_ld_metadata(metadata_dict): output_dict[p] = description return output_dict + +## Set up the MediaGoblin checker +# + +URL_REGEX = re.compile( + r'^[a-z]+://([^/:]+|([0-9]{1,3}\.){3}[0-9]{1,3})(:[0-9]+)?(\/.*)?$', + re.IGNORECASE) + +def is_uri(instance): + if not isinstance(instance, str_types): + return True + + return URL_REGEX.match(instance) + + +class DefaultChecker(FormatChecker): + checkers = copy.deepcopy(draft4_format_checker.checkers) + +DefaultChecker.checkers[u"uri"] = (is_uri, ()) + +DEFAULT_CHECKER = DefaultChecker() + def check_metadata_format(metadata_dict): schema = { - "$schema":"http://json-schema.org/schema#", - "properties":{ - "media:id":{}, - "dcterms:contributor":{}, - "dcterms:coverage":{}, - "dcterms:created":{}, - "dcterms:creator":{}, - "dcterms:date":{}, - "dcterms:description":{}, - "dcterms:format":{}, - "dcterms:identifier":{}, - "dcterms:language":{}, - "dcterms:publisher":{}, - "dcterms:relation":{}, - "dcterms:rights" : { - "format":"uri", - "type":"string" + "$schema": "http://json-schema.org/schema#", + + "type": "object", + "properties": { + "dcterms:rights": { + "format": "uri", + "type": "string", + }, + "dcterms:created": { + + } }, - "dcterms:source":{}, - "dcterms:subject":{}, - "dcterms:title":{}, - "dcterms:type":{} - }, - "additionalProperties": False, - "required":["dcterms:title","media:id"] -} + # "required": ["dcterms:title", "media:id"], + } + try: - validate(metadata_dict, schema) + validate(metadata_dict, schema, + format_checker=DEFAULT_CHECKER) output_dict = metadata_dict # "media:id" is only for internal use, so we delete it for the output del output_dict['media:id'] -- cgit v1.2.3 From 2a2c534e51f47cbf7c537c9b659648f23146a64b Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 7 May 2014 15:21:10 -0500 Subject: Removing build_json_ld_metadata --- mediagoblin/gmg_commands/batchaddmedia.py | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 41fb86c9..cf362d83 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -139,8 +139,7 @@ zip files and directories" sanitized_metadata = check_metadata_format(file_metadata) if sanitized_metadata == {}: continue - json_ld_metadata = jsonld.compact(build_json_ld_metadata(file_metadata), - metadata_context) + json_ld_metadata = jsonld.compact(file_metadata, metadata_context) original_location = media_locations[media_id]['media:original'] url = urlparse(original_location) @@ -219,20 +218,6 @@ def teardown(temp_files): for temp_file in temp_files: subprocess.call(['rm','-r',temp_file]) -def build_json_ld_metadata(metadata_dict): - output_dict = {} - for p in metadata_dict.keys(): - if p in ["dcterms:rights", "dcterms:relation"]: - m_type = "xsd:uri" - elif p in ["dcterms:date", "dcterms:created"]: - m_type = "xsd:date" - else: - m_type = "xsd:string" - description = {"@value": metadata_dict[p], - "@type" : m_type} - output_dict[p] = description - return output_dict - ## Set up the MediaGoblin checker # -- cgit v1.2.3 From a4486286363cca8d0ef9d1026883b13e7f84d8e0 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 7 May 2014 15:21:58 -0500 Subject: Removing unused variables --- mediagoblin/gmg_commands/batchaddmedia.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index cf362d83..07c0b3fc 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -26,7 +26,6 @@ from mediagoblin.submit.lib import ( FileUploadLimit, UserUploadLimit, UserPastUploadLimit) from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ -from mediagoblin import mg_globals from jsonschema import validate, FormatChecker, draft4_format_checker from jsonschema.exceptions import ValidationError from jsonschema.compat import str_types @@ -99,14 +98,12 @@ zip files and directories" metadata_file_path = os.path.join(dir_path, "metadata.csv") # check for the location file, if it exists... - location_filename = os.path.split(location_file_path)[-1] abs_location_filename = os.path.abspath(location_file_path) if not os.path.exists(abs_location_filename): print "Can't find a file with filename '%s'" % location_file_path return # check for the metadata file, if it exists... - metadata_filename = os.path.split(metadata_file_path)[-1] abs_metadata_filename = os.path.abspath(metadata_file_path) if not os.path.exists(abs_metadata_filename): print "Can't find a file with filename '%s'" % metadata_file_path -- cgit v1.2.3 From e5e2cc2f16f47fb28f5aef256652e2f2e20eb45d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 7 May 2014 18:41:34 -0500 Subject: Starting to add metadata tools, as well as mediagoblin's schema --- .../static/metadata/mediagoblin-0.1.dev.jsonld | 47 +++++++++ mediagoblin/tools/metadata.py | 106 +++++++++++++++++++++ 2 files changed, 153 insertions(+) create mode 100644 mediagoblin/static/metadata/mediagoblin-0.1.dev.jsonld create mode 100644 mediagoblin/tools/metadata.py diff --git a/mediagoblin/static/metadata/mediagoblin-0.1.dev.jsonld b/mediagoblin/static/metadata/mediagoblin-0.1.dev.jsonld new file mode 100644 index 00000000..20a71b53 --- /dev/null +++ b/mediagoblin/static/metadata/mediagoblin-0.1.dev.jsonld @@ -0,0 +1,47 @@ +{ + "@context": { + "qb": "http://purl.org/linked-data/cube#", + "grddl": "http://www.w3.org/2003/g/data-view#", + "ma": "http://www.w3.org/ns/ma-ont#", + "owl": "http://www.w3.org/2002/07/owl#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfa": "http://www.w3.org/ns/rdfa#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "rif": "http://www.w3.org/2007/rif#", + "rr": "http://www.w3.org/ns/r2rml#", + "skos": "http://www.w3.org/2004/02/skos/core#", + "skosxl": "http://www.w3.org/2008/05/skos-xl#", + "wdr": "http://www.w3.org/2007/05/powder#", + "void": "http://rdfs.org/ns/void#", + "wdrs": "http://www.w3.org/2007/05/powder-s#", + "xhv": "http://www.w3.org/1999/xhtml/vocab#", + "xml": "http://www.w3.org/XML/1998/namespace", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "prov": "http://www.w3.org/ns/prov#", + "sd": "http://www.w3.org/ns/sparql-service-description#", + "org": "http://www.w3.org/ns/org#", + "gldp": "http://www.w3.org/ns/people#", + "cnt": "http://www.w3.org/2008/content#", + "dcat": "http://www.w3.org/ns/dcat#", + "earl": "http://www.w3.org/ns/earl#", + "ht": "http://www.w3.org/2006/http#", + "ptr": "http://www.w3.org/2009/pointers#", + "cc": "http://creativecommons.org/ns#", + "ctag": "http://commontag.org/ns#", + "dc": "http://purl.org/dc/terms/", + "dc11": "http://purl.org/dc/elements/1.1/", + "dcterms": "http://purl.org/dc/terms/", + "foaf": "http://xmlns.com/foaf/0.1/", + "gr": "http://purl.org/goodrelations/v1#", + "ical": "http://www.w3.org/2002/12/cal/icaltzd#", + "og": "http://ogp.me/ns#", + "rev": "http://purl.org/stuff/rev#", + "sioc": "http://rdfs.org/sioc/ns#", + "v": "http://rdf.data-vocabulary.org/#", + "vcard": "http://www.w3.org/2006/vcard/ns#", + "schema": "http://schema.org/", + "describedby": "http://www.w3.org/2007/05/powder-s#describedby", + "license": "http://www.w3.org/1999/xhtml/vocab#license", + "role": "http://www.w3.org/1999/xhtml/vocab#role" + } +} diff --git a/mediagoblin/tools/metadata.py b/mediagoblin/tools/metadata.py new file mode 100644 index 00000000..428e425c --- /dev/null +++ b/mediagoblin/tools/metadata.py @@ -0,0 +1,106 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + + +import os +import copy +import json +import re +from pkg_resources import resource_filename + +import dateutil.parser +from pyld import jsonld +from jsonschema import validate, FormatChecker, draft4_format_checker +from jsonschema.compat import str_types + + +MEDIAGOBLIN_CONTEXT_PATH = resource_filename( + "mediagoblin", + os.path.sep.join(["static", "metadata", "mediagoblin-0.1.dev.jsonld"])) +MEDIAGOBLIN_CONTEXT = json.loads(file(MEDIAGOBLIN_CONTEXT_PATH).read()) + + +######################################################## +## Set up the MediaGoblin format checker for json-schema +######################################################## + +URL_REGEX = re.compile( + r'^[a-z]+://([^/:]+|([0-9]{1,3}\.){3}[0-9]{1,3})(:[0-9]+)?(\/.*)?$', + re.IGNORECASE) + +def is_uri(instance): + """ + jsonschema uri validator + """ + if not isinstance(instance, str_types): + return True + + return URL_REGEX.match(instance) + +def is_datetime(instance): + """ + Is a date or datetime readable string. + """ + if not isinstance(instance, str_types): + return True + + return dateutil.parser.parse(instance) + + +class DefaultChecker(FormatChecker): + """ + Default MediaGoblin format checker... extended to include a few extra things + """ + checkers = copy.deepcopy(draft4_format_checker.checkers) + + +DefaultChecker.checkers[u"uri"] = (is_uri, ()) +DefaultChecker.checkers[u"date-time"] = (is_datetime, (ValueError, TypeError)) +DEFAULT_CHECKER = DefaultChecker() + +# Crappy default schema, checks for things we deem important + +DEFAULT_SCHEMA = { + "$schema": "http://json-schema.org/schema#", + + "type": "object", + "properties": { + "dcterms:rights": { + "format": "uri", + "type": "string", + }, + "dcterms:created": { + "format": "date-time", + "type": "string", + } + }, +} + + +def compact_and_validate(metadata, context=MEDIAGOBLIN_CONTEXT, + schema=DEFAULT_SCHEMA): + """ + compact json with supplied context, check against schema for errors + + raises an exception (jsonschema.exceptions.ValidationError) if + there's an error. + + You may wish to do this validation yourself... this is just for convenience. + """ + compacted = jsonld.compact(metadata, context) + validate(metadata, schema, format_checker=DEFAULT_CHECKER) + + return compacted -- cgit v1.2.3 From 6fab7734d6b6817b310865409f260ab87907eaa0 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 7 May 2014 18:50:48 -0500 Subject: Updating batchaddmedia to use new metadata tools --- mediagoblin/gmg_commands/batchaddmedia.py | 99 ++++--------------------------- mediagoblin/tools/metadata.py | 4 +- 2 files changed, 14 insertions(+), 89 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 07c0b3fc..e540e88c 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,7 +15,7 @@ # along with this program. If not, see . import os -import copy, tempfile, tarfile, zipfile, subprocess, re, requests +import tempfile, tarfile, zipfile, subprocess, requests from csv import reader as csv_reader from urlparse import urlparse from pyld import jsonld @@ -24,11 +24,9 @@ from mediagoblin.gmg_commands import util as commands_util from mediagoblin.submit.lib import ( submit_media, get_upload_file_limits, FileUploadLimit, UserUploadLimit, UserPastUploadLimit) -from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ +from mediagoblin.tools.metadata import compact_and_validate -from jsonschema import validate, FormatChecker, draft4_format_checker from jsonschema.exceptions import ValidationError -from jsonschema.compat import str_types def parser_setup(subparser): @@ -126,25 +124,24 @@ zip files and directories" contents = all_metadata.read() media_metadata = parse_csv_file(contents) - metadata_context = { 'dcterms':'http://purl.org/dc/terms/', - 'xsd': 'http://www.w3.org/2001/XMLSchema#'} - for media_id in media_locations.keys(): files_attempted += 1 - file_metadata = media_metadata[media_id] - sanitized_metadata = check_metadata_format(file_metadata) - if sanitized_metadata == {}: continue + file_metadata = media_metadata[media_id] + try: + json_ld_metadata = compact_and_validate(file_metadata) + except ValidationError, exc: + print "Error with '%s' value '%s': %s" % ( + media_id, exc.path[0], exc.message) + continue - json_ld_metadata = jsonld.compact(file_metadata, metadata_context) original_location = media_locations[media_id]['media:original'] url = urlparse(original_location) - title = sanitized_metadata.get('dcterms:title') - description = sanitized_metadata.get('dcterms:description') + title = json_ld_metadata.get('dcterms:title') + description = json_ld_metadata.get('dcterms:description') - # TODO: this isn't the same thing - license = sanitized_metadata.get('dcterms:rights') + license = json_ld_metadata.get('license') filename = url.path.split()[-1] if url.scheme == 'http': @@ -214,75 +211,3 @@ def parse_csv_file(file_contents): def teardown(temp_files): for temp_file in temp_files: subprocess.call(['rm','-r',temp_file]) - - -## Set up the MediaGoblin checker -# - -URL_REGEX = re.compile( - r'^[a-z]+://([^/:]+|([0-9]{1,3}\.){3}[0-9]{1,3})(:[0-9]+)?(\/.*)?$', - re.IGNORECASE) - -def is_uri(instance): - if not isinstance(instance, str_types): - return True - - return URL_REGEX.match(instance) - - -class DefaultChecker(FormatChecker): - checkers = copy.deepcopy(draft4_format_checker.checkers) - -DefaultChecker.checkers[u"uri"] = (is_uri, ()) - -DEFAULT_CHECKER = DefaultChecker() - -def check_metadata_format(metadata_dict): - schema = { - "$schema": "http://json-schema.org/schema#", - - "type": "object", - "properties": { - "dcterms:rights": { - "format": "uri", - "type": "string", - }, - "dcterms:created": { - - } - }, - # "required": ["dcterms:title", "media:id"], - } - - try: - validate(metadata_dict, schema, - format_checker=DEFAULT_CHECKER) - output_dict = metadata_dict - # "media:id" is only for internal use, so we delete it for the output - del output_dict['media:id'] - - except ValidationError, exc: - title = (metadata_dict.get('dcterms:title') or - metadata_dict.get('media:id') or _(u'UNKNOWN FILE')) - - if exc.validator == "additionalProperties": - message = _(u'Invalid metadata provided for file "{title}". This \ -script only accepts the Dublin Core metadata terms.'.format(title=title)) - - elif exc.validator == "required": - message = _( -u'All necessary metadata was not provided for file "{title}", you must include \ -a "dcterms:title" column for each media file'.format(title=title)) - - else: - message = _(u'Could not find appropriate metadata for file \ -"{title}".'.format(title=title)) - - print _(u"""WARN: {message} \nSkipping File...\n""".format( - message=message)) - - output_dict = {} - except: - raise - - return output_dict diff --git a/mediagoblin/tools/metadata.py b/mediagoblin/tools/metadata.py index 428e425c..c49bcaaf 100644 --- a/mediagoblin/tools/metadata.py +++ b/mediagoblin/tools/metadata.py @@ -78,7 +78,7 @@ DEFAULT_SCHEMA = { "type": "object", "properties": { - "dcterms:rights": { + "license": { "format": "uri", "type": "string", }, @@ -96,7 +96,7 @@ def compact_and_validate(metadata, context=MEDIAGOBLIN_CONTEXT, compact json with supplied context, check against schema for errors raises an exception (jsonschema.exceptions.ValidationError) if - there's an error. + there's an error.9 You may wish to do this validation yourself... this is just for convenience. """ -- cgit v1.2.3 From 6d9a632e794e9c41dd2d616655216185ecef1f98 Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Fri, 9 May 2014 16:21:31 +0300 Subject: Remove outdated PKGINFO. PKGINFO is created by the "python setup.py {sdist, bdist_egg}" command and not useful to add the codebase. It is mainly used by PyPI to display the package information. --- PKG-INFO | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 PKG-INFO diff --git a/PKG-INFO b/PKG-INFO deleted file mode 100644 index 24fb75b1..00000000 --- a/PKG-INFO +++ /dev/null @@ -1,19 +0,0 @@ -Metadata-Version: 1.2 -Name: mediagoblin -Version: 0.4.0.dev -Summary: UNKNOWN -Home-page: http://mediagoblin.org/ -Author: Free Software Foundation and contributors -Author-email: cwebber@gnu.org -License: AGPLv3 -Download-URL: http://mediagoblin.org/download/ -Description: -Platform: UNKNOWN -Classifier: Development Status :: 3 - Alpha -Classifier: Environment :: Web Environment -Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+) -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.6 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content -- cgit v1.2.3 From 96afe1b268deb97518f68a582f5693646c577cf6 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 May 2014 14:10:27 -0500 Subject: Compact and validate tools, loading internal json tools, much more This commit sponsored by Caleb Nidey. Thank you! --- mediagoblin/tools/metadata.py | 93 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 86 insertions(+), 7 deletions(-) diff --git a/mediagoblin/tools/metadata.py b/mediagoblin/tools/metadata.py index c49bcaaf..37d04fa1 100644 --- a/mediagoblin/tools/metadata.py +++ b/mediagoblin/tools/metadata.py @@ -26,11 +26,8 @@ from pyld import jsonld from jsonschema import validate, FormatChecker, draft4_format_checker from jsonschema.compat import str_types +from mediagoblin.tools.pluginapi import hook_handle -MEDIAGOBLIN_CONTEXT_PATH = resource_filename( - "mediagoblin", - os.path.sep.join(["static", "metadata", "mediagoblin-0.1.dev.jsonld"])) -MEDIAGOBLIN_CONTEXT = json.loads(file(MEDIAGOBLIN_CONTEXT_PATH).read()) ######################################################## @@ -90,17 +87,99 @@ DEFAULT_SCHEMA = { } -def compact_and_validate(metadata, context=MEDIAGOBLIN_CONTEXT, +def load_resource(package, resource_path): + """ + Load a resource, return it as a string. + + Args: + - package: package or module name. Eg "mediagoblin.media_types.audio" + - resource_path: path to get to this resource, a list of + directories and finally a filename. Will be joined with + os.path.sep. + """ + filename = resource_filename(package, os.path.sep.join(resource_path)) + return file(filename).read() + +def load_resource_json(package, resource_path): + """ + Load a resource json file, return a dictionary. + + Args: + - package: package or module name. Eg "mediagoblin.media_types.audio" + - resource_path: path to get to this resource, a list of + directories and finally a filename. Will be joined with + os.path.sep. + """ + return json.loads(load_resource(package, resource_path)) + + +################################## +## Load the MediaGoblin core files +################################## + + +BUILTIN_CONTEXTS = { + "http://www.w3.org/2013/json-ld-context/rdfa11": load_resource( + "mediagoblin", ["static", "metadata", "rdfa11.jsonld"])} + + +_CONTEXT_CACHE = {} + +def load_context(url): + """ + A self-aware document loader. For those contexts MediaGoblin + stores internally, load them from disk. + """ + if url in _CONTEXT_CACHE: + return _CONTEXT_CACHE[url] + + # See if it's one of our basic ones + document = BUILTIN_CONTEXTS.get(url, None) + + # No? See if we have an internal schema for this + if document is None: + document = hook_handle(("context_url_data", url)) + + # Okay, if we've gotten a document by now... let's package it up + if document is not None: + document = {'contextUrl': None, + 'documentUrl': url, + 'document': document} + + # Otherwise, use jsonld.load_document + else: + document = jsonld.load_document(url) + + # cache + _CONTEXT_CACHE[url] = document + return document + + +DEFAULT_CONTEXT = "http://www.w3.org/2013/json-ld-context/rdfa11" + +def compact_and_validate(metadata, context=DEFAULT_CONTEXT, schema=DEFAULT_SCHEMA): """ compact json with supplied context, check against schema for errors raises an exception (jsonschema.exceptions.ValidationError) if - there's an error.9 + there's an error. + + Note: Free floating" nodes are removed (eg a key just named + "bazzzzzz" which isn't specified in the context... something like + bazzzzzz:blerp will stay though. This is jsonld.compact behavior. You may wish to do this validation yourself... this is just for convenience. """ - compacted = jsonld.compact(metadata, context) + compacted = jsonld.compact( + metadata, context, + options={ + "documentLoader": load_context, + # This allows for things like "license" and etc to be preserved + "expandContext": context, + "keepFreeFloatingNodes": False}) validate(metadata, schema, format_checker=DEFAULT_CHECKER) return compacted + + -- cgit v1.2.3 From 3850b3fb56a2a5edc869af68ae40fc3f2873dc22 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 May 2014 14:32:46 -0500 Subject: Removing the mediagoblin.jsonld file, which really was just the RDFa 1.1 file. This commit sponsored by Matthew Cope. Thanks! --- .../static/metadata/mediagoblin-0.1.dev.jsonld | 47 --------------------- mediagoblin/static/metadata/rdfa11.jsonld | 48 ++++++++++++++++++++++ 2 files changed, 48 insertions(+), 47 deletions(-) delete mode 100644 mediagoblin/static/metadata/mediagoblin-0.1.dev.jsonld create mode 100644 mediagoblin/static/metadata/rdfa11.jsonld diff --git a/mediagoblin/static/metadata/mediagoblin-0.1.dev.jsonld b/mediagoblin/static/metadata/mediagoblin-0.1.dev.jsonld deleted file mode 100644 index 20a71b53..00000000 --- a/mediagoblin/static/metadata/mediagoblin-0.1.dev.jsonld +++ /dev/null @@ -1,47 +0,0 @@ -{ - "@context": { - "qb": "http://purl.org/linked-data/cube#", - "grddl": "http://www.w3.org/2003/g/data-view#", - "ma": "http://www.w3.org/ns/ma-ont#", - "owl": "http://www.w3.org/2002/07/owl#", - "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", - "rdfa": "http://www.w3.org/ns/rdfa#", - "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "rif": "http://www.w3.org/2007/rif#", - "rr": "http://www.w3.org/ns/r2rml#", - "skos": "http://www.w3.org/2004/02/skos/core#", - "skosxl": "http://www.w3.org/2008/05/skos-xl#", - "wdr": "http://www.w3.org/2007/05/powder#", - "void": "http://rdfs.org/ns/void#", - "wdrs": "http://www.w3.org/2007/05/powder-s#", - "xhv": "http://www.w3.org/1999/xhtml/vocab#", - "xml": "http://www.w3.org/XML/1998/namespace", - "xsd": "http://www.w3.org/2001/XMLSchema#", - "prov": "http://www.w3.org/ns/prov#", - "sd": "http://www.w3.org/ns/sparql-service-description#", - "org": "http://www.w3.org/ns/org#", - "gldp": "http://www.w3.org/ns/people#", - "cnt": "http://www.w3.org/2008/content#", - "dcat": "http://www.w3.org/ns/dcat#", - "earl": "http://www.w3.org/ns/earl#", - "ht": "http://www.w3.org/2006/http#", - "ptr": "http://www.w3.org/2009/pointers#", - "cc": "http://creativecommons.org/ns#", - "ctag": "http://commontag.org/ns#", - "dc": "http://purl.org/dc/terms/", - "dc11": "http://purl.org/dc/elements/1.1/", - "dcterms": "http://purl.org/dc/terms/", - "foaf": "http://xmlns.com/foaf/0.1/", - "gr": "http://purl.org/goodrelations/v1#", - "ical": "http://www.w3.org/2002/12/cal/icaltzd#", - "og": "http://ogp.me/ns#", - "rev": "http://purl.org/stuff/rev#", - "sioc": "http://rdfs.org/sioc/ns#", - "v": "http://rdf.data-vocabulary.org/#", - "vcard": "http://www.w3.org/2006/vcard/ns#", - "schema": "http://schema.org/", - "describedby": "http://www.w3.org/2007/05/powder-s#describedby", - "license": "http://www.w3.org/1999/xhtml/vocab#license", - "role": "http://www.w3.org/1999/xhtml/vocab#role" - } -} diff --git a/mediagoblin/static/metadata/rdfa11.jsonld b/mediagoblin/static/metadata/rdfa11.jsonld new file mode 100644 index 00000000..b2557233 --- /dev/null +++ b/mediagoblin/static/metadata/rdfa11.jsonld @@ -0,0 +1,48 @@ +{ + "@context": { + "cat": "http://www.w3.org/ns/dcat#", + "qb": "http://purl.org/linked-data/cube#", + "grddl": "http://www.w3.org/2003/g/data-view#", + "ma": "http://www.w3.org/ns/ma-ont#", + "owl": "http://www.w3.org/2002/07/owl#", + "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", + "rdfa": "http://www.w3.org/ns/rdfa#", + "rdfs": "http://www.w3.org/2000/01/rdf-schema#", + "rif": "http://www.w3.org/2007/rif#", + "rr": "http://www.w3.org/ns/r2rml#", + "skos": "http://www.w3.org/2004/02/skos/core#", + "skosxl": "http://www.w3.org/2008/05/skos-xl#", + "wdr": "http://www.w3.org/2007/05/powder#", + "void": "http://rdfs.org/ns/void#", + "wdrs": "http://www.w3.org/2007/05/powder-s#", + "xhv": "http://www.w3.org/1999/xhtml/vocab#", + "xml": "http://www.w3.org/XML/1998/namespace", + "xsd": "http://www.w3.org/2001/XMLSchema#", + "prov": "http://www.w3.org/ns/prov#", + "sd": "http://www.w3.org/ns/sparql-service-description#", + "org": "http://www.w3.org/ns/org#", + "gldp": "http://www.w3.org/ns/people#", + "cnt": "http://www.w3.org/2008/content#", + "dcat": "http://www.w3.org/ns/dcat#", + "earl": "http://www.w3.org/ns/earl#", + "ht": "http://www.w3.org/2006/http#", + "ptr": "http://www.w3.org/2009/pointers#", + "cc": "http://creativecommons.org/ns#", + "ctag": "http://commontag.org/ns#", + "dc": "http://purl.org/dc/terms/", + "dc11": "http://purl.org/dc/elements/1.1/", + "dcterms": "http://purl.org/dc/terms/", + "foaf": "http://xmlns.com/foaf/0.1/", + "gr": "http://purl.org/goodrelations/v1#", + "ical": "http://www.w3.org/2002/12/cal/icaltzd#", + "og": "http://ogp.me/ns#", + "rev": "http://purl.org/stuff/rev#", + "sioc": "http://rdfs.org/sioc/ns#", + "v": "http://rdf.data-vocabulary.org/#", + "vcard": "http://www.w3.org/2006/vcard/ns#", + "schema": "http://schema.org/", + "describedby": "http://www.w3.org/2007/05/powder-s#describedby", + "license": "http://www.w3.org/1999/xhtml/vocab#license", + "role": "http://www.w3.org/1999/xhtml/vocab#role" + } +} \ No newline at end of file -- cgit v1.2.3 From a468db099c20fc666fafa4ce399fd04e7e6f2cbe Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 May 2014 16:49:42 -0500 Subject: expand_json utility... yet another convenience function :) This commit sponsored by Benjamin Lebsanft. Thank you! --- mediagoblin/tools/metadata.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mediagoblin/tools/metadata.py b/mediagoblin/tools/metadata.py index 37d04fa1..dde5753e 100644 --- a/mediagoblin/tools/metadata.py +++ b/mediagoblin/tools/metadata.py @@ -183,3 +183,18 @@ def compact_and_validate(metadata, context=DEFAULT_CONTEXT, return compacted +def expand_json(metadata, context=DEFAULT_CONTEXT): + """ + Expand json, but be sure to use our documentLoader. + + By default this expands with DEFAULT_CONTEXT, but if you do not need this, + you can safely set this to None. + + # @@: Is the above a good idea? Maybe it should be set to None by + # default. + """ + options = { + "documentLoader": load_context} + if context is not None: + options["expandContext"] = context + return jsonld.expand(metadata, options=options) -- cgit v1.2.3 From fd7069632b0aa6064e0abe1f3c0c129fb316faa6 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 May 2014 17:33:58 -0500 Subject: Splitting up compact_json from compact_and_validate This commit sponsored by Harry Rogoff. Thank you! --- mediagoblin/tools/metadata.py | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/mediagoblin/tools/metadata.py b/mediagoblin/tools/metadata.py index dde5753e..7de5a514 100644 --- a/mediagoblin/tools/metadata.py +++ b/mediagoblin/tools/metadata.py @@ -157,6 +157,25 @@ def load_context(url): DEFAULT_CONTEXT = "http://www.w3.org/2013/json-ld-context/rdfa11" +def compact_json(metadata, context=DEFAULT_CONTEXT): + """ + Compact json with supplied context. + + Note: Free floating" nodes are removed (eg a key just named + "bazzzzzz" which isn't specified in the context... something like + bazzzzzz:blerp will stay though. This is jsonld.compact behavior. + """ + compacted = jsonld.compact( + metadata, context, + options={ + "documentLoader": load_context, + # This allows for things like "license" and etc to be preserved + "expandContext": context, + "keepFreeFloatingNodes": False}) + + return compacted + + def compact_and_validate(metadata, context=DEFAULT_CONTEXT, schema=DEFAULT_SCHEMA): """ @@ -171,13 +190,7 @@ def compact_and_validate(metadata, context=DEFAULT_CONTEXT, You may wish to do this validation yourself... this is just for convenience. """ - compacted = jsonld.compact( - metadata, context, - options={ - "documentLoader": load_context, - # This allows for things like "license" and etc to be preserved - "expandContext": context, - "keepFreeFloatingNodes": False}) + compacted = compact_json(metadata, context) validate(metadata, schema, format_checker=DEFAULT_CHECKER) return compacted -- cgit v1.2.3 From fbea284aebafc9d41175aa2ee924012520c43b82 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 11 May 2014 18:47:55 -0500 Subject: Removing the prefix stuff --- mediagoblin/templates/mediagoblin/utils/metadata_table.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html index 2eb57af3..3281c81c 100644 --- a/mediagoblin/templates/mediagoblin/utils/metadata_table.html +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -20,8 +20,9 @@ {%- set metadata=media_entry.media_metadata %} {%- set metadata_context=metadata['@context'] %} {%- if metadata %} - + {#- NOTE: In some smart future where the context is more extensible, + we will need to add to the prefix here-#} +
{%- for key, value_dict in metadata.iteritems() if not key=='@context' %} {% if value_dict['@value'] -%} -- cgit v1.2.3 From 494bce47f92165f322347003baac22731e0ee7aa Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 12 May 2014 12:20:03 -0400 Subject: Changed the format of the wtforms table slightly --- mediagoblin/edit/forms.py | 4 +- mediagoblin/static/css/base.css | 10 +++-- .../templates/mediagoblin/edit/metadata.html | 23 ++++------- .../templates/mediagoblin/utils/wtforms.html | 45 ++++++++++++++-------- 4 files changed, 46 insertions(+), 36 deletions(-) diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index ce66526f..7ddf603e 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -124,8 +124,8 @@ class ChangeEmailForm(wtforms.Form): "Enter your password to prove you own this account.")) class MetaDataForm(wtforms.Form): - identifier = wtforms.TextField('') - value = wtforms.TextField('') + identifier = wtforms.TextField(_(u'Identifier')) + value = wtforms.TextField(_(u'Value')) class EditMetaDataForm(wtforms.Form): media_metadata = wtforms.FieldList( diff --git a/mediagoblin/static/css/base.css b/mediagoblin/static/css/base.css index d0396ceb..bb2a2cbd 100644 --- a/mediagoblin/static/css/base.css +++ b/mediagoblin/static/css/base.css @@ -943,12 +943,16 @@ p.verifier { table.metadata_editor { margin: 10px auto; - width: 800px; + width: 1000px; +} + +table.metadata_editor tr th { + width:100px; } table.metadata_editor tr td { - width:350px; + width:300px; } table.metadata_editor tr td.form_field_input input { - width: 300px + width:300px; } diff --git a/mediagoblin/templates/mediagoblin/edit/metadata.html b/mediagoblin/templates/mediagoblin/edit/metadata.html index 364cad0d..d5d1fec5 100644 --- a/mediagoblin/templates/mediagoblin/edit/metadata.html +++ b/mediagoblin/templates/mediagoblin/edit/metadata.html @@ -78,20 +78,15 @@ visit http:/wwww.json-ld.org for more information. -->

{% trans %}Context{% endtrans %}

- - - - - {% for miniform in form.context -%} - {{ wtforms_util.render_table_row(miniform) }} - {% endfor -%} + {{ wtforms_util.render_fieldlist_as_table_rows(form.context) }} + + @@ -99,26 +94,22 @@

{% trans %}Data{% endtrans %}

- - - - - {% for miniform in form.media_metadata -%} - {{ wtforms_util.render_table_row(miniform) }} - {% endfor -%} + {{ wtforms_util.render_fieldlist_as_table_rows(form.media_metadata) }} + + + diff --git a/mediagoblin/templates/mediagoblin/utils/wtforms.html b/mediagoblin/templates/mediagoblin/utils/wtforms.html index e861b674..c83d53f1 100644 --- a/mediagoblin/templates/mediagoblin/utils/wtforms.html +++ b/mediagoblin/templates/mediagoblin/utils/wtforms.html @@ -70,26 +70,14 @@ {# Auto-render a form as a table #} {% macro render_table(form) -%} {% for field in form %} - - - - + render_field_as_table_row(field) {% endfor %} {%- endmacro %} -{% macro render_table_row(form) %} +{% macro render_form_as_table_row(form) %} {%- for field in form %} + {%- endmacro %} +{% macro render_field_as_table_row(field) %} + + + + +{% endmacro %} + +{% macro render_fieldlist_as_table_rows(fieldlist) %} + {% for field in fieldlist -%} + {%- if field.type == 'FormField' %} + {{ render_form_as_table_row(field) }} + {%- else %} + {{ render_field_as_table_row(field) }} + {%- endif %} + {% endfor -%} +{% endmacro %} + {# Render a boolean field #} {% macro render_bool(field) %}
-- cgit v1.2.3 From 6b6b1b076bf0f2104dacdfa0f351555bcb6c98d6 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 12 May 2014 13:07:11 -0400 Subject: Made some changes so that the metadata editing page works well with the updated metadata tools. --- mediagoblin/edit/forms.py | 3 --- mediagoblin/edit/views.py | 27 +++++----------------- .../templates/mediagoblin/edit/metadata.html | 23 ------------------ .../mediagoblin/utils/metadata_table.html | 11 ++++----- 4 files changed, 10 insertions(+), 54 deletions(-) diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index 7ddf603e..c2355980 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -131,6 +131,3 @@ class EditMetaDataForm(wtforms.Form): media_metadata = wtforms.FieldList( wtforms.FormField(MetaDataForm, label="") ) - context = wtforms.FieldList( - wtforms.FormField(MetaDataForm, label="") - ) diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 4ab3fe01..34021257 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -33,6 +33,7 @@ from mediagoblin.decorators import (require_active_login, active_user_from_url, get_user_collection, user_has_privilege, user_not_banned) from mediagoblin.tools.crypto import get_timed_signer_url +from mediagoblin.tools.metadata import compact_and_validate from mediagoblin.tools.mail import email_debug_message from mediagoblin.tools.response import (render_to_response, redirect, redirect_obj, render_404) @@ -441,32 +442,19 @@ def change_email(request): def edit_metadata(request, media): form = forms.EditMetaDataForm(request.form) if request.method == "POST" and form.validate(): - context = dict([(row['identifier'],row['value']) - for row in form.context.data]) metadata_dict = dict([(row['identifier'],row['value']) for row in form.media_metadata.data]) - # TODO VALIDATE THIS BEFORE WE ENTER IT - # validate(metadata_dict) - # validate(context) - json_ld_metadata = jsonld.compact(metadata_dict, context) - # media.media_metadata = json_ld_metadata - # media.save() + json_ld_metadata = compact_and_validate(metadata_dict) + media.media_metadata = json_ld_metadata + media.save() return redirect_obj(request, media) if media.media_metadata: - for row in media.media_metadata.iteritems(): - if row[0] == "@context": continue - identifier = row[0] - # TODO Will change when we revert the metadata branch - value = row[1]['@value'] + for identifier, value in media.media_metadata.iteritems(): + if identifier == "@context": continue form.media_metadata.append_entry({ 'identifier':identifier, 'value':value}) - for row in media.media_metadata['@context'].iteritems(): - identifier, value = row[0:2] - form.context.append_entry({ - 'identifier':identifier, - 'value':value}) else: form.media_metadata.append_entry({ 'identifier':"", @@ -474,9 +462,6 @@ def edit_metadata(request, media): form.media_metadata.append_entry({ 'identifier':"", 'value':""}) - form.context.append_entry({ - 'identifier':"", - 'value':""}) return render_to_response( request, 'mediagoblin/edit/metadata.html', diff --git a/mediagoblin/templates/mediagoblin/edit/metadata.html b/mediagoblin/templates/mediagoblin/edit/metadata.html index d5d1fec5..b5a52e5f 100644 --- a/mediagoblin/templates/mediagoblin/edit/metadata.html +++ b/mediagoblin/templates/mediagoblin/edit/metadata.html @@ -49,7 +49,6 @@ } $(document).ready(function(){ - var context_lines = {{ form.context | length }}; var metadata_lines = {{ form.media_metadata | length }}; $("#add_new_metadata_row").click(function(){ add_new_row("#metadata_list", @@ -57,14 +56,8 @@ 'media_metadata-'); metadata_lines += 1; }) - $("#add_new_context_row").click(function(){ - add_new_row("#context_list", - context_lines, - 'context-'); - context_lines += 1; }) $("#clear_empty_rows").click(function(){ - clear_empty_rows("#context_list"); clear_empty_rows("#metadata_list"); }) }) @@ -74,22 +67,6 @@

{% trans media_name=media.title -%} Metadata for "{{ media_name }}"{% endtrans %}

- -

{% trans %}Context{% endtrans %}

-
- {{ wtforms_util.render_fieldlist_as_table_rows(form.context) }} - - - - - - - - - -

{% trans %}Data{% endtrans %}

diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html index 0c67264a..b4c37dbd 100644 --- a/mediagoblin/templates/mediagoblin/utils/metadata_table.html +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -20,16 +20,13 @@ {%- set metadata=media_entry.media_metadata %} {%- set metadata_context=metadata['@context'] %} {%- if metadata %} - - {%- for key, value_dict in metadata.iteritems() if not key=='@context' %} - {% if value_dict['@value'] -%} +
+ {%- for key, value in metadata.iteritems() if not key=='@context' %} - + - {%- endif -%} {%- endfor %}
{{ format_predicate(key) }} - {{ value_dict['@value'] }} + {{ value }}
{% endif %} -- cgit v1.2.3 From e8d64d453b5b712a82677759c8c9acab706a98d9 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 12 May 2014 13:19:03 -0400 Subject: Cleaned up the 'batchaddmedia' command a bit --- mediagoblin/gmg_commands/batchaddmedia.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index e540e88c..a9364daa 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -38,7 +38,7 @@ This command allows the administrator to upload many media files at once.""" subparser.add_argument( 'target_path', help=("""\ -Path to a local archive or directory containing a "location.csv" and a +Path to a local archive or directory containing a "location.csv" and a "metadata.csv" file. These are csv (comma seperated value) files with the locations and metadata of the files to be uploaded. The location must be listed with either the URL of the remote media file or the filesystem path of a local @@ -128,6 +128,12 @@ zip files and directories" files_attempted += 1 file_metadata = media_metadata[media_id] + + ### Remove all metadata entries starting with 'media' because we are ### + ### only using those for internal use. ### + file_metadata = dict([(key, value) + for key, value in file_metadata.iteritems() if + key.split(":")[0] != 'media']) try: json_ld_metadata = compact_and_validate(file_metadata) except ValidationError, exc: @@ -138,8 +144,10 @@ zip files and directories" original_location = media_locations[media_id]['media:original'] url = urlparse(original_location) - title = json_ld_metadata.get('dcterms:title') - description = json_ld_metadata.get('dcterms:description') + ### Pull the important media information for mediagoblin from the ### + ### metadata, if it is provided. ### + title = json_ld_metadata.get('dc:title') + description = json_ld_metadata.get('dc:description') license = json_ld_metadata.get('license') filename = url.path.split()[-1] -- cgit v1.2.3 From 7d52eb770501240e6872d3007d8e9ef203632eb0 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 12 May 2014 13:59:28 -0400 Subject: Modified the batchaddmedia script so that it only looks for one csv file instead of the previous method which looked for two files. --- mediagoblin/gmg_commands/batchaddmedia.py | 123 +++++++++++------------------- 1 file changed, 46 insertions(+), 77 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index a9364daa..7ba8db1e 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -25,7 +25,7 @@ from mediagoblin.submit.lib import ( submit_media, get_upload_file_limits, FileUploadLimit, UserUploadLimit, UserPastUploadLimit) from mediagoblin.tools.metadata import compact_and_validate - +from mediagoblin.tools.translate import pass_to_ugettext as _ from jsonschema.exceptions import ValidationError @@ -36,17 +36,7 @@ This command allows the administrator to upload many media files at once.""" 'username', help="Name of user these media entries belong to") subparser.add_argument( - 'target_path', - help=("""\ -Path to a local archive or directory containing a "location.csv" and a -"metadata.csv" file. These are csv (comma seperated value) files with the -locations and metadata of the files to be uploaded. The location must be listed -with either the URL of the remote media file or the filesystem path of a local -file. The metadata should be provided with one column for each of the 15 Dublin -Core properties (http://dublincore.org/documents/dces/). Both "location.csv" and -"metadata.csv" must begin with a row demonstrating the order of the columns. We -have provided an example of these files at -""")) + 'metadata_path') subparser.add_argument( '--celery', action='store_true', @@ -65,48 +55,24 @@ def batchaddmedia(args): # get the user user = app.db.User.query.filter_by(username=args.username.lower()).first() if user is None: - print "Sorry, no user by username '%s' exists" % args.username + print _(u"Sorry, no user by username '{username}' exists".format( + username=args.username)) return upload_limit, max_file_size = get_upload_file_limits(user) temp_files = [] - if os.path.isdir(args.target_path): - dir_path = args.target_path - - elif tarfile.is_tarfile(args.target_path): - dir_path = tempfile.mkdtemp() - temp_files.append(dir_path) - tar = tarfile.open(args.target_path) - tar.extractall(path=dir_path) - - elif zipfile.is_zipfile(args.target_path): - dir_path = tempfile.mkdtemp() - temp_files.append(dir_path) - zipped_file = zipfile.ZipFile(args.target_path) - zipped_file.extractall(path=dir_path) + if os.path.isfile(args.metadata_path): + metadata_path = args.metadata_path else: - print "Couldn't recognize the file. This script only accepts tar files,\ -zip files and directories" - if dir_path.endswith('/'): - dir_path = dir_path[:-1] - - location_file_path = os.path.join(dir_path,"location.csv") - metadata_file_path = os.path.join(dir_path, "metadata.csv") - - # check for the location file, if it exists... - abs_location_filename = os.path.abspath(location_file_path) - if not os.path.exists(abs_location_filename): - print "Can't find a file with filename '%s'" % location_file_path - return - - # check for the metadata file, if it exists... - abs_metadata_filename = os.path.abspath(metadata_file_path) - if not os.path.exists(abs_metadata_filename): - print "Can't find a file with filename '%s'" % metadata_file_path + error = _(u'File at {path} not found, use -h flag for help'.format( + path=args.metadata_path)) + print error return + abs_metadata_filename = os.path.abspath(metadata_path) + abs_metadata_dir = os.path.dirname(abs_metadata_filename) upload_limit, max_file_size = get_upload_file_limits(user) def maybe_unicodeify(some_string): @@ -116,36 +82,36 @@ zip files and directories" else: return unicode(some_string) - with file(abs_location_filename, 'r') as all_locations: - contents = all_locations.read() - media_locations = parse_csv_file(contents) - with file(abs_metadata_filename, 'r') as all_metadata: contents = all_metadata.read() media_metadata = parse_csv_file(contents) - for media_id in media_locations.keys(): + for media_id, file_metadata in media_metadata.iteritems(): files_attempted += 1 + # In case the metadata was not uploaded initialize an empty dictionary. + json_ld_metadata = compact_and_validate({}) - file_metadata = media_metadata[media_id] - - ### Remove all metadata entries starting with 'media' because we are ### - ### only using those for internal use. ### + # Get all metadata entries starting with 'media' as variables and then + # delete them because those are for internal use only. + original_location = file_metadata['media:location'] file_metadata = dict([(key, value) for key, value in file_metadata.iteritems() if key.split(":")[0] != 'media']) try: json_ld_metadata = compact_and_validate(file_metadata) except ValidationError, exc: - print "Error with '%s' value '%s': %s" % ( - media_id, exc.path[0], exc.message) + error = _(u"""Error with media '{media_id}' value '{error_path}': {error_msg} +Metadata was not uploaded.""".format( + media_id=media_id, + error_path=exc.path[0], + error_msg=exc.message)) + print error continue - original_location = media_locations[media_id]['media:original'] url = urlparse(original_location) - ### Pull the important media information for mediagoblin from the ### - ### metadata, if it is provided. ### + ### Pull the important media information for mediagoblin from the + ### metadata, if it is provided. title = json_ld_metadata.get('dc:title') description = json_ld_metadata.get('dc:description') @@ -161,14 +127,14 @@ zip files and directories" if os.path.isabs(path): file_abs_path = os.path.abspath(path) else: - file_path = os.path.join(dir_path, path) + file_path = os.path.join(abs_metadata_dir, path) file_abs_path = os.path.abspath(file_path) try: media_file = file(file_abs_path, 'r') except IOError: - print "\ -FAIL: Local file {filename} could not be accessed.".format(filename=filename) - print "Skipping it." + print _(u"""\ +FAIL: Local file {filename} could not be accessed. +{filename} will not be uploaded.""".format(filename=filename)) continue try: submit_media( @@ -182,29 +148,36 @@ FAIL: Local file {filename} could not be accessed.".format(filename=filename) metadata=json_ld_metadata, tags_string=u"", upload_limit=upload_limit, max_file_size=max_file_size) - print "Successfully uploading {filename}!".format(filename=filename) - print "" + print _(u"""Successfully submitted {filename}! +Be sure to look at the Media Processing Panel on your website to be sure it +uploaded successfully.""".format(filename=filename)) files_uploaded += 1 except FileUploadLimit: - print "FAIL: This file is larger than the upload limits for this site." + print _( +u"FAIL: This file is larger than the upload limits for this site.") except UserUploadLimit: - print "FAIL: This file will put this user past their upload limits." + print _( +"FAIL: This file will put this user past their upload limits.") except UserPastUploadLimit: - print "FAIL: This user is already past their upload limits." - print "\ -{files_uploaded} out of {files_attempted} files successfully uploaded".format( + print _("FAIL: This user is already past their upload limits.") + print _( +"{files_uploaded} out of {files_attempted} files successfully submitted".format( files_uploaded=files_uploaded, - files_attempted=files_attempted) - teardown(temp_files) + files_attempted=files_attempted)) def parse_csv_file(file_contents): + """ + The helper function which converts the csv file into a dictionary where each + item's key is the provided value 'media:id' and each item's value is another + dictionary. + """ list_of_contents = file_contents.split('\n') key, lines = (list_of_contents[0].split(','), list_of_contents[1:]) objects_dict = {} - # Build a dictionaryfrom mediagoblin.tools.translate import lazy_pass_to_ugettext as _ + # Build a dictionary for line in lines: if line.isspace() or line == '': continue values = csv_reader([line]).next() @@ -215,7 +188,3 @@ def parse_csv_file(file_contents): return objects_dict - -def teardown(temp_files): - for temp_file in temp_files: - subprocess.call(['rm','-r',temp_file]) -- cgit v1.2.3 From 9ceea31c5b99201e8a222234980491b634b814c5 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 12 May 2014 14:27:26 -0400 Subject: Made the metadata table look pretty --- mediagoblin/static/css/base.css | 18 ++++++++++++++++++ .../templates/mediagoblin/utils/metadata_table.html | 10 ++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/mediagoblin/static/css/base.css b/mediagoblin/static/css/base.css index bb2a2cbd..df0e850b 100644 --- a/mediagoblin/static/css/base.css +++ b/mediagoblin/static/css/base.css @@ -610,6 +610,24 @@ a img.media_image { cursor: zoom-in; } +table.metadata_info { + font-size:85%; + margin-left:10px; +} + +table.metadata_info tr.highlight { + color:#f7f7f7; +} + +table.metadata_info th { + font-weight: bold; + border-spacing: 10px; + text-align: left; +} +table.metadata_info td { + padding: 4px 8px; +} + /* icons */ img.media_icon { diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html index b4c37dbd..edbee2c2 100644 --- a/mediagoblin/templates/mediagoblin/utils/metadata_table.html +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -20,10 +20,12 @@ {%- set metadata=media_entry.media_metadata %} {%- set metadata_context=metadata['@context'] %} {%- if metadata %} - - {%- for key, value in metadata.iteritems() if not key=='@context' %} - - +

{% trans %}Metadata Information{% endtrans %}

+
{{ format_predicate(key) }}
+ {%- for key, value in metadata.iteritems() if ( + not key=='@context' and value) %} + + -- cgit v1.2.3 From 8f65028ddff231bfb374add3dc1328af4f26ca9d Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 12 May 2014 14:48:46 -0400 Subject: Corrected the rdfa in the metadata table. --- mediagoblin/templates/mediagoblin/utils/metadata_table.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html index edbee2c2..14e18bf3 100644 --- a/mediagoblin/templates/mediagoblin/utils/metadata_table.html +++ b/mediagoblin/templates/mediagoblin/utils/metadata_table.html @@ -21,12 +21,12 @@ {%- set metadata_context=metadata['@context'] %} {%- if metadata %}

{% trans %}Metadata Information{% endtrans %}

-
+ {%- for key, value in metadata.iteritems() if ( not key=='@context' and value) %} - {%- endfor %} -- cgit v1.2.3 From acfcaf6366bd4695c1c37c7aa8ff5a176b412e2a Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 May 2014 14:50:58 -0500 Subject: Move the metadata display table over to being contained in a plugin --- .../plugins/metadata_display/metadata_table.html | 34 ++++++++++++++++++++ .../templates/mediagoblin/user_pages/media.html | 5 --- .../mediagoblin/utils/metadata_table.html | 37 ---------------------- mediagoblin/tools/metadata.py | 5 +++ mediagoblin/user_pages/lib.py | 3 -- mediagoblin/user_pages/views.py | 5 ++- 6 files changed, 41 insertions(+), 48 deletions(-) create mode 100644 mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html delete mode 100644 mediagoblin/templates/mediagoblin/utils/metadata_table.html diff --git a/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html b/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html new file mode 100644 index 00000000..db12f149 --- /dev/null +++ b/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html @@ -0,0 +1,34 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{%- set metadata=media.media_metadata %} +{%- set metadata_context=metadata['@context'] %} +{%- if metadata %} + {#- NOTE: In some smart future where the context is more extensible, + we will need to add to the prefix here-#} + + {%- for key, value in metadata.iteritems() if not key=='@context' %} + {% if value -%} + + + + + {%- endif -%} + {%- endfor %} +
{{ rdfa_to_readable(key) }}{{ value }}
+{% endif %} diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html index 22971fec..949cbcde 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media.html @@ -18,7 +18,6 @@ {%- extends "mediagoblin/base.html" %} {% import "/mediagoblin/utils/wtforms.html" as wtforms_util %} -{% import "/mediagoblin/utils/metadata_table.html" as metadata_util %} {% from "mediagoblin/utils/pagination.html" import render_pagination %} {% block title %}{{ media.title }} — {{ super() }}{% endblock %} @@ -231,10 +230,6 @@ {% template_hook("media_sideinfo") %} - {% block mediagoblin_sidebar %} - {{ metadata_util.render_table(request, media, rdfa_to_readable) }} - {% endblock %} -
diff --git a/mediagoblin/templates/mediagoblin/utils/metadata_table.html b/mediagoblin/templates/mediagoblin/utils/metadata_table.html deleted file mode 100644 index 3281c81c..00000000 --- a/mediagoblin/templates/mediagoblin/utils/metadata_table.html +++ /dev/null @@ -1,37 +0,0 @@ -{# -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -#} - -{%- macro render_table(request, media_entry, format_predicate) %} - {%- set metadata=media_entry.media_metadata %} - {%- set metadata_context=metadata['@context'] %} - {%- if metadata %} - {#- NOTE: In some smart future where the context is more extensible, - we will need to add to the prefix here-#} - - {%- for key, value_dict in metadata.iteritems() if not key=='@context' %} - {% if value_dict['@value'] -%} - - - - - {%- endif -%} - {%- endfor %} -
{{ format_predicate(key) }} - {{ value_dict['@value'] }}
- {% endif %} -{%- endmacro %} diff --git a/mediagoblin/tools/metadata.py b/mediagoblin/tools/metadata.py index 7de5a514..3f10e9d1 100644 --- a/mediagoblin/tools/metadata.py +++ b/mediagoblin/tools/metadata.py @@ -211,3 +211,8 @@ def expand_json(metadata, context=DEFAULT_CONTEXT): if context is not None: options["expandContext"] = context return jsonld.expand(metadata, options=options) + + +def rdfa_to_readable(rdfa_predicate): + readable = rdfa_predicate.split(u":")[1].capitalize() + return readable diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py index 83a99cee..e5c8defc 100644 --- a/mediagoblin/user_pages/lib.py +++ b/mediagoblin/user_pages/lib.py @@ -116,6 +116,3 @@ def build_report_object(report_form, media_entry=None, comment=None): report_object.reporter_id = report_form.reporter_id.data return report_object -def rdfa_to_readable(rdfa_predicate): - readable = rdfa_predicate.split(u":")[1].capitalize() - return readable diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index f42eae1f..78751a28 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -28,7 +28,7 @@ from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin.tools.pagination import Pagination from mediagoblin.user_pages import forms as user_forms from mediagoblin.user_pages.lib import (send_comment_email, - add_media_to_collection, build_report_object, rdfa_to_readable) + add_media_to_collection, build_report_object) from mediagoblin.notifications import trigger_notification, \ add_comment_subscription, mark_comment_notification_seen from mediagoblin.tools.pluginapi import hook_transform @@ -152,8 +152,7 @@ def media_home(request, media, page, **kwargs): 'comments': comments, 'pagination': pagination, 'comment_form': comment_form, - 'app_config': mg_globals.app_config, - 'rdfa_to_readable':rdfa_to_readable} + 'app_config': mg_globals.app_config} # Since the media template name gets swapped out for each media # type, normal context hooks don't work if you want to affect all -- cgit v1.2.3 From 8524a6bdc575312b35df6e6aa3118ed139303d72 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 12 May 2014 17:02:12 -0400 Subject: Added documentation for the batchaddmedia gmg tool to the mediagoblin docs. --- docs/source/siteadmin/commandline-upload.rst | 51 ++++++++++++++++++++++++++++ mediagoblin/gmg_commands/batchaddmedia.py | 12 +++++-- 2 files changed, 60 insertions(+), 3 deletions(-) diff --git a/docs/source/siteadmin/commandline-upload.rst b/docs/source/siteadmin/commandline-upload.rst index be19df58..d67c19dd 100644 --- a/docs/source/siteadmin/commandline-upload.rst +++ b/docs/source/siteadmin/commandline-upload.rst @@ -39,3 +39,54 @@ You can also pass in the `--celery` option if you would prefer that your media be passed over to celery to be processed rather than be processed immediately. +============================ +Command-line batch uploading +============================ + +There's another way to submit media, and it can be much more powerful, although +it is a bit more complex. + + ./bin/gmg batchaddmedia admin /path/to/your/metadata.csv + +This is an example of what a script may look like. The important part here is +that you have to create the 'metadata.csv' file.:: + + media:location,dcterms:title,dcterms:creator,dcterms:type + "http://www.example.net/path/to/nap.png","Goblin taking a nap",,"Image" + "http://www.example.net/path/to/snore.ogg","Goblin Snoring","Me","Audio" + +The above is an example of a very simple metadata.csv file. The batchaddmedia +script would read this and attempt to upload only two pieces of media, and would +be able to automatically name them appropriately. + +The csv file +============ +The media:location column +------------------------- +The media:location column is the one column that is absolutely necessary for +uploading your media. This gives a path to each piece of media you upload. This +can either a path to a local file or a direct link to remote media (with the +link in http format). As you can see in the example above the (fake) media was +stored remotely on "www.example.net". + +Other columns +------------- +Other columns can be used to provide detailed metadata about each media entry. +Our metadata system accepts any information provided for in the +`RDFa Core Initial Context`_, and the batchupload script recognizes all of the +resources provided within it. + +.. _RDFa Core Initial Context: http://www.w3.org/2011/rdfa-context/rdfa-1.1 + +The uploader may include the metadata for each piece of media, or +leave them blank if they want to. A few columns from `Dublin Core`_ are +notable because the batchaddmedia script uses them to set the default +information of uploaded media entries. + +.. _Dublin Core: http://wiki.dublincore.org/index.php/User_Guide + +- **dc:title** sets a title for your media entry. If this is left blank, the media entry will be named according to the filename of the file being uploaded. +- **dc:description** sets a description of your media entry. If this is left blank the media entry's description will not be filled in. +- **dc:rights** will set a license for your media entry `if` the data provided is a valid URI. If this is left blank 'All Rights Reserved' will be selected. + +You can of course, change these values later. diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 7ba8db1e..75e7b7c5 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -32,15 +32,21 @@ from jsonschema.exceptions import ValidationError def parser_setup(subparser): subparser.description = """\ This command allows the administrator to upload many media files at once.""" + subparser.epilog = _(u"""For more information about how to properly run this +script (and how to format the metadata csv file), read the MediaGoblin +documentation page on command line uploading +""") subparser.add_argument( 'username', - help="Name of user these media entries belong to") + help=_(u"Name of user these media entries belong to")) subparser.add_argument( - 'metadata_path') + 'metadata_path', + help=_( +u"""Path to the csv file containing metadata information.""")) subparser.add_argument( '--celery', action='store_true', - help="Don't process eagerly, pass off to celery") + help=_(u"Don't process eagerly, pass off to celery")) def batchaddmedia(args): -- cgit v1.2.3 From b5dd2459893fd1e7ae1376a7573a36bf15c983f7 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Mon, 12 May 2014 18:07:31 -0400 Subject: Made the metadata table functional within the new metadata_display plugin and removed all traces of it from core. --- mediagoblin/plugins/metadata_display/__init__.py | 41 +++++++++++++++ mediagoblin/plugins/metadata_display/lib.py | 31 +++++++++++ .../static/css/metadata_display.css | 14 +++++ .../metadata_display/bits/metadata_extra_head.html | 3 ++ .../plugins/metadata_display/metadata_table.html | 12 +++-- .../metadata_display/metadata_table.html.orig | 60 ++++++++++++++++++++++ mediagoblin/static/css/base.css | 19 ------- 7 files changed, 156 insertions(+), 24 deletions(-) create mode 100644 mediagoblin/plugins/metadata_display/__init__.py create mode 100644 mediagoblin/plugins/metadata_display/lib.py create mode 100644 mediagoblin/plugins/metadata_display/static/css/metadata_display.css create mode 100644 mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/bits/metadata_extra_head.html create mode 100644 mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html.orig diff --git a/mediagoblin/plugins/metadata_display/__init__.py b/mediagoblin/plugins/metadata_display/__init__.py new file mode 100644 index 00000000..4a4c898f --- /dev/null +++ b/mediagoblin/plugins/metadata_display/__init__.py @@ -0,0 +1,41 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +import os +from pkg_resources import resource_filename + +from mediagoblin.plugins.metadata_display.lib import add_rdfa_to_readable_to_media_home +from mediagoblin.tools import pluginapi +from mediagoblin.tools.staticdirect import PluginStatic + +PLUGIN_DIR = os.path.dirname(__file__) + +def setup_plugin(): + # Register the template path. + pluginapi.register_template_path(os.path.join(PLUGIN_DIR, 'templates')) + + pluginapi.register_template_hooks( + {"media_sideinfo": "mediagoblin/plugins/metadata_display/metadata_table.html", + "head": "mediagoblin/plugins/metadata_display/bits/metadata_extra_head.html"}) + + +hooks = { + 'setup': setup_plugin, + 'static_setup': lambda: PluginStatic( + 'metadata_display', + resource_filename('mediagoblin.plugins.metadata_display', 'static') + ), + 'media_home_context':add_rdfa_to_readable_to_media_home + } diff --git a/mediagoblin/plugins/metadata_display/lib.py b/mediagoblin/plugins/metadata_display/lib.py new file mode 100644 index 00000000..0985208c --- /dev/null +++ b/mediagoblin/plugins/metadata_display/lib.py @@ -0,0 +1,31 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +def rdfa_to_readable(rdfa_predicate): + """ + A simple script to convert rdfa resource descriptors into a form more + accessible for humans. + """ + readable = rdfa_predicate.split(u":")[1].capitalize() + return readable + +def add_rdfa_to_readable_to_media_home(context): + """ + A context hook which adds the 'rdfa_to_readable' filter to + the media home page. + """ + context['rdfa_to_readable'] = rdfa_to_readable + return context diff --git a/mediagoblin/plugins/metadata_display/static/css/metadata_display.css b/mediagoblin/plugins/metadata_display/static/css/metadata_display.css new file mode 100644 index 00000000..e4612b02 --- /dev/null +++ b/mediagoblin/plugins/metadata_display/static/css/metadata_display.css @@ -0,0 +1,14 @@ +table.metadata_info { + font-size:85%; + margin-left:10px; +} + +table.metadata_info th { + font-weight: bold; + border-spacing: 10px; + text-align: left; +} +table.metadata_info td { + padding: 4px 8px; +} + diff --git a/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/bits/metadata_extra_head.html b/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/bits/metadata_extra_head.html new file mode 100644 index 00000000..84eedf18 --- /dev/null +++ b/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/bits/metadata_extra_head.html @@ -0,0 +1,3 @@ + diff --git a/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html b/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html index 73b5ec52..3a9d872c 100644 --- a/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html +++ b/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html @@ -15,17 +15,18 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . #} - +{% block metadata_information_table %} {%- set metadata=media.media_metadata %} {%- set metadata_context=metadata['@context'] %} {%- if metadata %} +

{% trans %}Metadata{% endtrans %}

{#- NOTE: In some smart future where the context is more extensible, we will need to add to the prefix here-#} - +
{%- for key, value in metadata.iteritems() if not key=='@context' %} {% if value -%} - + {%- endif -%} @@ -34,7 +35,8 @@ {% endif %} {% if request.user and request.user.has_privilege('admin') %} + user=media.get_uploader.username, + media_id=media.id) }}"> {% trans %}Edit Metadata{% endtrans %} {% endif %} +{% endblock %} diff --git a/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html.orig b/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html.orig new file mode 100644 index 00000000..2bd1a14c --- /dev/null +++ b/mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html.orig @@ -0,0 +1,60 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +<<<<<<< HEAD:mediagoblin/templates/mediagoblin/utils/metadata_table.html +{%- macro render_table(request, media_entry, format_predicate) %} + {%- set metadata=media_entry.media_metadata %} + {%- set metadata_context=metadata['@context'] %} + {%- if metadata %} +

{% trans %}Metadata Information{% endtrans %}

+
+ {%- for key, value in metadata.iteritems() if ( + not key=='@context' and value) %} + + + + + {%- endfor %} + + {% endif %} + {% if request.user and request.user.has_privilege('admin') %} + + {% trans %}Edit Metadata{% endtrans %} + {% endif %} +{%- endmacro %} +======= +{%- set metadata=media.media_metadata %} +{%- set metadata_context=metadata['@context'] %} +{%- if metadata %} + {#- NOTE: In some smart future where the context is more extensible, + we will need to add to the prefix here-#} + + {%- for key, value in metadata.iteritems() if not key=='@context' %} + {% if value -%} + + + + + {%- endif -%} + {%- endfor %} +
{{ rdfa_to_readable(key) }}{{ value }}
+{% endif %} +>>>>>>> acfcaf6366bd4695c1c37c7aa8ff5a176b412e2a:mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html diff --git a/mediagoblin/static/css/base.css b/mediagoblin/static/css/base.css index df0e850b..a3b564ea 100644 --- a/mediagoblin/static/css/base.css +++ b/mediagoblin/static/css/base.css @@ -609,25 +609,6 @@ a img.media_image { cursor: -moz-zoom-in; cursor: zoom-in; } - -table.metadata_info { - font-size:85%; - margin-left:10px; -} - -table.metadata_info tr.highlight { - color:#f7f7f7; -} - -table.metadata_info th { - font-weight: bold; - border-spacing: 10px; - text-align: left; -} -table.metadata_info td { - padding: 4px 8px; -} - /* icons */ img.media_icon { -- cgit v1.2.3 From b24c27d1237ed97fb1cfab961ad5dab9b165ac20 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 11:47:41 -0400 Subject: Added the new plugin I've been working at all summer at this link: https://gitorious.org/npigeons-mediagoblin/archivalook/source/6dbd68dab85650792456b8e24bbbd36a323c2018: --- mediagoblin/plugins/archivalook/.gitignore | 5 + mediagoblin/plugins/archivalook/COPYING.txt | 661 +++++++++++++++++++++ mediagoblin/plugins/archivalook/README.txt | 0 mediagoblin/plugins/archivalook/__init__.py | 106 ++++ mediagoblin/plugins/archivalook/forms.py | 21 + mediagoblin/plugins/archivalook/migrations.py | 14 + mediagoblin/plugins/archivalook/models.py | 103 ++++ .../archivalook/static/css/featured-media.css | 154 +++++ .../archivalook/templates/archivalook/feature.html | 115 ++++ .../archivalook/feature_displays/audio_head.html | 5 + .../feature_displays/audio_primary.html | 54 ++ .../feature_displays/audio_secondary.html | 40 ++ .../feature_displays/default_primary.html | 30 + .../feature_displays/default_secondary.html | 34 ++ .../feature_displays/default_tertiary.html | 40 ++ .../feature_displays/image_primary.html | 33 + .../feature_displays/image_secondary.html | 39 ++ .../archivalook/feature_displays/video_head.html | 23 + .../feature_displays/video_primary.html | 53 ++ .../feature_displays/video_secondary.html | 56 ++ .../archivalook/feature_media_sidebar.html | 55 ++ .../templates/archivalook/recent_media.html | 36 ++ .../archivalook/templates/archivalook/root.html | 79 +++ .../archivalook/utils/display_featured.html | 28 + mediagoblin/plugins/archivalook/tools.py | 292 +++++++++ mediagoblin/plugins/archivalook/utils.py | 29 + mediagoblin/plugins/archivalook/views.py | 174 ++++++ 27 files changed, 2279 insertions(+) create mode 100644 mediagoblin/plugins/archivalook/.gitignore create mode 100644 mediagoblin/plugins/archivalook/COPYING.txt create mode 100644 mediagoblin/plugins/archivalook/README.txt create mode 100644 mediagoblin/plugins/archivalook/__init__.py create mode 100644 mediagoblin/plugins/archivalook/forms.py create mode 100644 mediagoblin/plugins/archivalook/migrations.py create mode 100644 mediagoblin/plugins/archivalook/models.py create mode 100644 mediagoblin/plugins/archivalook/static/css/featured-media.css create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_head.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_secondary.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_primary.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_secondary.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_tertiary.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/image_primary.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/image_secondary.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_head.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/root.html create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/utils/display_featured.html create mode 100644 mediagoblin/plugins/archivalook/tools.py create mode 100644 mediagoblin/plugins/archivalook/utils.py create mode 100644 mediagoblin/plugins/archivalook/views.py diff --git a/mediagoblin/plugins/archivalook/.gitignore b/mediagoblin/plugins/archivalook/.gitignore new file mode 100644 index 00000000..51743ce8 --- /dev/null +++ b/mediagoblin/plugins/archivalook/.gitignore @@ -0,0 +1,5 @@ +*.pyc +*.pyo +*~ +*.swp +*.backup.html diff --git a/mediagoblin/plugins/archivalook/COPYING.txt b/mediagoblin/plugins/archivalook/COPYING.txt new file mode 100644 index 00000000..dba13ed2 --- /dev/null +++ b/mediagoblin/plugins/archivalook/COPYING.txt @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/mediagoblin/plugins/archivalook/README.txt b/mediagoblin/plugins/archivalook/README.txt new file mode 100644 index 00000000..e69de29b diff --git a/mediagoblin/plugins/archivalook/__init__.py b/mediagoblin/plugins/archivalook/__init__.py new file mode 100644 index 00000000..1a4af68f --- /dev/null +++ b/mediagoblin/plugins/archivalook/__init__.py @@ -0,0 +1,106 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +import logging +import os +from pkg_resources import resource_filename + +from mediagoblin.tools.pluginapi import (register_template_path, + register_routes, + register_template_hooks) +from mediagoblin.plugins.archivalook.views import (get_root_view, + add_featured_media_to_media_home, + promote_featured_media, + demote_featured_media) +from mediagoblin.tools.staticdirect import PluginStatic + + +_log = logging.getLogger(__name__) + + +_setup_plugin_called = 0 + +def setup_plugin(): + global _setup_plugin_called + + my_plugin_dir = os.path.dirname(__file__) + template_dir = os.path.join(my_plugin_dir, 'templates') + register_template_path(template_dir) + register_routes([ + ('manage-featured-media', '/mod/feature-media/', + 'mediagoblin.plugins.archivalook.views:featured_media_panel'), + ('gallery-recent-media', '/recent/', + 'mediagoblin.plugins.archivalook.views:recent_media_gallery_view'), + ('mediagoblin.user_pages.media_feature', + '/u//m//feature/', + 'mediagoblin.plugins.archivalook.views:feature_media'), + ('mediagoblin.user_pages.media_unfeature', + '/u//m//unfeature/', + 'mediagoblin.plugins.archivalook.views:unfeature_media'), + ('mediagoblin.user_pages.feature_promote', + '/u//m//promote_feature/', + 'mediagoblin.plugins.archivalook.views:promote_featured_media'), + ('mediagoblin.user_pages.feature_demote', + '/u//m//demote_feature/', + 'mediagoblin.plugins.archivalook.views:demote_featured_media')]) + register_template_hooks({ + 'media_sideinfo':'archivalook/feature_media_sidebar.html'}) + + # Add template head hooks, if certain media types are enabled + from mediagoblin import mg_globals + plugin_section = mg_globals.global_config.get("plugins", {}) + if "mediagoblin.media_types.video" in plugin_section: + register_template_hooks({ + "archivalook_feature_head": ( + "/archivalook/feature_displays/video_head.html")}) + if "mediagoblin.media_types.audio" in plugin_section: + register_template_hooks({ + "archivalook_feature_head": ( + "/archivalook/feature_displays/audio_head.html")}) + + +IMAGE_PRIMARY_TEMPLATE = "/archivalook/feature_displays/image_primary.html" +IMAGE_SECONDARY_TEMPLATE = "/archivalook/feature_displays/image_secondary.html" +IMAGE_TERTIARY_TEMPLATE = "/archivalook/feature_displays/image_tertiary.html" +AUDIO_PRIMARY_TEMPLATE = "/archivalook/feature_displays/audio_primary.html" +AUDIO_SECONDARY_TEMPLATE = "/archivalook/feature_displays/audio_secondary.html" +AUDIO_TERTIARY_TEMPLATE = "/archivalook/feature_displays/audio_tertiary.html" +VIDEO_PRIMARY_TEMPLATE = "/archivalook/feature_displays/video_primary.html" +VIDEO_SECONDARY_TEMPLATE = "/archivalook/feature_displays/video_secondary.html" +VIDEO_TERTIARY_TEMPLATE = "/archivalook/feature_displays/video_tertiary.html" + +hooks = { + 'setup': setup_plugin, + 'static_setup': lambda: PluginStatic( + 'archivalook', + resource_filename('mediagoblin.plugins.archivalook', 'static') + ), + 'frontpage_view': get_root_view, + 'media_home_context': add_featured_media_to_media_home, + + # # Primary and secondary templates + ("feature_primary_template", + "mediagoblin.media_types.image"): lambda: IMAGE_PRIMARY_TEMPLATE, + ("feature_secondary_template", + "mediagoblin.media_types.image"): lambda: IMAGE_SECONDARY_TEMPLATE, + ("feature_primary_template", + "mediagoblin.media_types.audio"): lambda: AUDIO_PRIMARY_TEMPLATE, + ("feature_secondary_template", + "mediagoblin.media_types.audio"): lambda: AUDIO_SECONDARY_TEMPLATE, + ("feature_primary_template", + "mediagoblin.media_types.video"): lambda: VIDEO_PRIMARY_TEMPLATE, + ("feature_secondary_template", + "mediagoblin.media_types.video"): lambda: VIDEO_SECONDARY_TEMPLATE, +} diff --git a/mediagoblin/plugins/archivalook/forms.py b/mediagoblin/plugins/archivalook/forms.py new file mode 100644 index 00000000..b22a2e2f --- /dev/null +++ b/mediagoblin/plugins/archivalook/forms.py @@ -0,0 +1,21 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +import wtforms +from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ + +class FeaturedMediaList(wtforms.Form): + box_content = wtforms.TextAreaField( + _('Enter the URL for the media to be featured')) diff --git a/mediagoblin/plugins/archivalook/migrations.py b/mediagoblin/plugins/archivalook/migrations.py new file mode 100644 index 00000000..6760f773 --- /dev/null +++ b/mediagoblin/plugins/archivalook/migrations.py @@ -0,0 +1,14 @@ +from mediagoblin.db.migration_tools import RegisterMigration, inspect_table +from sqlalchemy import MetaData, Table, Column, Integer +MIGRATIONS = {} + +@RegisterMigration(1, MIGRATIONS) +def add_order_column(db): + metadata = MetaData(bind=db.bind) + + featured_media = inspect_table(metadata, "archivalook__featured_media") + col = Column("order", Integer, default=0) + + col.create(featured_media) + + db.commit() diff --git a/mediagoblin/plugins/archivalook/models.py b/mediagoblin/plugins/archivalook/models.py new file mode 100644 index 00000000..3d8dd756 --- /dev/null +++ b/mediagoblin/plugins/archivalook/models.py @@ -0,0 +1,103 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from sqlalchemy import Column, Integer, Unicode, ForeignKey +from sqlalchemy.orm import relationship, backref + +from mediagoblin.db.base import Base +from mediagoblin.db.models import MediaEntry, Privilege + +BACKREF_NAME = "archivalook__featured" + + +class FeaturedMedia(Base): + """ + A table which logs which media are featured so that they can be displayed on + the front page. + + :keyword media_entry_id An integer foreign key which + indicates which media entry this + feature describes. + :keyword display_type A string to describe how + prominently this feature will be + displayed. The three appropriate + values are 'primary', + 'secondary' and 'tertiary' + :keyword order An integer describing this + feature's place in the "stack" + which is displayed to the site's + visitor. This value should begin + at 0 (for the top) and increase + by one for each feature below it + + """ + __tablename__="archivalook__featured_media" + + id = Column(Integer, primary_key=True, nullable=False) + media_entry_id = Column(Integer, ForeignKey(MediaEntry.id), nullable=False) + media_entry = relationship( + MediaEntry, + backref=backref(BACKREF_NAME, uselist=False, + cascade="all, delete-orphan")) + display_type = Column(Unicode, nullable=False) + order = Column(Integer, nullable=False) + + def move_down(self): + self.order += 1 + self.save() + + def move_up(self): + if not self.order == 1: + self.order -= 1 + self.save() + + def demote(self): + if self.is_last_of_type() and self.display_type == u'primary': + self.display_type = u'secondary' + elif self.is_last_of_type() and self.display_type == u'secondary': + self.display_type = u'tertiary' + self.save() + + def promote(self): + if self.is_first_of_type() and self.display_type == u'secondary': + self.display_type = u'primary' + elif self.is_first_of_type() and self.display_type == u'tertiary': + self.display_type = u'secondary' + self.save() + + def is_first_of_type(self): + """ + :returns boolean Returns True if the feature is the first + of its display type to show up on the + front page. Returns False otherwise. + """ + return FeaturedMedia.query.order_by( + FeaturedMedia.order.asc()).filter( + FeaturedMedia.display_type==self.display_type).first() == self + + def is_last_of_type(self): + """ + :returns boolean Returns True if the feature is the last + of its display type to show up on the + front page. Returns False otherwise. + """ + return FeaturedMedia.query.order_by( + FeaturedMedia.order.desc()).filter( + FeaturedMedia.display_type==self.display_type).first() == self + +MODELS = [FeaturedMedia] + +new_privilege_foundations = [{"privilege_name":"featurer"}] +FOUNDATIONS = {Privilege:new_privilege_foundations} diff --git a/mediagoblin/plugins/archivalook/static/css/featured-media.css b/mediagoblin/plugins/archivalook/static/css/featured-media.css new file mode 100644 index 00000000..12a3ebff --- /dev/null +++ b/mediagoblin/plugins/archivalook/static/css/featured-media.css @@ -0,0 +1,154 @@ +.primary-feature { + display:inline-block; + width: 460px; + padding:10px; + margin:0px 0px 0px 160px; + border-right: 1px solid #222; + border-left: 1px solid #222; +} + +.primary-feature .f-title { + text-align:center; +} +.primary-feature .f-description { + +} +.primary-feature .f-display { + width: 300px; + margin: 5px auto; +} +.primary-feature .f-display img { + width: 300px; +} +.primary-feature .f-display video { + width: 300px; + margin: 5px auto; + display: block; +} +.primary-feature a { + text-decoration:none; + +} +.primary-feature p { + display:block; + margin: 5px auto; +} + +.secondary-feature { + display:inline-block; + width: 800px; + padding:10px; + margin: 0 auto; + font-size:85%; + border-top: 1px solid #222; +} +.secondary-feature .f-title, +.secondary-feature .f-description { + width:500px; +} +.secondary-feature .f-display { + width: 250px; + margin: 20px 25px 20px 0; +} +.secondary-feature .f-display img { + width: 200px; +} + +.secondary-feature .f-display audio { + width: 250px; + display: block; +} + +.secondary-feature .f-display video { + width: 200px; +} + +.secondary-feature a { + text-decoration:none; +} +.secondary-feature p { + display:inline-block; + margin:5px; +} + +.f-title { + color:#ffffff; + font-size:150%; +} + +.aligned-right .f-display, +.aligned-right .f-description, +.aligned-right .f-title { + float: right; +} +.aligned-left .f-display, +.aligned-left .f-description, +.aligned-left .f-title { + float: left; +} + +.tertiary-features { + display:inline-block; + width: 802px; + padding:10px; + margin: 10 auto; + font-size:65%; + border-top: 0.5px solid #222; +} + +.tertiary-features tr td { + width: 254px; + padding: 20px 15px; +} + +.tertiary-features tr td.row_first { + text-align: left; +} + +.tertiary-features tr td.row_center { + text-align: center; +} + +.tertiary-features tr td.row_last { + text-align: right; +} + +.tertiary-features tr td p, .tertiary-features tr td a, { + display:block; + width: 250px; + text-decoration:none; + float: left; +} + +div.navigation-sidebar { + display:inline-block; + float:right; + font-size:1.25em; + padding:20px 10px 10px 10px; +} +div.navigation-sidebar a { + display: block; + margin: 3px 0 0 0; +} + +select.media_select { + width: 800px; + height: 400px; +} + +.frontpage-container { + width: 800px; + margin: 0 auto; +} + +form#featured-media-panel div textarea { + width: 800px; + margin: 0 auto; + font-size:1.15em; + height: 15em; + font-weight: 0.3; + resize: none; + padding: 5px 25px; + color: #111; + line-height: 1.25em; +} diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature.html new file mode 100644 index 00000000..6bcf792e --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature.html @@ -0,0 +1,115 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} +{% extends "mediagoblin/base.html" %} +{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %} + +{%- block mediagoblin_head -%} + +{%- endblock mediagoblin_head %} + +{%- block mediagoblin_content %} + + {{ wtforms_util.render_divs(form) }} + + {{ csrf_token }} + + +

{% trans %}How does this work?{% endtrans %}

+ {% trans %}How to feature media?{% endtrans -%} + +

+ {% trans %} + Go to the page of the media entry you want to feature. Copy it's URL and + then paste it into a new line in the text box above. There should be only + one url per line. The url that you paste into the text box should be under + the header describing how prominent a feature it will be (whether Primary, + Secondary, or Tertiary). Once all of the media that you want to feature are + inside the text box, click the Submit Query button, and your media should be + displayed on the front page. + {% endtrans %}

+ + + {%- trans %}Is there another way to manage featured media?{% endtrans %} + +

+ {% trans %} + Yes. If you would prefer, you may go to the media homepage of the piece + of media you would like to feature or unfeature and look at the bar to + the side of the media entry. If the piece of media has not been featured + yet you should see a button that says 'Feature'. Press that button and + the media will be featured as a Primary Feature at the top of the page. + All other featured media entries will remain as features, but will be + pushed further down the page.

+ + If you go to the media homepage of a piece of media that is currently + featured, you will see the options "Unfeature", "Promote" and "Demote" + where previously there was the button which said "Feature". Click + Unfeature and that media entry will no longer be displayed on the + front page, although you can feature it again at any point. Promote + moves the featured media higher up on the page and makes it more + prominent and Demote moves the featured media lower down and makes it + less prominent. + {% endtrans %}

+ + {% trans -%} + What is a Primary Feature? What is a Secondary Feature?{% endtrans -%} + +

+ {% trans %} + These categories just describe how prominent a feature will be on your + front page. Primary Features are placed at the top of the front page and are + much larger. Next are Secondary Features, which are slightly smaller. + Tertiary Features make up a grid at the bottom of the page.

+ + Primary Features also can display longer descriptions than Secondary + Features, and Secondary Features can display longer descriptions than + Tertiary Features.{% endtrans %}

+ + + {% trans %}How to decide what information is displayed when a media entry is + featured?{% endtrans %} +

+ {% trans %} + When a media entry is featured, the entry's title, it's thumbnail and a + portion of its description will be displayed on your website's front page. + The number of characters displayed varies on the prominence of the feature. + Primary Features display the first 512 characters of their description, + Secondary Features display the first 256 characters of their description, + and Tertiary Features display the first 128 characters of their description. + {% endtrans %} +

+ + {% trans -%} + How to unfeature a piece of media?{% endtrans -%} + +

+ {% trans %} + Unfeature a media by removing its line from the above textarea and then + pressing the Submit Query button. + {% endtrans %} +

+ + {% trans %}CAUTION:{% endtrans %} +

+ {% trans %} + When copying and pasting urls into the above text box, be aware that if + you make a typo, once you press Submit Query, your media entry will NOT be + featured. Make sure that all your intended Media Entries are featured. + {% endtrans %}

+{% endblock %} diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_head.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_head.html new file mode 100644 index 00000000..a53694b3 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_head.html @@ -0,0 +1,5 @@ + + + diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html new file mode 100644 index 00000000..aae3790d --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html @@ -0,0 +1,54 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{% from "archivalook/utils/display_featured.html" import + possibly_shortened_description %} + +{%- set media = feature.media_entry %} +{%- set entry_url = media.url_for_self(request.urlgen) %} + +
+ +

{{ media.title }}

+
+

+

+ {%- if 'spectrogram' in media.media_files %} +
+ Spectrogram +
+ {%- endif %} + +
+

+ {{ possibly_shortened_description(request, feature.media_entry) }} +
diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_secondary.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_secondary.html new file mode 100644 index 00000000..b863f5b0 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_secondary.html @@ -0,0 +1,40 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{% from "archivalook/utils/display_featured.html" import + possibly_shortened_description %} + +{%- set media = feature.media_entry %} +{%- set entry_url = media.url_for_self(request.urlgen) %} +{%- if feature_loop.index % 2 == 1 -%} +
+{%- else -%} +
+{%- endif %} +

+ +

+ {{ possibly_shortened_description(request, feature.media_entry) }} + +

{{ media.title }}

+
+
diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_primary.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_primary.html new file mode 100644 index 00000000..57986622 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_primary.html @@ -0,0 +1,30 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{% from "archivalook/utils/display_featured.html" import + possibly_shortened_description %} + +{%- set featured_media_entry = feature.media_entry %} +{%- set entry_url = featured_media_entry.url_for_self(request.urlgen) %} + +
+ +

{{ featured_media_entry.title }}

+ + {{ possibly_shortened_description(request, feature.media_entry) }} +

diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_secondary.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_secondary.html new file mode 100644 index 00000000..4d2bdab9 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_secondary.html @@ -0,0 +1,34 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + + +{% from "archivalook/utils/display_featured.html" import + possibly_shortened_description %} + +{%- set featured_media_entry = feature.media_entry %} +{%- set entry_url = featured_media_entry.url_for_self(request.urlgen) %} +{%- if feature_loop.index % 2 == 1 -%} +
+{%- else -%} +
+{%- endif -%} + {{ possibly_shortened_description(request, feature.media_entry) }} + +

{{ featured_media_entry.title }}

+
+
diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_tertiary.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_tertiary.html new file mode 100644 index 00000000..90083a91 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/default_tertiary.html @@ -0,0 +1,40 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{%- from "archivalook/utils/display_featured.html" import + possibly_shortened_description -%} + +{%- set entry = feature.media_entry -%} +{%- set entry_url = entry.url_for_self(request.urlgen) -%} + +{%- if feature_loop.first %} + {%- set row_position = "row_first" %} +{%- elif feature_loop.last %} + {%- set row_position = "row_last" %} +{%- else -%} + {%- set row_position = "row_center" %} +{%- endif -%} + + + + + + {{ entry.title }} + + {{ possibly_shortened_description(request, feature.media_entry, 128) }} + diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/image_primary.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/image_primary.html new file mode 100644 index 00000000..66687be9 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/image_primary.html @@ -0,0 +1,33 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{% from "archivalook/utils/display_featured.html" import + possibly_shortened_description %} + +{%- set featured_media_entry = feature.media_entry %} +{%- set display_media = request.app.public_store.file_url( + featured_media_entry.get_display_media()[1]) %} +{%- set entry_url = featured_media_entry.url_for_self(request.urlgen) %} + +
+ +

{{ featured_media_entry.title }}

+

+
+ {{ possibly_shortened_description(request, feature.media_entry) }} +
diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/image_secondary.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/image_secondary.html new file mode 100644 index 00000000..0f64448a --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/image_secondary.html @@ -0,0 +1,39 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + + +{% from "archivalook/utils/display_featured.html" import + possibly_shortened_description %} + +{%- set featured_media_entry = feature.media_entry %} +{%- set display_media = request.app.public_store.file_url( + featured_media_entry.get_display_media()[1]) %} +{%- set entry_url = featured_media_entry.url_for_self(request.urlgen) %} +{%- if feature_loop.index % 2 == 1 -%} +
+{%- else -%} +
+{%- endif -%} + +

+
+ {{ possibly_shortened_description(request, feature.media_entry) }} + +

{{ featured_media_entry.title }}

+
+
diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_head.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_head.html new file mode 100644 index 00000000..495382f5 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_head.html @@ -0,0 +1,23 @@ + +{# Sadly commented out till we can get the mediagoblin skin ported over + # to the newest video.js release ;\ #} +{# + +#} + + + diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html new file mode 100644 index 00000000..64976257 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html @@ -0,0 +1,53 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{% from "archivalook/utils/display_featured.html" import + possibly_shortened_description %} + +{%- set media = feature.media_entry %} +{%- set display_media = request.app.public_store.file_url( + media.get_display_media()[1]) %} +{%- set entry_url = media.url_for_self(request.urlgen) %} + +
+ +

{{ media.title }}

+
+
+ {%- set display_type, display_path = media.get_display_media() %} + +
+ {{ possibly_shortened_description(request, feature.media_entry) }} +
diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html new file mode 100644 index 00000000..92a44d49 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html @@ -0,0 +1,56 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{% from "archivalook/utils/display_featured.html" import + possibly_shortened_description %} + +{%- set media = feature.media_entry %} +{%- set display_media = request.app.public_store.file_url( + media.get_display_media()[1]) %} +{%- set entry_url = media.url_for_self(request.urlgen) %} +{%- if feature_loop.index % 2 == 1 -%} +
+{%- else -%} +
+{%- endif %} +
+ {%- set display_type, display_path = media.get_display_media() %} + +
+ {{ possibly_shortened_description(request, feature.media_entry) }} + +

{{ media.title }}

+
+
diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html new file mode 100644 index 00000000..c5b8a7d6 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html @@ -0,0 +1,55 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + {% if request.user and request.user.has_privilege('featurer') %} + {% set media_feature=featured_media.filter_by( + media_entry_id = media.id).first() %} + {% if not media_feature %} + + {% trans %}Feature{% endtrans %} + {% else %} + + {% trans %}Unfeature{% endtrans %} + {% if not media_feature.display_type == 'primary' %} + + {% trans %}Promote{% endtrans %} + {% endif %}{% if not media_feature.display_type == 'tertiary' %} + + {% trans %}Demote{% endtrans %} + {% endif %} + {% endif %} + {% endif %} diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html b/mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html new file mode 100644 index 00000000..09690c8f --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html @@ -0,0 +1,36 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} +{% extends "mediagoblin/base.html" %} + +{% from "mediagoblin/utils/object_gallery.html" import object_gallery %} + +{% set feed_url = request.urlgen('mediagoblin.listings.atom_feed') %} + +{% block mediagoblin_head -%} + {% set feed_url = request.urlgen('mediagoblin.listings.atom_feed') -%} + +{%- endblock mediagoblin_head %} + +{% block mediagoblin_content %} +

{% trans %}Most recent media{% endtrans %}

+ {{ object_gallery(request, media_entries, pagination) }} + + {#- Need to set feed_url within this block so template can use it. -#} + {%- set feed_url = feed_url -%} + {%- include "mediagoblin/utils/feed_link.html" -%} +{% endblock %} diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/root.html b/mediagoblin/plugins/archivalook/templates/archivalook/root.html new file mode 100644 index 00000000..72fe8656 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/root.html @@ -0,0 +1,79 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} +{% extends "mediagoblin/base.html" %} + +{% set feed_url = request.urlgen('mediagoblin.listings.atom_feed') %} + +{%- block mediagoblin_head -%} + {%- set feed_url = request.urlgen('mediagoblin.listings.atom_feed') %} + + + + {% template_hook("archivalook_feature_head") %} +{%- endblock mediagoblin_head %} + +{%- block mediagoblin_content %} +
+ {%- if featured_media.primary|length > 0 or + featured_media.secondary|length > 0 or + featured_media.tertiary|length > 0 -%} + {%- for feature in featured_media.primary %} + {% set feature_loop = loop %} + {% include feature_template(feature.media_entry, "primary") %} + {%- endfor %} + + {%- for feature in featured_media.secondary %} + {% set feature_loop = loop %} + {% include feature_template(feature.media_entry, "secondary") %} + {%- endfor %} + + + {% set col_number = 3 %} + {%- for row in featured_media.tertiary|batch(col_number) %} + {% set row_loop = loop %} + + {%- for feature in row %} + {% set feature_loop = loop %} + {% include feature_template(feature.media_entry, "tertiary") %} + {%- endfor %} + + {%- endfor %} +
+
+ {%- elif request.user and request.user.has_privilege('featurer') %} +
+

{% trans %}Nothing is currently featured.{% endtrans %}

+ {% trans %}If you would like to feature a + piece of media, go to that media entry's homepage and click the button + that says{% endtrans %} Feature. + {% trans %}You're seeing this page because you are a user capable of + featuring media, a regular user would see a blank page, so be sure to + have media featured as long as your instance has the 'archivalook' + plugin enabled. A more advanced tool to manage features can be found + in the{% endtrans %} + + {% trans %}feature management panel.{% endtrans %} +
+
+ {%- endif %} + + {% trans %}View most recent media{% endtrans %} + +{% endblock %} diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/utils/display_featured.html b/mediagoblin/plugins/archivalook/templates/archivalook/utils/display_featured.html new file mode 100644 index 00000000..b3c23c0c --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/utils/display_featured.html @@ -0,0 +1,28 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + +{% macro possibly_shortened_description(request, entry, max_length=512) -%} +

+ {%- if entry.description|length < max_length %} + {{- entry.description -}} + {%- else -%} + {{- entry.description[:max_length] }}... + [More] + {%- endif -%} +

+{%- endmacro %} diff --git a/mediagoblin/plugins/archivalook/tools.py b/mediagoblin/plugins/archivalook/tools.py new file mode 100644 index 00000000..9c715c9b --- /dev/null +++ b/mediagoblin/plugins/archivalook/tools.py @@ -0,0 +1,292 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from mediagoblin.db.models import MediaEntry, User +from mediagoblin.plugins.archivalook.models import FeaturedMedia +from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ +from mediagoblin.plugins.archivalook.models import FeaturedMedia + +def get_media_entry_from_uploader_slug(uploader_username, slug): + """ + Accepts two strings and searches to see if those strings identify a + MediaEntry + + :param uploader_username A string representing the User.username + of the user who uploaded a piece of + media. + :param slug A string representing the slug of a + piece of media + + :returns media A MediaEntry object or None if no entry + matches the specifications. + """ + uploader = User.query.filter( + User.username == uploader_username).first() + media = MediaEntry.query.filter( + MediaEntry.get_uploader == uploader ).filter( + MediaEntry.slug == slug).first() + return media + + +def parse_url(url): + """ + A simple helper function that extracts the uploader and slug from a full url + + :param url A string containing the url for a piece + of media. This should be in the format + of "/u/{user}/m/{media}/" + + :returns (uploader_username, slug) Uploader_username is a unicode string + representing the username of the user + who uploaded the piece of media, slug is + the media entry's url slug. + """ + url = unicode(url) + u_end, m_start, m_end, end = (url.find('/u/') + 3, + url.find('/m/'), + url.find('/m/') + 3, + url.rfind('/')) + + uploader_username = url[u_end:m_start].strip() + slug = url[m_end:end].strip() + + return uploader_username, slug + + +def split_featured_media_list(featured_media): + """ + This script is part of processing post request on the /mod/feature-media/ + page. Post requests on these pages will only include the textbox, so this + script accepts the textbox's contents as its parameter. + + :parameter featured_media A string from a submitted + textarea within the post request + on /mod/feature-media/ + + :returns all_featured_media A dictionary of the format + MediaEntry : 'string' + where MediaEntry is a featured + piece of media and 'string' is + a string representation of its + display type (primary, secondary + or tertiary) + """ + + featured_media = unicode(featured_media) + featured_media_list = featured_media.split("\n") + display_type = 0 + media_already_featured = [] + all_featured_media = [] + for line in featured_media_list: + if line == '' or line.isspace(): continue + elif line.startswith(u'-'): + display_type += 1 + elif display_type <= 0 or display_type > 3: continue + else: + uploader, slug = parse_url(line) + media = get_media_entry_from_uploader_slug(uploader, slug) + # Make sure the media entry referenced exists, and has not already + # been featured higher up the list + if media == None or media in media_already_featured: continue + media_already_featured.append(media) + all_featured_media.append((media, + [None, + u'primary', + u'secondary', + u'tertiary'][display_type])) + + return all_featured_media + + +def create_featured_media_textbox(): + """ + This script searches through the database of which media is featured and + returns a string of each entry in the proper format for use in the + /mod/feature-media/ page. This string will be used as the default text in + the textbox on that page. + """ + + primaries = FeaturedMedia.query.order_by( + FeaturedMedia.order.asc()).filter( + FeaturedMedia.display_type == u'primary').all() + secondaries = FeaturedMedia.query.order_by( + FeaturedMedia.order.asc()).filter( + FeaturedMedia.display_type == u'secondary').all() + tertiaries = FeaturedMedia.query.order_by( + FeaturedMedia.order.asc()).filter( + FeaturedMedia.display_type == u'tertiary').all() + output_text = u'' + for display_type, feature_list in [ + (_(u'Primary'),primaries), + (_(u'Secondary'),secondaries), + (_(u'Tertiary'),tertiaries)]: + output_text += _( + u"""-----------{display_type}-Features--------------------------- +""").format(display_type=display_type) + for feature in feature_list: + media_entry = feature.media_entry + output_text += u'/u/{uploader_username}/m/{media_slug}/\n'.format( + uploader_username = media_entry.get_uploader.username, + media_slug = media_entry.slug) + + + return output_text + +def automatically_add_new_feature(media_entry): + """ + This function automates the addition of a new feature. New features will be + placed at the top of the feature stack as 'primary' features. All of the + current features are demoted one step to make room. + + :param media_entry :type mediagoblin.db.MediaEntry + The media entry that will been + featured which this function + targets + """ + # Set variables to determine which media entries should be pushed down to + # maintain the correct number of primary & secondary featured media. At this + # point the program assumes that there should be 1 primary feature and 2 + # secondary features, but in the future this should be a variable editable + # by the site admin. + too_many_primaries = FeaturedMedia.query.filter( + FeaturedMedia.display_type==u'primary').count() >= 1 + too_many_secondaries = FeaturedMedia.query.filter( + FeaturedMedia.display_type==u'secondary').count() >= 2 + featured_first_to_last = FeaturedMedia.query.order_by( + FeaturedMedia.order.asc()).all() + + for feature in featured_first_to_last: + # Some features have the option to demote or promote themselves to a + # different display_type, based on their position. But all features move + # up and down one step in the stack. + if (feature.is_last_of_type() and feature.display_type == u'primary' + and too_many_primaries): + feature.demote() + too_many_primaries = False + elif (feature.is_last_of_type() and feature.display_type == u'secondary' + and too_many_secondaries): + feature.demote() + too_many_secondaries = False + feature.move_down() + feature.save() + + # Create the new feature at the top of the stack. + new_feature = FeaturedMedia( + media_entry=media_entry, + display_type=u"primary", + order=0) + new_feature.save() + return new_feature + +def automatically_remove_feature(media_entry): + """ + This function automates the removal of a feature. All of the features below + them are promoted one step to close the gap. + + :param media_entry :type mediagoblin.db.MediaEntry + The media entry that will been + removed which this function + targets + """ + # Get the feature which will be deleted + target_feature = FeaturedMedia.query.filter( + FeaturedMedia.media_entry_id == media_entry.id).first() + # Find out which continuing features will have to be adjusted + featured_last_to_first = FeaturedMedia.query.filter( + FeaturedMedia.order>target_feature.order).order_by( + FeaturedMedia.order.desc()).all() + + for feature in featured_last_to_first: + # Maintain the current arrangement of primary/secondary/tertiary + # features by moving all the features below the deleted one up on slot + # and promoting any features in the proper position. + if feature.is_first_of_type(): + feature.promote() + feature.move_up() + feature.save() + + # Delete the feature, now that it's space has been closed + target_feature.delete() + +def promote_feature(media_entry): + """ + This function takes a current feature and moves it up the stack so that it + will be displayed higher up. It swaps the place of the selected feature for + the one above it, or if relevant raises the display_type of the feature up + one rung (ie. from 'tertiary' to 'secondary') + + :param media_entry :type mediagoblin.db.MediaEntry + The media entry that has been + featured which this function + targets + """ + # Get the FeaturedMedia object + target_feature = FeaturedMedia.query.filter( + FeaturedMedia.media_entry_id == media_entry.id).first() + # Get the first Feature with a lower order than the target + above_feature = FeaturedMedia.query.filter( + FeaturedMedia.order < target_feature.order).order_by( + FeaturedMedia.order.desc()).first() + # If the feature is not the uppermost one + if above_feature is not None: + # Swap the positions of the target feature with the one before it + (target_feature.order, + above_feature.order) = above_feature.order, target_feature.order + (target_feature.display_type, + above_feature.display_type) = (above_feature.display_type, + target_feature.display_type) + above_feature.save() + # Change the feature's display type to a more prominent one + elif target_feature.display_type == u'secondary': + target_feature.display_type = u'primary' + elif target_feature.display_type == u'tertiary': + target_feature.display_type = u'secondary' + target_feature.save() + +def demote_feature(media_entry): + """ + This function takes a current feature and moves it down the stack so that it + will be displayed lower down. It swaps the place of the selected feature for + the one below it, or if relevant lowers the display_type of the feature down + one rung (ie. from 'secondary' to 'tertiary') + + :param media_entry :type mediagoblin.db.MediaEntry + The media entry that has been + featured which this function + targets + """ + # Get the FeaturedMedia object + target_feature = FeaturedMedia.query.filter( + FeaturedMedia.media_entry_id == media_entry.id).first() + # Get the first Feature with a higher order than the target + below_feature = FeaturedMedia.query.filter( + FeaturedMedia.order > target_feature.order).order_by( + FeaturedMedia.order.asc()).first() + # If the feature is not the lowest one + if below_feature != None: + # Swap the positions of the target feature with the one after it + (target_feature.order, + below_feature.order) = below_feature.order, target_feature.order + (target_feature.display_type, + below_feature.display_type) = (below_feature.display_type, + target_feature.display_type) + below_feature.save() + # Change the feature's display type to a less prominent one + elif target_feature.display_type == u'secondary': + target_feature.display_type = u'tertiary' + elif target_feature.display_type == u'primary': + target_feature.display_type = u'secondary' + target_feature.save() + diff --git a/mediagoblin/plugins/archivalook/utils.py b/mediagoblin/plugins/archivalook/utils.py new file mode 100644 index 00000000..a4b57bc1 --- /dev/null +++ b/mediagoblin/plugins/archivalook/utils.py @@ -0,0 +1,29 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from mediagoblin.tools.pluginapi import hook_handle + + +def feature_template(media, feature_type): + """ + Get the feature template for this media + """ + template_name = hook_handle( + ("feature_%s_template" % feature_type, media.media_type)) + + if template_name is None: + return "/archivalook/feature_displays/default_%s.html" % feature_type + + return template_name diff --git a/mediagoblin/plugins/archivalook/views.py b/mediagoblin/plugins/archivalook/views.py new file mode 100644 index 00000000..86a234bd --- /dev/null +++ b/mediagoblin/plugins/archivalook/views.py @@ -0,0 +1,174 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from mediagoblin import mg_globals +from mediagoblin.db.base import Session +from mediagoblin.db.models import MediaEntry +from mediagoblin.decorators import uses_pagination, user_not_banned,\ + user_has_privilege, get_user_media_entry +from mediagoblin.tools.response import render_to_response, redirect +from mediagoblin.tools.pagination import Pagination + +from mediagoblin.plugins.archivalook.tools import ( + get_media_entry_from_uploader_slug, + split_featured_media_list, + create_featured_media_textbox, + automatically_add_new_feature, + automatically_remove_feature) +from mediagoblin.plugins.archivalook import forms as archivalook_forms +from mediagoblin.plugins.archivalook.models import FeaturedMedia +from mediagoblin.plugins.archivalook.utils import feature_template +from mediagoblin.plugins.archivalook.tools import (promote_feature, + demote_feature) +from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ + +@user_not_banned +def root_view(request): + """ + This is an alternative to the typical root view. This display centers around + displaying featured media. + """ + featured_media = { + u'primary':FeaturedMedia.query.order_by( + FeaturedMedia.order.asc()).filter( + FeaturedMedia.display_type==u'primary').all(), + u'secondary':FeaturedMedia.query.order_by( + FeaturedMedia.order.asc()).filter( + FeaturedMedia.display_type==u'secondary').all(), + u'tertiary':FeaturedMedia.query.order_by( + FeaturedMedia.order.asc()).filter( + FeaturedMedia.display_type==u'tertiary').all()} + + return render_to_response( + request, 'archivalook/root.html', + {'featured_media': featured_media, + 'allow_registration': mg_globals.app_config["allow_registration"], + 'feature_template': feature_template}) + +@user_has_privilege(u'featurer') +def featured_media_panel(request): + """ + This is a new administrator panel to manage featured media. This is an + entirely optional panel, as there are other ways to manage it, but this way + gives the admin more control. + """ + form = archivalook_forms.FeaturedMediaList(request.form) + + if request.method == 'POST' and form.validate(): + featured_media = split_featured_media_list(form.box_content.data) + previous_features = FeaturedMedia.query.all() + for index, (media_entry, display_type) in enumerate(featured_media): + target = FeaturedMedia.query.filter( + FeaturedMedia.media_entry == media_entry).first() + # If this media was already featured, we don't have to create a new + # feature, we just have to edit the old one's values + if target is not None: + target.order = index + target.display_type = display_type + previous_features.remove(target) + Session.add(target) + else: + new_feature = FeaturedMedia( + media_entry=media_entry, + display_type=display_type, + order=index) + Session.add(new_feature) + [Session.delete(feature) for feature in previous_features] + + Session.commit() + + form.box_content.data = create_featured_media_textbox() + return render_to_response( + request, 'archivalook/feature.html', + {'form' : form}) + +@uses_pagination +@user_not_banned +def recent_media_gallery_view(request, page): + """ + The replaced homepage is available through this view. + """ + cursor = MediaEntry.query.filter_by(state=u'processed').\ + order_by(MediaEntry.created.desc()) + + pagination = Pagination(page, cursor) + media_entries = pagination() + return render_to_response( + request, 'archivalook/recent_media.html', + {'media_entries': media_entries, + 'pagination': pagination}) + +def add_featured_media_to_media_home(context): + """ + A context hook which allows the media home page to know whether the media + has been featured or not. + """ + context['featured_media'] = FeaturedMedia.query + return context + +@user_has_privilege(u'featurer') +@get_user_media_entry +def feature_media(request, media, **kwargs): + """ + A view to feature a new piece of media + """ + already_featured_media_ids = [f.media_entry.id + for f in FeaturedMedia.query.all()] + if not media.id in already_featured_media_ids: + new_feature = automatically_add_new_feature(media) + return redirect( + request, 'index') + +@user_has_privilege(u'featurer') +@get_user_media_entry +def unfeature_media(request, media, **kwargs): + """ + A view to unfeature a piece of media which has previously been featured. + """ + already_featured_media_ids = [f.media_entry.id + for f in FeaturedMedia.query.all()] + if media.id in already_featured_media_ids: + automatically_remove_feature(media) + return redirect( + request, 'index') + +@user_has_privilege(u'featurer') +@get_user_media_entry +def promote_featured_media(request, media, **kwargs): + """ + A view to move a piece of media up the featured stack + """ + featured_media = FeaturedMedia.query.filter( + FeaturedMedia.media_entry_id == media.id).first() + if featured_media is not None: + promote_feature(media) + return redirect( + request, 'index') + +@user_has_privilege(u'featurer') +@get_user_media_entry +def demote_featured_media(request, media, **kwargs): + """ + A view to move a piece of media down the featured stack + """ + featured_media = FeaturedMedia.query.filter( + FeaturedMedia.media_entry_id == media.id).first() + if featured_media is not None: + demote_feature(media) + return redirect( + request, 'index') + +def get_root_view(): + return root_view -- cgit v1.2.3 From f3ced5db21922ae836bcac77837393f3cdf822f4 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 14:58:04 -0400 Subject: Added a link to the manage feature screen in the dropdown menu for those that have the appropriate privilege. Added a readme. --- mediagoblin/plugins/archivalook/README.txt | 53 ++++++++++++++++++++++ mediagoblin/plugins/archivalook/__init__.py | 2 + .../archivalook/bits/feature_dropdown.html | 21 +++++++++ 3 files changed, 76 insertions(+) create mode 100644 mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html diff --git a/mediagoblin/plugins/archivalook/README.txt b/mediagoblin/plugins/archivalook/README.txt index e69de29b..eb9bb83b 100644 --- a/mediagoblin/plugins/archivalook/README.txt +++ b/mediagoblin/plugins/archivalook/README.txt @@ -0,0 +1,53 @@ + +.&&&&&&&&&&&&&&&&&&&&&&&&&&&&. +!&& A R C H I V A L O O K &&&! +,============================, +`````````````````````````````` + +Q: What is this? +A: It's a very simple plugin for MediaGoblin + +Q: What does it do? +A: Archivalook swaps the default MediaGoblin front page (which is a gallery of +the most recent media submitted) with a new front page that is better for cura- +ted websites. Instead of showing the most recent media, archivalook shows +Featured Media on the front page. + +Q: How do I install it? +A: Check out this page for instructions: +http://mediagoblin.readthedocs.org/en/v0.6.1/siteadmin/plugins.html + +Q: I set it up but I still can't feature media, what do I do? +A: So when you first activate this plugin, no users have the proper user +permissions to manage featured media. Below this I'll give instructions of how +to give those permissions to yourself and no one else: + + 1) If you haven't already, create a user for yourself. You can do this + one of two ways + a) you can run your website, visit it, click the link that says `Login` + (in the top right corner), and then click the link that says + `Register`. Enter your information and you now have a user account. + b) you can use the command line tool. in a terminal, navigate to your + mediagoblin directory. run the command + $ ./bin/gmg adduser + and then follow the prompts on screen. + 2) Next, you need to use the command line tool to make yourself an admin. + If you haven't already, navigate to the mediagoblin directory in a + terminal. Once there, run the command + $ ./bin/gmg makeadmin + where instead of you type in your actual username :P + 3) Now you're the admin! Next, you need to run your server. It's fine if + you run it locally, by just running: + $ ./lazyserver.sh + from the mediagoblin directory. Visit the website, and if you click the + downard facing arrow to the top left, you should see that you now have + access to new pages, the very useful moderation panels. Click on the one + labeled `User Moderation Panel`. + 4) You should be directed to a (possibly very short) table of users, find + your own username, and click on it. + 5) Now you see your own `User's Detail Page`. At the bottom you should see + a table of all the things your user has permission to do, including + being active, and being an administrator. You should see that you don't + have permission to feature media. Fix that by clicking the `+` button to + the right of 'Featurer'. + 6) Wooo! Now you can feature and unfeature media! diff --git a/mediagoblin/plugins/archivalook/__init__.py b/mediagoblin/plugins/archivalook/__init__.py index 1a4af68f..3bce880c 100644 --- a/mediagoblin/plugins/archivalook/__init__.py +++ b/mediagoblin/plugins/archivalook/__init__.py @@ -57,6 +57,8 @@ def setup_plugin(): 'mediagoblin.plugins.archivalook.views:demote_featured_media')]) register_template_hooks({ 'media_sideinfo':'archivalook/feature_media_sidebar.html'}) + register_template_hooks({ + 'moderation_powers':'archivalook/bits/feature_dropdown.html'}) # Add template head hooks, if certain media types are enabled from mediagoblin import mg_globals diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html b/mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html new file mode 100644 index 00000000..65cb1907 --- /dev/null +++ b/mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html @@ -0,0 +1,21 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +#} + · + + {%- trans %}Feature management panel{% endtrans -%} + -- cgit v1.2.3 From c5667c73006cf0c8c7ddae547b30d3692bf3b370 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 15:34:06 -0400 Subject: Removed unused imports and removed development only migrations fromc archivalook plugin --- mediagoblin/plugins/archivalook/__init__.py | 4 +--- mediagoblin/plugins/archivalook/migrations.py | 14 -------------- mediagoblin/plugins/archivalook/views.py | 1 - 3 files changed, 1 insertion(+), 18 deletions(-) delete mode 100644 mediagoblin/plugins/archivalook/migrations.py diff --git a/mediagoblin/plugins/archivalook/__init__.py b/mediagoblin/plugins/archivalook/__init__.py index 3bce880c..3f6d9c66 100644 --- a/mediagoblin/plugins/archivalook/__init__.py +++ b/mediagoblin/plugins/archivalook/__init__.py @@ -21,9 +21,7 @@ from mediagoblin.tools.pluginapi import (register_template_path, register_routes, register_template_hooks) from mediagoblin.plugins.archivalook.views import (get_root_view, - add_featured_media_to_media_home, - promote_featured_media, - demote_featured_media) + add_featured_media_to_media_home) from mediagoblin.tools.staticdirect import PluginStatic diff --git a/mediagoblin/plugins/archivalook/migrations.py b/mediagoblin/plugins/archivalook/migrations.py deleted file mode 100644 index 6760f773..00000000 --- a/mediagoblin/plugins/archivalook/migrations.py +++ /dev/null @@ -1,14 +0,0 @@ -from mediagoblin.db.migration_tools import RegisterMigration, inspect_table -from sqlalchemy import MetaData, Table, Column, Integer -MIGRATIONS = {} - -@RegisterMigration(1, MIGRATIONS) -def add_order_column(db): - metadata = MetaData(bind=db.bind) - - featured_media = inspect_table(metadata, "archivalook__featured_media") - col = Column("order", Integer, default=0) - - col.create(featured_media) - - db.commit() diff --git a/mediagoblin/plugins/archivalook/views.py b/mediagoblin/plugins/archivalook/views.py index 86a234bd..72424cfc 100644 --- a/mediagoblin/plugins/archivalook/views.py +++ b/mediagoblin/plugins/archivalook/views.py @@ -22,7 +22,6 @@ from mediagoblin.tools.response import render_to_response, redirect from mediagoblin.tools.pagination import Pagination from mediagoblin.plugins.archivalook.tools import ( - get_media_entry_from_uploader_slug, split_featured_media_list, create_featured_media_textbox, automatically_add_new_feature, -- cgit v1.2.3 From 2e76016c9a6ae42a43f610e0f19ea3c45875bf8c Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 15:45:50 -0400 Subject: Added a line to the readme --- mediagoblin/plugins/archivalook/README.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mediagoblin/plugins/archivalook/README.txt b/mediagoblin/plugins/archivalook/README.txt index eb9bb83b..2cb67481 100644 --- a/mediagoblin/plugins/archivalook/README.txt +++ b/mediagoblin/plugins/archivalook/README.txt @@ -16,6 +16,8 @@ Featured Media on the front page. Q: How do I install it? A: Check out this page for instructions: http://mediagoblin.readthedocs.org/en/v0.6.1/siteadmin/plugins.html +Be sure to run ./bin/gmg assetlink after you have added the plugin to your +instance, this is necessary because the plugin uses custom css. Q: I set it up but I still can't feature media, what do I do? A: So when you first activate this plugin, no users have the proper user -- cgit v1.2.3 From 03766fd87069cb4f1394790f81ac7b853085bf71 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 16:26:00 -0400 Subject: Made it so that admins or moderators only would see the feature_management_panel link if they have the featurer privilege --- .../archivalook/templates/archivalook/bits/feature_dropdown.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html b/mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html index 65cb1907..289bbfac 100644 --- a/mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html +++ b/mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html @@ -15,7 +15,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . #} + {% if request.user and + request.user.has_privilege('featurer') %} · {%- trans %}Feature management panel{% endtrans -%} + {% endif %} -- cgit v1.2.3 From c0ea2bad04c7c0ce28659a73bd63ca409c847519 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 16:53:28 -0400 Subject: Prepared for input without an 'id' column and made all of the internal nodes into free floating nodes so that compact_and_validate will remove them. --- mediagoblin/gmg_commands/batchaddmedia.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 75e7b7c5..58ca7e74 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -99,10 +99,7 @@ def batchaddmedia(args): # Get all metadata entries starting with 'media' as variables and then # delete them because those are for internal use only. - original_location = file_metadata['media:location'] - file_metadata = dict([(key, value) - for key, value in file_metadata.iteritems() if - key.split(":")[0] != 'media']) + original_location = file_metadata['location'] try: json_ld_metadata = compact_and_validate(file_metadata) except ValidationError, exc: @@ -175,7 +172,7 @@ u"FAIL: This file is larger than the upload limits for this site.") def parse_csv_file(file_contents): """ The helper function which converts the csv file into a dictionary where each - item's key is the provided value 'media:id' and each item's value is another + item's key is the provided value 'id' and each item's value is another dictionary. """ list_of_contents = file_contents.split('\n') @@ -184,12 +181,12 @@ def parse_csv_file(file_contents): objects_dict = {} # Build a dictionary - for line in lines: + for index, line in enumerate(lines): if line.isspace() or line == '': continue values = csv_reader([line]).next() line_dict = dict([(key[i], val) for i, val in enumerate(values)]) - media_id = line_dict['media:id'] + media_id = line_dict.get('id') or index objects_dict[media_id] = (line_dict) return objects_dict -- cgit v1.2.3 From 80fefb851485a73d1ff9d526bdcc6ebc6052af55 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 16:59:02 -0400 Subject: Removed unused imports. --- mediagoblin/gmg_commands/batchaddmedia.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index 58ca7e74..d83774ee 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,10 +15,9 @@ # along with this program. If not, see . import os -import tempfile, tarfile, zipfile, subprocess, requests +import requests from csv import reader as csv_reader from urlparse import urlparse -from pyld import jsonld from mediagoblin.gmg_commands import util as commands_util from mediagoblin.submit.lib import ( -- cgit v1.2.3 From e78472abacaaed660b1fd534394243372f409202 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 17:44:10 -0400 Subject: Added 'dc:created' to the list of metadata columns being validated by jsonschema. --- mediagoblin/tools/metadata.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mediagoblin/tools/metadata.py b/mediagoblin/tools/metadata.py index b0cad9da..bfefcac9 100644 --- a/mediagoblin/tools/metadata.py +++ b/mediagoblin/tools/metadata.py @@ -82,6 +82,10 @@ DEFAULT_SCHEMA = { "dcterms:created": { "format": "date-time", "type": "string", + }, + "dc:created": { + "format": "date-time", + "type": "string", } }, } -- cgit v1.2.3 From 375db9c9bc85be7cba00413ee3a72ffd7c5bbff3 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 17:45:29 -0400 Subject: Wrote a test for the compact_and_validate metadata function. --- mediagoblin/tests/test_metadata.py | 103 +++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 mediagoblin/tests/test_metadata.py diff --git a/mediagoblin/tests/test_metadata.py b/mediagoblin/tests/test_metadata.py new file mode 100644 index 00000000..71346bb4 --- /dev/null +++ b/mediagoblin/tests/test_metadata.py @@ -0,0 +1,103 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import pytest +from mediagoblin.tools import template +from mediagoblin.tools.metadata import compact_and_validate +from webtest import AppError +from jsonschema import ValidationError + +from .resources import GOOD_JPG + +class TestMetadataFunctionality: + + @pytest.fixture(autouse=True) + def _setup(self, test_app): + self.test_app = test_app + + def login(self, username): + self.test_app.post( + '/auth/login/', { + 'username': username, + 'password': 'toast'}) + + def logout(self): + self.test_app.get('/auth/logout/') + + def do_post(self, data, *context_keys, **kwargs): + url = kwargs.pop('url', '/submit/') + do_follow = kwargs.pop('do_follow', False) + template.clear_test_template_context() + response = self.test_app.post(url, data, **kwargs) + if do_follow: + response.follow() + context_data = template.TEMPLATE_TEST_CONTEXT + for key in context_keys: + context_data = context_data[key] + return response, context_data + + def testCompactAndValidate(self): + # First, test out a well formatted piece of metadata + ###################################################### + test_metadata = { + 'dc:title':'My Pet Bunny', + 'dc:description':'A picture displaying how cute my pet bunny is.', + 'location':'/home/goblin/Pictures/bunny.png', + 'license':'http://www.gnu.org/licenses/gpl.txt' + } + jsonld_metadata =compact_and_validate(test_metadata) + assert jsonld_metadata + assert jsonld_metadata.get('dc:title') == 'My Pet Bunny' + # Free floating nodes should be removed + assert jsonld_metadata.get('location') is None + assert jsonld_metadata.get('@context') == \ + u"http://www.w3.org/2013/json-ld-context/rdfa11" + + # Next, make sure that various badly formatted metadata + # will be rejected. + ####################################################### + #,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. + # Metadata with a non-URI license should fail : + #`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`' + metadata_fail_1 = { + 'dc:title':'My Pet Bunny', + 'dc:description':'A picture displaying how cute my pet bunny is.', + 'location':'/home/goblin/Pictures/bunny.png', + 'license':'All Rights Reserved.' + } + jsonld_fail_1 = None + try: + jsonld_fail_1 = compact_and_validate(metadata_fail_1) + except ValidationError, e: + assert e.message == "'All Rights Reserved.' is not a 'uri'" + assert jsonld_fail_1 == None + #,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,., + # Metadata with an ivalid date-time dc:created should fail : + #`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'`'' + metadata_fail_2 = { + 'dc:title':'My Pet Bunny', + 'dc:description':'A picture displaying how cute my pet bunny is.', + 'location':'/home/goblin/Pictures/bunny.png', + 'license':'http://www.gnu.org/licenses/gpl.txt', + 'dc:created':'The other day' + } + jsonld_fail_2 = None + try: + jsonld_fail_2 = compact_and_validate(metadata_fail_2) + except ValidationError, e: + assert e.message == "'The other day' is not a 'date-time'" + assert jsonld_fail_2 == None + -- cgit v1.2.3 From 65f5714118f5b59bc7f51c67ffc6ef23f2c603cc Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Tue, 13 May 2014 18:15:28 -0400 Subject: Adjusted batchaddmedia to make use of more internal nodes. Added to the docs. --- docs/source/siteadmin/commandline-upload.rst | 36 ++++++++++++++++++++-------- mediagoblin/gmg_commands/batchaddmedia.py | 17 ++++++------- 2 files changed, 35 insertions(+), 18 deletions(-) diff --git a/docs/source/siteadmin/commandline-upload.rst b/docs/source/siteadmin/commandline-upload.rst index 742c0cb2..5ec0bb12 100644 --- a/docs/source/siteadmin/commandline-upload.rst +++ b/docs/source/siteadmin/commandline-upload.rst @@ -61,16 +61,28 @@ be able to automatically name them appropriately. The csv file ============ -The media:location column -------------------------- -The media:location column is the one column that is absolutely necessary for +The location column +------------------- +The location column is the one column that is absolutely necessary for uploading your media. This gives a path to each piece of media you upload. This can either a path to a local file or a direct link to remote media (with the link in http format). As you can see in the example above the (fake) media was stored remotely on "www.example.net". -Other columns -------------- +Other internal nodes +-------------------- +There are other columns which can be used by the script to provide information. +These are not stored as part of the media's metadata. You can use these columns to +provide default information for your media entry, but as you'll see below, it's +just as easy to provide this information through the correct metadata columns. + +- **id** is used to identify the media entry to the user in case of an error in the batchaddmedia script. +- **license** is used to set a license for your piece a media for mediagoblin's use. This must be a URI. +- **title** will set the title displayed to mediagoblin users. +- **description** will set a description of your media. + +Metadata columns +---------------- Other columns can be used to provide detailed metadata about each media entry. Our metadata system accepts any information provided for in the `RDFa Core Initial Context`_, and the batchupload script recognizes all of the @@ -80,13 +92,17 @@ resources provided within it. The uploader may include the metadata for each piece of media, or leave them blank if they want to. A few columns from `Dublin Core`_ are -notable because the batchaddmedia script uses them to set the default +notable because the batchaddmedia script also uses them to set the default information of uploaded media entries. .. _Dublin Core: http://wiki.dublincore.org/index.php/User_Guide -- **dc:title** sets a title for your media entry. If this is left blank, the media entry will be named according to the filename of the file being uploaded. -- **dc:description** sets a description of your media entry. If this is left blank the media entry's description will not be filled in. -- **dc:rights** will set a license for your media entry `if` the data provided is a valid URI. If this is left blank 'All Rights Reserved' will be selected. +- **dc:title** sets a title for your media entry. +- **dc:description** sets a description of your media entry. -You can of course, change these values later. +If both a metadata column and an internal node for the title are provided, mediagoblin +will use the internal node as the media entry's display name. This makes it so +that if you want to display a piece of media with a different title +than the one provided in its metadata, you can just provide different data for +the 'dc:title' and 'title' columns. The same is true of the 'description' and +'dc:description'. diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index d83774ee..b7f2569c 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -33,7 +33,7 @@ def parser_setup(subparser): This command allows the administrator to upload many media files at once.""" subparser.epilog = _(u"""For more information about how to properly run this script (and how to format the metadata csv file), read the MediaGoblin -documentation page on command line uploading +documentation page on command line uploading """) subparser.add_argument( 'username', @@ -99,6 +99,14 @@ def batchaddmedia(args): # Get all metadata entries starting with 'media' as variables and then # delete them because those are for internal use only. original_location = file_metadata['location'] + + ### Pull the important media information for mediagoblin from the + ### metadata, if it is provided. + title = file_metadata.get('title') or file_metadata.get('dc:title') + description = (file_metadata.get('description') or + file_metadata.get('dc:description')) + + license = file_metadata.get('license') try: json_ld_metadata = compact_and_validate(file_metadata) except ValidationError, exc: @@ -111,13 +119,6 @@ Metadata was not uploaded.""".format( continue url = urlparse(original_location) - - ### Pull the important media information for mediagoblin from the - ### metadata, if it is provided. - title = json_ld_metadata.get('dc:title') - description = json_ld_metadata.get('dc:description') - - license = json_ld_metadata.get('license') filename = url.path.split()[-1] if url.scheme == 'http': -- cgit v1.2.3 From 0d6550fb05c25e230706c719e3a476d1b1e670b9 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 14 May 2014 11:51:13 -0400 Subject: Tweaked the metadata edit screen to run jsonschema validators against the data. --- mediagoblin/edit/forms.py | 32 ++++++++++++++++++-- mediagoblin/edit/views.py | 15 ++++------ mediagoblin/static/css/base.css | 11 ++----- .../templates/mediagoblin/edit/metadata.html | 5 +--- .../templates/mediagoblin/utils/wtforms.html | 34 +++++++++++----------- 5 files changed, 57 insertions(+), 40 deletions(-) diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index c2355980..7c390a3f 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -15,10 +15,12 @@ # along with this program. If not, see . import wtforms +from jsonschema import Draft4Validator from mediagoblin.tools.text import tag_length_validator from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from mediagoblin.tools.licenses import licenses_as_choices +from mediagoblin.tools.metadata import DEFAULT_SCHEMA, DEFAULT_CHECKER from mediagoblin.auth.tools import normalize_user_or_email_field @@ -123,11 +125,37 @@ class ChangeEmailForm(wtforms.Form): description=_( "Enter your password to prove you own this account.")) +class MetaDataValidator(object): + """ + Custom validator which runs form data in a MetaDataForm through a jsonschema + validator and passes errors recieved in jsonschema to wtforms. + + :param schema The json schema to validate the data against. By + default this uses the DEFAULT_SCHEMA from + mediagoblin.tools.metadata. + :param format_checker The FormatChecker object that limits which types + jsonschema can recognize. By default this uses + DEFAULT_CHECKER from mediagoblin.tools.metadata. + """ + def __init__(self, schema=DEFAULT_SCHEMA, format_checker=DEFAULT_CHECKER): + self.schema = schema + self.format_checker = format_checker + + def __call__(self, form, field): + metadata_dict = {field.data:form.value.data} + validator = Draft4Validator(self.schema, + format_checker=self.format_checker) + errors = [e.message + for e in validator.iter_errors(metadata_dict)] + if len(errors) >= 1: + raise wtforms.validators.ValidationError( + errors.pop()) + class MetaDataForm(wtforms.Form): - identifier = wtforms.TextField(_(u'Identifier')) + identifier = wtforms.TextField(_(u'Identifier'),[MetaDataValidator()]) value = wtforms.TextField(_(u'Value')) class EditMetaDataForm(wtforms.Form): media_metadata = wtforms.FieldList( - wtforms.FormField(MetaDataForm, label="") + wtforms.FormField(MetaDataForm, ""), ) diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 34021257..cfbaf2fa 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -20,6 +20,7 @@ from itsdangerous import BadSignature from pyld import jsonld from werkzeug.exceptions import Forbidden from werkzeug.utils import secure_filename +from jsonschema import ValidationError, Draft4Validator from mediagoblin import messages from mediagoblin import mg_globals @@ -33,7 +34,8 @@ from mediagoblin.decorators import (require_active_login, active_user_from_url, get_user_collection, user_has_privilege, user_not_banned) from mediagoblin.tools.crypto import get_timed_signer_url -from mediagoblin.tools.metadata import compact_and_validate +from mediagoblin.tools.metadata import (compact_and_validate, DEFAULT_CHECKER, + DEFAULT_SCHEMA) from mediagoblin.tools.mail import email_debug_message from mediagoblin.tools.response import (render_to_response, redirect, redirect_obj, render_404) @@ -444,24 +446,19 @@ def edit_metadata(request, media): if request.method == "POST" and form.validate(): metadata_dict = dict([(row['identifier'],row['value']) for row in form.media_metadata.data]) + json_ld_metadata = None json_ld_metadata = compact_and_validate(metadata_dict) media.media_metadata = json_ld_metadata media.save() return redirect_obj(request, media) - if media.media_metadata: + if media.media_metadata and len(form.media_metadata) == 0: for identifier, value in media.media_metadata.iteritems(): if identifier == "@context": continue form.media_metadata.append_entry({ 'identifier':identifier, 'value':value}) - else: - form.media_metadata.append_entry({ - 'identifier':"", - 'value':""}) - form.media_metadata.append_entry({ - 'identifier':"", - 'value':""}) + return render_to_response( request, 'mediagoblin/edit/metadata.html', diff --git a/mediagoblin/static/css/base.css b/mediagoblin/static/css/base.css index a3b564ea..9087034b 100644 --- a/mediagoblin/static/css/base.css +++ b/mediagoblin/static/css/base.css @@ -940,18 +940,13 @@ p.verifier { /* for the media metadata editing table */ table.metadata_editor { - margin: 10px auto; - width: 1000px; -} - -table.metadata_editor tr th { - width:100px; + width: 800px; } table.metadata_editor tr td { - width:300px; + width:350px; } table.metadata_editor tr td.form_field_input input { - width:300px; + width:350px; } diff --git a/mediagoblin/templates/mediagoblin/edit/metadata.html b/mediagoblin/templates/mediagoblin/edit/metadata.html index b5a52e5f..21eb27b1 100644 --- a/mediagoblin/templates/mediagoblin/edit/metadata.html +++ b/mediagoblin/templates/mediagoblin/edit/metadata.html @@ -69,7 +69,7 @@
-

{% trans %}Data{% endtrans %}

+

{% trans %}MetaData{% endtrans %}

{{ wtforms_util.render_fieldlist_as_table_rows(form.media_metadata) }} @@ -77,16 +77,13 @@ - - - diff --git a/mediagoblin/templates/mediagoblin/utils/wtforms.html b/mediagoblin/templates/mediagoblin/utils/wtforms.html index c83d53f1..7e16708c 100644 --- a/mediagoblin/templates/mediagoblin/utils/wtforms.html +++ b/mediagoblin/templates/mediagoblin/utils/wtforms.html @@ -77,20 +77,21 @@ {% macro render_form_as_table_row(form) %} {%- for field in form %} - {%- endfor %} + + {%- for field in form %} + {% for error in field.errors %} + + + + {%- endfor %} + {%- endfor %} {%- endmacro %} {% macro render_field_as_table_row(field) %} @@ -98,16 +99,15 @@ + {% for error in field.errors %} + + + + {%- endfor %} {% endmacro %} {% macro render_fieldlist_as_table_rows(fieldlist) %} -- cgit v1.2.3 From c8abeb58afd36c56af705a69a2d3ebec90002e74 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 14 May 2014 11:56:59 -0400 Subject: Set a default value to MediaEntry.media_metadata --- mediagoblin/db/migrations.py | 3 ++- mediagoblin/db/models.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 8dac3214..dd69ad6e 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -728,7 +728,8 @@ def add_metadata_column(db): media_entry = inspect_table(metadata, 'core__media_entries') - col = Column('media_metadata', MutationDict.as_mutable(JSONEncoded)) + col = Column('media_metadata', MutationDict.as_mutable(JSONEncoded), + default=MutationDict()) col.create(media_entry) db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index defa0849..8499ea3f 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -264,7 +264,8 @@ class MediaEntry(Base, MediaEntryMixin): cascade="all, delete-orphan" ) collections = association_proxy("collections_helper", "in_collection") - media_metadata = Column(MutationDict.as_mutable(JSONEncoded)) + media_metadata = Column(MutationDict.as_mutable(JSONEncoded), + default=MutationDict()) ## TODO # fail_error -- cgit v1.2.3 From 0e69d93295abead71bf0cf63d526238427b6e648 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 14 May 2014 12:02:54 -0400 Subject: Fixed small error in the edit.metadata javascript --- mediagoblin/templates/mediagoblin/edit/metadata.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/templates/mediagoblin/edit/metadata.html b/mediagoblin/templates/mediagoblin/edit/metadata.html index 21eb27b1..d0efbbfb 100644 --- a/mediagoblin/templates/mediagoblin/edit/metadata.html +++ b/mediagoblin/templates/mediagoblin/edit/metadata.html @@ -56,7 +56,7 @@ 'media_metadata-'); metadata_lines += 1; }) - }) + $("#clear_empty_rows").click(function(){ clear_empty_rows("#metadata_list"); }) -- cgit v1.2.3 From 1688abbfc4c429af075ff95f2bb5d15266077c77 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 14 May 2014 12:03:58 -0400 Subject: Cleaned up the code a little bit --- mediagoblin/edit/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index cfbaf2fa..e998d6be 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -450,9 +450,9 @@ def edit_metadata(request, media): json_ld_metadata = compact_and_validate(metadata_dict) media.media_metadata = json_ld_metadata media.save() - return redirect_obj(request, media) + return redirect_obj(request, media) - if media.media_metadata and len(form.media_metadata) == 0: + if len(form.media_metadata) == 0: for identifier, value in media.media_metadata.iteritems(): if identifier == "@context": continue form.media_metadata.append_entry({ -- cgit v1.2.3 From 414c682fb4a5b684cf259743a77e6e569395c16d Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 14 May 2014 12:16:03 -0400 Subject: Added some tests for metadata. --- mediagoblin/tests/test_edit.py | 84 ++++++++++++++++++++++++++++++++++++-- mediagoblin/tests/test_metadata.py | 25 ------------ 2 files changed, 81 insertions(+), 28 deletions(-) diff --git a/mediagoblin/tests/test_edit.py b/mediagoblin/tests/test_edit.py index 4f44e0b9..dc9c422f 100644 --- a/mediagoblin/tests/test_edit.py +++ b/mediagoblin/tests/test_edit.py @@ -14,11 +14,11 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import urlparse +import urlparse, os, pytest from mediagoblin import mg_globals -from mediagoblin.db.models import User -from mediagoblin.tests.tools import fixture_add_user +from mediagoblin.db.models import User, MediaEntry +from mediagoblin.tests.tools import fixture_add_user, fixture_media_entry from mediagoblin import auth from mediagoblin.tools import template, mail @@ -174,3 +174,81 @@ class TestUserEdit(object): email = User.query.filter_by(username='chris').first().email assert email == 'new@example.com' # test changing the url inproperly + +class TestMetaDataEdit: + @pytest.fixture(autouse=True) + def setup(self, test_app): + # set up new user + self.user_password = u'toast' + self.user = fixture_add_user(password = self.user_password, + privileges=[u'active',u'admin']) + self.test_app = test_app + + def login(self, test_app): + test_app.post( + '/auth/login/', { + 'username': self.user.username, + 'password': self.user_password}) + + def do_post(self, data, *context_keys, **kwargs): + url = kwargs.pop('url', '/submit/') + do_follow = kwargs.pop('do_follow', False) + template.clear_test_template_context() + response = self.test_app.post(url, data, **kwargs) + if do_follow: + response.follow() + context_data = template.TEMPLATE_TEST_CONTEXT + for key in context_keys: + context_data = context_data[key] + return response, context_data + + def test_edit_metadata(self, test_app): + media_entry = fixture_media_entry(uploader=self.user.id, + state=u'processed') + media_slug = "/u/{username}/m/{media_id}/metadata/".format( + username = str(self.user.username), + media_id = str(media_entry.id)) + + self.login(test_app) + response = test_app.get(media_slug) + assert response.status == '200 OK' + assert media_entry.media_metadata == {} + # First test adding in metadata + ################################ + response, context = self.do_post({ + "media_metadata-0-identifier":"dc:title", + "media_metadata-0-value":"Some title", + "media_metadata-1-identifier":"dc:creator", + "media_metadata-1-value":"Me"},url=media_slug) + + media_entry = MediaEntry.query.first() + new_metadata = media_entry.media_metadata + assert new_metadata != {} + assert new_metadata.get("dc:title") == "Some title" + assert new_metadata.get("dc:creator") == "Me" + # Now test removing the metadata + ################################ + response, context = self.do_post({ + "media_metadata-0-identifier":"dc:title", + "media_metadata-0-value":"Some title"},url=media_slug) + + media_entry = MediaEntry.query.first() + new_metadata = media_entry.media_metadata + assert new_metadata.get("dc:title") == "Some title" + assert new_metadata.get("dc:creator") is None + # Now test adding bad metadata + ############################### + response, context = self.do_post({ + "media_metadata-0-identifier":"dc:title", + "media_metadata-0-value":"Some title", + "media_metadata-1-identifier":"dc:creator", + "media_metadata-1-value":"Me", + "media_metadata-2-identifier":"dc:created", + "media_metadata-2-value":"On the worst day"},url=media_slug) + + media_entry = MediaEntry.query.first() + old_metadata = new_metadata + new_metadata = media_entry.media_metadata + assert new_metadata == old_metadata + assert ("u'On the worst day' is not a 'date-time'" in + response.body) diff --git a/mediagoblin/tests/test_metadata.py b/mediagoblin/tests/test_metadata.py index 71346bb4..b4ea646e 100644 --- a/mediagoblin/tests/test_metadata.py +++ b/mediagoblin/tests/test_metadata.py @@ -15,40 +15,15 @@ # along with this program. If not, see . import pytest -from mediagoblin.tools import template from mediagoblin.tools.metadata import compact_and_validate -from webtest import AppError from jsonschema import ValidationError -from .resources import GOOD_JPG - class TestMetadataFunctionality: @pytest.fixture(autouse=True) def _setup(self, test_app): self.test_app = test_app - def login(self, username): - self.test_app.post( - '/auth/login/', { - 'username': username, - 'password': 'toast'}) - - def logout(self): - self.test_app.get('/auth/logout/') - - def do_post(self, data, *context_keys, **kwargs): - url = kwargs.pop('url', '/submit/') - do_follow = kwargs.pop('do_follow', False) - template.clear_test_template_context() - response = self.test_app.post(url, data, **kwargs) - if do_follow: - response.follow() - context_data = template.TEMPLATE_TEST_CONTEXT - for key in context_keys: - context_data = context_data[key] - return response, context_data - def testCompactAndValidate(self): # First, test out a well formatted piece of metadata ###################################################### -- cgit v1.2.3 From 2daf8ec00043a4cc5cd120f875a5382aca6ec7f9 Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Wed, 14 May 2014 12:34:13 -0400 Subject: Fixed a small error relating to the default value of media_metadata --- mediagoblin/submit/lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index df3f7b62..93ae7a1f 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -142,7 +142,7 @@ def submit_media(mg_app, user, submitted_file, filename, entry.license = license or None - entry.media_metadata = metadata or u"" + entry.media_metadata = metadata or {} # Process the user's folksonomy "tags" entry.tags = convert_to_tag_list_of_dicts(tags_string) -- cgit v1.2.3 From 4ed4908cbd04cb5c9a159ac5fb603590a1641e6a Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Thu, 29 May 2014 12:57:40 -0400 Subject: Added pyld to the mediagoblin dependencies because it is necessary with the new metadata functionality. --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 0716e45f..74da5634 100644 --- a/setup.py +++ b/setup.py @@ -71,6 +71,7 @@ try: 'unidecode', 'jsonschema', 'requests', + 'pyld', 'ExifRead', # PLEASE change this when we can; a dependency is forcing us to set this -- cgit v1.2.3 From ac7f3b17bf9912352b74ba65f44ee3e4d774d164 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 2 Jun 2014 10:31:49 -0500 Subject: git submodule fetch -> git submodule update --- docs/source/siteadmin/deploying.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/siteadmin/deploying.rst b/docs/source/siteadmin/deploying.rst index 0dde3b6a..3ff2b9ea 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -244,7 +244,7 @@ This concludes the initial configuration of the development environment. In the future, when you update your codebase, you should also run:: - ./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate && git submodule fetch + ./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate && git submodule update Note: If you are running an active site, depending on your server configuration, you may need to stop it first or the dbupdate command -- cgit v1.2.3 From b02e37c297e3aedefb5056a1d32f98ac9cbfb37a Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 2 Jun 2014 10:39:23 -0500 Subject: removing zh and ja from RTL list. medicalwei reports they are not RTL languages. This commit sponsored by Philipp Edelmann. Thanks! --- mediagoblin/tools/translate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/tools/translate.py b/mediagoblin/tools/translate.py index 257bd791..f77351b5 100644 --- a/mediagoblin/tools/translate.py +++ b/mediagoblin/tools/translate.py @@ -32,7 +32,7 @@ TRANSLATIONS_PATH = pkg_resources.resource_filename( 'mediagoblin', 'i18n') # Known RTL languages -KNOWN_RTL = set(["ar", "fa", "zh","he","iw","ja","ur","yi","ji"]) +KNOWN_RTL = set(["ar", "fa", "he", "iw", "ur", "yi", "ji"]) def is_rtl(lang): """Returns true when the local language is right to left""" -- cgit v1.2.3 From 76bb92dcb489d490d06993c4023f312aa969ccc2 Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Fri, 9 May 2014 16:26:09 +0300 Subject: Fix a typo in babel.ini. --- babel.ini | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/babel.ini b/babel.ini index 1c5e54f0..e670f593 100644 --- a/babel.ini +++ b/babel.ini @@ -1,13 +1,13 @@ # Extraction from Python source files [python: mediagoblin/**.py] -# Extraction from Genshi HTML and text templates +# Extraction from Jinja2 HTML and text templates [jinja2: mediagoblin/**/templates/**.html] -# Extract jinja templates (html) +# Extract Jinja2 templates (html) encoding = utf-8 extensions = jinja2.ext.autoescape, mediagoblin.tools.template.TemplateHookExtension [jinja2: mediagoblin/templates/**.txt] -# Extract jinja templates (text) +# Extract Jinja2 templates (text) encoding = utf-8 extensions = jinja2.ext.autoescape -- cgit v1.2.3 From d57dd89e98eb0d1235a5aae82afe8aea6a4a3d6e Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 5 Jun 2014 11:01:21 -0500 Subject: psql, not postgres, in configure.ac --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index e56a55a5..b3933e88 100644 --- a/configure.ac +++ b/configure.ac @@ -147,7 +147,7 @@ AC_PROG_INSTALL # Check for a supported database program AC_PATH_PROG([SQLITE], [sqlite3]) -AC_PATH_PROG([POSTGRES], [postgres]) +AC_PATH_PROG([POSTGRES], [psql]) AS_IF([test "x$SQLITE" = x -a "x$POSTGRES" = "x"], [AC_MSG_ERROR([SQLite or PostgreSQL is required])]) -- cgit v1.2.3 From eb7f69ac30a56fea664519b91788b3a98a598780 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 6 Jun 2014 09:57:27 -0500 Subject: metadata here should really be stored_metadata. We went through all the difficulty of converting the tags and never saved them! Thanks to Boris Bobrov for pointing this out. This commit also sponsored by William Kahn-Greene. Thanks Will... for everything! :) --- mediagoblin/media_types/video/processing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index abd5f36e..454f4ac4 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -109,7 +109,7 @@ def store_metadata(media_entry, metadata): dt.get_minute(), dt.get_second(), dt.get_microsecond()).isoformat() - metadata['tags'] = tags + stored_metadata['tags'] = tags # Only save this field if there's something to save if len(stored_metadata): -- cgit v1.2.3 From 33ee70f9b0a73cd1a9340152d33850358f49a699 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodrigues da Silva Date: Thu, 5 Jun 2014 17:07:25 -0300 Subject: Adding a template hook to the dropdown header --- mediagoblin/templates/mediagoblin/base.html | 1 + 1 file changed, 1 insertion(+) diff --git a/mediagoblin/templates/mediagoblin/base.html b/mediagoblin/templates/mediagoblin/base.html index 28b9c63c..ffc471d2 100644 --- a/mediagoblin/templates/mediagoblin/base.html +++ b/mediagoblin/templates/mediagoblin/base.html @@ -151,6 +151,7 @@ {%- trans %}Create new collection{% endtrans -%} + {% template_hook("header_dropdown_buttons") %} {% if request.user.has_privilege('admin','moderator') %}

Moderation powers: -- cgit v1.2.3 From 1ec440b44614e8144b8244d28749e2f59d3e4126 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Tue, 10 Jun 2014 11:51:12 -0500 Subject: Adding Rodrigo to AUTHORS --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 8ea903f5..8d898a29 100644 --- a/AUTHORS +++ b/AUTHORS @@ -71,6 +71,7 @@ Thank you! * Praveen Kumar * Rasmus Larsson * Rodney Ewing +* Rodrigo Rodrigues da Silva * Runar Petursson * Sacha De'Angeli * Sam Clegg -- cgit v1.2.3 From c56a88b43e168196c8c4b3778fccde2497d2e32b Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Tue, 10 Jun 2014 18:02:34 -0500 Subject: Switch "user_id" to "privilege" and "privilege_id" to "user". This builds on the previous code Natalie wrote, but makes some changes: - More direct alterations for non-sqlite code - In both cases, I've made it so that we switched the field names from privilege_id and user_id to user and privilege respectively. This way we can do the name swap, but in one case it's "easy": just changing the name. (In the sqlite case it's still tricky though.) --- mediagoblin/db/migrations.py | 40 +++++++++++++++++++++++----------------- mediagoblin/db/models.py | 4 ++-- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index c94fbda0..4660ba94 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -709,6 +709,7 @@ def create_moderation_tables(db): db.commit() + @RegisterMigration(19, MIGRATIONS) def drop_MediaEntry_collected(db): """ @@ -739,16 +740,15 @@ def add_metadata_column(db): class PrivilegeUserAssociation_R1(declarative_base()): __tablename__ = 'rename__privileges_users' - user_id = Column( + user = Column( Integer, ForeignKey(User.id), primary_key=True) - privilege_id = Column( + privilege = Column( Integer, ForeignKey(Privilege.id), primary_key=True) - @RegisterMigration(21, MIGRATIONS) def fix_privilege_user_association_table(db): """ @@ -760,22 +760,28 @@ def fix_privilege_user_association_table(db): privilege_user_assoc = inspect_table( metadata, 'core__privileges_users') - PrivilegeUserAssociation_R1.__table__.create(db.bind) - db.commit() - new_privilege_user_assoc = inspect_table( - metadata, 'rename__privileges_users') - result = db.execute(privilege_user_assoc.select()) - for row in result: - # The columns were improperly named before, so we switch the columns - user_id, priv_id = row['core__privilege_id'], row['core__user_id'] - db.execute(new_privilege_user_assoc.insert().values( - user_id=user_id, - privilege_id=priv_id)) + if db.bind.url.drivername == 'sqlite': + PrivilegeUserAssociation_R1.__table__.create(db.bind) + db.commit() + + new_privilege_user_assoc = inspect_table( + metadata, 'rename__privileges_users') + result = db.execute(privilege_user_assoc.select()) + for row in result: + # The columns were improperly named before, so we switch the columns + user_id, priv_id = row['core__privilege_id'], row['core__user_id'] + db.execute(new_privilege_user_assoc.insert().values( + user=user_id, + privilege=priv_id)) - db.commit() + db.commit() + + privilege_user_assoc.drop() + new_privilege_user_assoc.rename('core__privileges_users') - privilege_user_assoc.drop() - new_privilege_user_assoc.rename('core__privileges_users') + else: + privilege_user_assoc.c.user_id.alter(name="privilege") + privilege_user_assoc.c.privilege_id.alter(name="user") db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 77bfe14e..efc98b3b 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -877,11 +877,11 @@ class PrivilegeUserAssociation(Base): __tablename__ = 'core__privileges_users' - user_id = Column( + user = Column( Integer, ForeignKey(User.id), primary_key=True) - privilege_id = Column( + privilege = Column( Integer, ForeignKey(Privilege.id), primary_key=True) -- cgit v1.2.3 From 987a63514ff3c9c436084eaca8524dc577ae1a6e Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 11 Jun 2014 11:01:17 -0500 Subject: Explicitly set the column names to "user" and "privilege" --- mediagoblin/db/migrations.py | 6 ++++-- mediagoblin/db/models.py | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 4660ba94..94282f6d 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -741,10 +741,12 @@ def add_metadata_column(db): class PrivilegeUserAssociation_R1(declarative_base()): __tablename__ = 'rename__privileges_users' user = Column( + "user", Integer, ForeignKey(User.id), primary_key=True) privilege = Column( + "privilege", Integer, ForeignKey(Privilege.id), primary_key=True) @@ -781,7 +783,7 @@ def fix_privilege_user_association_table(db): new_privilege_user_assoc.rename('core__privileges_users') else: - privilege_user_assoc.c.user_id.alter(name="privilege") - privilege_user_assoc.c.privilege_id.alter(name="user") + privilege_user_assoc.c.core__user_id.alter(name="privilege") + privilege_user_assoc.c.core__privilege_id.alter(name="user") db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index efc98b3b..e388bd5b 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -878,10 +878,12 @@ class PrivilegeUserAssociation(Base): __tablename__ = 'core__privileges_users' user = Column( + "user", Integer, ForeignKey(User.id), primary_key=True) privilege = Column( + "privilege", Integer, ForeignKey(Privilege.id), primary_key=True) -- cgit v1.2.3 From 713dde5b9d002b9257f7079c44214d672ea21463 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 11 Jun 2014 11:09:28 -0500 Subject: Adding comments in the migration explaining a bit what's going on. This commit sponsored by Philip Horger. Thank you! --- mediagoblin/db/migrations.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 94282f6d..8e0b5096 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -763,6 +763,7 @@ def fix_privilege_user_association_table(db): privilege_user_assoc = inspect_table( metadata, 'core__privileges_users') + # This whole process is more complex if we're dealing with sqlite if db.bind.url.drivername == 'sqlite': PrivilegeUserAssociation_R1.__table__.create(db.bind) db.commit() @@ -782,6 +783,7 @@ def fix_privilege_user_association_table(db): privilege_user_assoc.drop() new_privilege_user_assoc.rename('core__privileges_users') + # much simpler if postgres though! else: privilege_user_assoc.c.core__user_id.alter(name="privilege") privilege_user_assoc.c.core__privilege_id.alter(name="user") -- cgit v1.2.3 From 8db3277cd7dafd07a0625a6a7b104e7ceea889d5 Mon Sep 17 00:00:00 2001 From: Rodrigo Rodrigues da Silva Date: Mon, 9 Jun 2014 14:40:21 -0300 Subject: Put block mediagoblin_sidebar back in user_pages/media.html. Fixes issue #906. --- mediagoblin/templates/mediagoblin/user_pages/media.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html index 949cbcde..0b2ae898 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media.html @@ -228,6 +228,9 @@

{%- endif %} + {% block mediagoblin_sidebar %} + {% endblock %} + {% template_hook("media_sideinfo") %} -- cgit v1.2.3 From 8c7ba963afbe6b643e28308466adc8cc42208416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Le=20Ninan?= Date: Sat, 7 Jun 2014 23:45:50 +0200 Subject: #303 : enhancement : add a command to delete users --- mediagoblin/gmg_commands/__init__.py | 4 ++++ mediagoblin/gmg_commands/users.py | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index fd546aac..0cb239a2 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -37,6 +37,10 @@ SUBCOMMAND_MAP = { 'setup': 'mediagoblin.gmg_commands.users:changepw_parser_setup', 'func': 'mediagoblin.gmg_commands.users:changepw', 'help': 'Changes a user\'s password'}, + 'deleteuser': { + 'setup': 'mediagoblin.gmg_commands.users:deleteuser_parser_setup', + 'func': 'mediagoblin.gmg_commands.users:deleteuser', + 'help': 'Deletes a user'}, 'dbupdate': { 'setup': 'mediagoblin.gmg_commands.dbupdate:dbupdate_parse_setup', 'func': 'mediagoblin.gmg_commands.dbupdate:dbupdate', diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py index 4a730d9e..186557e0 100644 --- a/mediagoblin/gmg_commands/users.py +++ b/mediagoblin/gmg_commands/users.py @@ -115,3 +115,23 @@ def changepw(args): print 'Password successfully changed' else: print 'The user doesn\'t exist' + + +def deleteuser_parser_setup(subparser): + subparser.add_argument( + 'username', + help="Username to delete") + + +def deleteuser(args): + commands_util.setup_app(args) + + db = mg_globals.database + + user = db.User.query.filter_by( + username=unicode(args.username.lower())).one() + if user: + user.delete() + print 'The user %s has been deleted' % args.username + else: + print 'The user %s doesn\'t exist' % args.username -- cgit v1.2.3 From 9f845068854f7582a69fde3016ca4b2a801174fb Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 11 Jun 2014 17:06:11 -0500 Subject: =?UTF-8?q?Adding=20Lo=C3=AFc=20Le=20Ninan=20to=20the=20contributo?= =?UTF-8?q?r=20list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index 8d898a29..e2146ef5 100644 --- a/AUTHORS +++ b/AUTHORS @@ -55,6 +55,7 @@ Thank you! * Laura Arjona * Larisa Hoffenbecker * Lenna Peterson +* Loïc Le Ninan * Luke Slater * Manuel Urbano Santos * Marcel van der Boom -- cgit v1.2.3 From 32ba7efcfc11e52124f9d66b7b1644a3f6b564e0 Mon Sep 17 00:00:00 2001 From: Natalie Foust-Pilcher Date: Thu, 12 Jun 2014 14:12:34 -0400 Subject: Fixed a fatal error causing mediagoblin to crash when certain types of media were uploaded --- mediagoblin/plugins/metadata_display/lib.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mediagoblin/plugins/metadata_display/lib.py b/mediagoblin/plugins/metadata_display/lib.py index 0985208c..2530d00f 100644 --- a/mediagoblin/plugins/metadata_display/lib.py +++ b/mediagoblin/plugins/metadata_display/lib.py @@ -19,7 +19,11 @@ def rdfa_to_readable(rdfa_predicate): A simple script to convert rdfa resource descriptors into a form more accessible for humans. """ - readable = rdfa_predicate.split(u":")[1].capitalize() + components = rdfa_predicate.split(u":") + if len(components) >= 2: + readable = [1].capitalize() + else: + readable = u"" return readable def add_rdfa_to_readable_to_media_home(context): -- cgit v1.2.3 From b9d990ac6a401d95eb25a006cd78a51d5cf0ff5a Mon Sep 17 00:00:00 2001 From: Natalie Foust-Pilcher Date: Thu, 12 Jun 2014 14:48:15 -0400 Subject: Fixed another error created by my last fix --- mediagoblin/plugins/metadata_display/lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/plugins/metadata_display/lib.py b/mediagoblin/plugins/metadata_display/lib.py index 2530d00f..c00bb0f6 100644 --- a/mediagoblin/plugins/metadata_display/lib.py +++ b/mediagoblin/plugins/metadata_display/lib.py @@ -21,7 +21,7 @@ def rdfa_to_readable(rdfa_predicate): """ components = rdfa_predicate.split(u":") if len(components) >= 2: - readable = [1].capitalize() + readable = components[1].capitalize() else: readable = u"" return readable -- cgit v1.2.3 From 0742e11dff487e1af27652fcf63f7d53322018cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Le=20Ninan?= Date: Mon, 9 Jun 2014 15:14:23 +0200 Subject: Fixes #899 : DeprecationWarning about Required going away in WTForms 3.0. Replaced Required with InputRequired. --- mediagoblin/edit/forms.py | 14 +++++++------- mediagoblin/meddleware/csrf.py | 2 +- mediagoblin/plugins/basic_auth/forms.py | 18 +++++++++--------- mediagoblin/plugins/ldap/forms.py | 8 ++++---- mediagoblin/plugins/oauth/forms.py | 8 ++++---- mediagoblin/plugins/openid/forms.py | 8 ++++---- mediagoblin/plugins/persona/forms.py | 8 ++++---- mediagoblin/plugins/piwigo/forms.py | 2 +- mediagoblin/submit/forms.py | 2 +- mediagoblin/user_pages/forms.py | 6 +++--- 10 files changed, 38 insertions(+), 38 deletions(-) diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index 7c390a3f..c0bece8b 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -40,7 +40,7 @@ class EditForm(wtforms.Form): "Separate tags by commas.")) slug = wtforms.TextField( _('Slug'), - [wtforms.validators.Required(message=_("The slug can't be empty"))], + [wtforms.validators.InputRequired(message=_("The slug can't be empty"))], description=_( "The title part of this media's address. " "You usually don't need to change this.")) @@ -87,7 +87,7 @@ class EditAttachmentsForm(wtforms.Form): class EditCollectionForm(wtforms.Form): title = wtforms.TextField( _('Title'), - [wtforms.validators.Length(min=0, max=500), wtforms.validators.Required(message=_("The title can't be empty"))]) + [wtforms.validators.Length(min=0, max=500), wtforms.validators.InputRequired(message=_("The title can't be empty"))]) description = wtforms.TextAreaField( _('Description of this collection'), description=_("""You can use @@ -95,7 +95,7 @@ class EditCollectionForm(wtforms.Form): Markdown for formatting.""")) slug = wtforms.TextField( _('Slug'), - [wtforms.validators.Required(message=_("The slug can't be empty"))], + [wtforms.validators.InputRequired(message=_("The slug can't be empty"))], description=_( "The title part of this collection's address. " "You usually don't need to change this.")) @@ -104,12 +104,12 @@ class EditCollectionForm(wtforms.Form): class ChangePassForm(wtforms.Form): old_password = wtforms.PasswordField( _('Old password'), - [wtforms.validators.Required()], + [wtforms.validators.InputRequired()], description=_( "Enter your old password to prove you own this account.")) new_password = wtforms.PasswordField( _('New password'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), wtforms.validators.Length(min=6, max=30)], id="password") @@ -117,11 +117,11 @@ class ChangePassForm(wtforms.Form): class ChangeEmailForm(wtforms.Form): new_email = wtforms.TextField( _('New email address'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_user=False)]) password = wtforms.PasswordField( _('Password'), - [wtforms.validators.Required()], + [wtforms.validators.InputRequired()], description=_( "Enter your password to prove you own this account.")) diff --git a/mediagoblin/meddleware/csrf.py b/mediagoblin/meddleware/csrf.py index 44d42d75..6cad6fa7 100644 --- a/mediagoblin/meddleware/csrf.py +++ b/mediagoblin/meddleware/csrf.py @@ -46,7 +46,7 @@ class CsrfForm(Form): is included in the POST.""" csrf_token = HiddenField("", - [validators.Required()]) + [validators.InputRequired()]) def render_csrf_form_token(request): diff --git a/mediagoblin/plugins/basic_auth/forms.py b/mediagoblin/plugins/basic_auth/forms.py index c10496f8..42b84bf3 100644 --- a/mediagoblin/plugins/basic_auth/forms.py +++ b/mediagoblin/plugins/basic_auth/forms.py @@ -22,22 +22,22 @@ from mediagoblin.auth.tools import normalize_user_or_email_field class RegistrationForm(wtforms.Form): username = wtforms.TextField( _('Username'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_email=False)]) password = wtforms.PasswordField( _('Password'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), wtforms.validators.Length(min=5, max=1024)]) email = wtforms.TextField( _('Email address'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_user=False)]) class LoginForm(wtforms.Form): username = wtforms.TextField( _('Username or Email'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field()]) password = wtforms.PasswordField( _('Password')) @@ -49,28 +49,28 @@ class LoginForm(wtforms.Form): class ForgotPassForm(wtforms.Form): username = wtforms.TextField( _('Username or email'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field()]) class ChangeForgotPassForm(wtforms.Form): password = wtforms.PasswordField( 'Password', - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), wtforms.validators.Length(min=5, max=1024)]) token = wtforms.HiddenField( '', - [wtforms.validators.Required()]) + [wtforms.validators.InputRequired()]) class ChangePassForm(wtforms.Form): old_password = wtforms.PasswordField( _('Old password'), - [wtforms.validators.Required()], + [wtforms.validators.InputRequired()], description=_( "Enter your old password to prove you own this account.")) new_password = wtforms.PasswordField( _('New password'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), wtforms.validators.Length(min=6, max=30)], id="password") diff --git a/mediagoblin/plugins/ldap/forms.py b/mediagoblin/plugins/ldap/forms.py index 7ec1479e..1f1439ab 100644 --- a/mediagoblin/plugins/ldap/forms.py +++ b/mediagoblin/plugins/ldap/forms.py @@ -22,19 +22,19 @@ from mediagoblin.auth.tools import normalize_user_or_email_field class RegisterForm(wtforms.Form): username = wtforms.HiddenField( '', - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_email=False)]) email = wtforms.TextField( _('Email address'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_user=False)]) class LoginForm(wtforms.Form): username = wtforms.TextField( _('Username'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field()]) password = wtforms.PasswordField( _('Password'), - [wtforms.validators.Required()]) + [wtforms.validators.InputRequired()]) diff --git a/mediagoblin/plugins/oauth/forms.py b/mediagoblin/plugins/oauth/forms.py index 5edd992a..ddf4d390 100644 --- a/mediagoblin/plugins/oauth/forms.py +++ b/mediagoblin/plugins/oauth/forms.py @@ -24,21 +24,21 @@ from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ class AuthorizationForm(wtforms.Form): client_id = wtforms.HiddenField(u'', - validators=[wtforms.validators.Required()]) - next = wtforms.HiddenField(u'', validators=[wtforms.validators.Required()]) + validators=[wtforms.validators.InputRequired()]) + next = wtforms.HiddenField(u'', validators=[wtforms.validators.InputRequired()]) allow = wtforms.SubmitField(_(u'Allow')) deny = wtforms.SubmitField(_(u'Deny')) class ClientRegistrationForm(wtforms.Form): - name = wtforms.TextField(_('Name'), [wtforms.validators.Required()], + name = wtforms.TextField(_('Name'), [wtforms.validators.InputRequired()], description=_('The name of the OAuth client')) description = wtforms.TextAreaField(_('Description'), [wtforms.validators.Length(min=0, max=500)], description=_('''This will be visible to users allowing your application to authenticate as them.''')) type = wtforms.SelectField(_('Type'), - [wtforms.validators.Required()], + [wtforms.validators.InputRequired()], choices=[ ('confidential', 'Confidential'), ('public', 'Public')], diff --git a/mediagoblin/plugins/openid/forms.py b/mediagoblin/plugins/openid/forms.py index f26024bd..d47369dc 100644 --- a/mediagoblin/plugins/openid/forms.py +++ b/mediagoblin/plugins/openid/forms.py @@ -22,20 +22,20 @@ from mediagoblin.auth.tools import normalize_user_or_email_field class RegistrationForm(wtforms.Form): openid = wtforms.HiddenField( '', - [wtforms.validators.Required()]) + [wtforms.validators.InputRequired()]) username = wtforms.TextField( _('Username'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_email=False)]) email = wtforms.TextField( _('Email address'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_user=False)]) class LoginForm(wtforms.Form): openid = wtforms.TextField( _('OpenID'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), # Can openid's only be urls? wtforms.validators.URL(message='Please enter a valid url.')]) diff --git a/mediagoblin/plugins/persona/forms.py b/mediagoblin/plugins/persona/forms.py index 608be0c7..7d632344 100644 --- a/mediagoblin/plugins/persona/forms.py +++ b/mediagoblin/plugins/persona/forms.py @@ -22,20 +22,20 @@ from mediagoblin.auth.tools import normalize_user_or_email_field class RegistrationForm(wtforms.Form): username = wtforms.TextField( _('Username'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_email=False)]) email = wtforms.TextField( _('Email address'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_user=False)]) persona_email = wtforms.HiddenField( '', - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_user=False)]) class EditForm(wtforms.Form): email = wtforms.TextField( _('Email address'), - [wtforms.validators.Required(), + [wtforms.validators.InputRequired(), normalize_user_or_email_field(allow_user=False)]) diff --git a/mediagoblin/plugins/piwigo/forms.py b/mediagoblin/plugins/piwigo/forms.py index fb04aa6a..fd545a3e 100644 --- a/mediagoblin/plugins/piwigo/forms.py +++ b/mediagoblin/plugins/piwigo/forms.py @@ -34,7 +34,7 @@ _md5_validator = wtforms.validators.Regexp(r"^[0-9a-fA-F]{32}$") class AddForm(wtforms.Form): original_sum = wtforms.TextField(None, [_md5_validator, - wtforms.validators.Required()]) + wtforms.validators.InputRequired()]) thumbnail_sum = wtforms.TextField(None, [wtforms.validators.Optional(), _md5_validator]) diff --git a/mediagoblin/submit/forms.py b/mediagoblin/submit/forms.py index e2264645..6c0e8e9c 100644 --- a/mediagoblin/submit/forms.py +++ b/mediagoblin/submit/forms.py @@ -59,7 +59,7 @@ def get_submit_start_form(form, **kwargs): class AddCollectionForm(wtforms.Form): title = wtforms.TextField( _('Title'), - [wtforms.validators.Length(min=0, max=500), wtforms.validators.Required()]) + [wtforms.validators.Length(min=0, max=500), wtforms.validators.InputRequired()]) description = wtforms.TextAreaField( _('Description of this collection'), description=_("""You can use diff --git a/mediagoblin/user_pages/forms.py b/mediagoblin/user_pages/forms.py index eb786f47..1a09864b 100644 --- a/mediagoblin/user_pages/forms.py +++ b/mediagoblin/user_pages/forms.py @@ -21,7 +21,7 @@ from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ class MediaCommentForm(wtforms.Form): comment_content = wtforms.TextAreaField( _('Comment'), - [wtforms.validators.Required()], + [wtforms.validators.InputRequired()], description=_(u'You can use ' u'' u'Markdown for formatting.')) @@ -53,11 +53,11 @@ class MediaCollectForm(wtforms.Form): class CommentReportForm(wtforms.Form): report_reason = wtforms.TextAreaField( _('Reason for Reporting'), - [wtforms.validators.Required()]) + [wtforms.validators.InputRequired()]) reporter_id = wtforms.HiddenField('') class MediaReportForm(wtforms.Form): report_reason = wtforms.TextAreaField( _('Reason for Reporting'), - [wtforms.validators.Required()]) + [wtforms.validators.InputRequired()]) reporter_id = wtforms.HiddenField('') -- cgit v1.2.3 From 25b1296dedef20de338fd72bf631bd4d1c2deb38 Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Fri, 9 May 2014 16:02:24 +0300 Subject: Properly exit when "gmg deletemedia" succeed. Also, fixed a typo: "to will be" -> "will be" --- mediagoblin/gmg_commands/deletemedia.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mediagoblin/gmg_commands/deletemedia.py b/mediagoblin/gmg_commands/deletemedia.py index d08e76cc..ed1ca4e9 100644 --- a/mediagoblin/gmg_commands/deletemedia.py +++ b/mediagoblin/gmg_commands/deletemedia.py @@ -14,12 +14,14 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import sys + from mediagoblin.gmg_commands import util as commands_util def parser_setup(subparser): subparser.add_argument('media_ids', - help='Comma separated list of media IDs to will be deleted.') + help='Comma separated list of media IDs will be deleted.') def deletemedia(args): @@ -36,3 +38,4 @@ def deletemedia(args): for media in media_ids - found_medias: print 'Can\'t find a media with ID %d.' % media print 'Done.' + sys.exit(0) -- cgit v1.2.3 From 9da03b739f19d43f195e6216f3469808fa67a191 Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Fri, 9 May 2014 23:37:49 +0300 Subject: Convert media_ids to int safely. With this commit, "gmg deletemedia spam,12" will not raise ValueError anymore. --- mediagoblin/gmg_commands/deletemedia.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mediagoblin/gmg_commands/deletemedia.py b/mediagoblin/gmg_commands/deletemedia.py index ed1ca4e9..ab5a81f6 100644 --- a/mediagoblin/gmg_commands/deletemedia.py +++ b/mediagoblin/gmg_commands/deletemedia.py @@ -27,7 +27,10 @@ def parser_setup(subparser): def deletemedia(args): app = commands_util.setup_app(args) - media_ids = set(map(int, args.media_ids.split(','))) + media_ids = set([int(mid) for mid in args.media_ids.split(',') if mid.isdigit()]) + if not media_ids: + print 'Can\'t find any valid media ID(s).' + sys.exit(1) found_medias = set() filter_ids = app.db.MediaEntry.id.in_(media_ids) medias = app.db.MediaEntry.query.filter(filter_ids).all() -- cgit v1.2.3 From 88542a8c1f773a07fa5809b9c266614c68133f9b Mon Sep 17 00:00:00 2001 From: Aleksej Date: Mon, 5 May 2014 18:05:34 +0400 Subject: Issue 839: move attribution from some icons' alt into title. --- mediagoblin/templates/mediagoblin/moderation/report.html | 6 ++++-- mediagoblin/templates/mediagoblin/moderation/report_panel.html | 9 ++++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/mediagoblin/templates/mediagoblin/moderation/report.html b/mediagoblin/templates/mediagoblin/moderation/report.html index 5bff0ffa..6367f409 100644 --- a/mediagoblin/templates/mediagoblin/moderation/report.html +++ b/mediagoblin/templates/mediagoblin/moderation/report.html @@ -105,7 +105,8 @@
Under a GNU LGPL v.3 or Creative Commons BY-SA 3.0 license.
+             alt= {% elif report.is_archived_report() %}

Under a GNU LGPL v.3 or Creative Commons BY-SA 3.0 license.
+             alt= {% trans %}Status{% endtrans %}:

diff --git a/mediagoblin/templates/mediagoblin/moderation/report_panel.html b/mediagoblin/templates/mediagoblin/moderation/report_panel.html index 95b6be80..39ca90f5 100644 --- a/mediagoblin/templates/mediagoblin/moderation/report_panel.html +++ b/mediagoblin/templates/mediagoblin/moderation/report_panel.html @@ -86,7 +86,8 @@ curr_page !=p %} Under a GNU LGPL v.3 or Creative Commons BY-SA 3.0 license.
+              alt=
-- cgit v1.2.3 From daf47b3890cbefa452a097a408d3dee6c006fb8c Mon Sep 17 00:00:00 2001 From: Aleksej Date: Mon, 5 May 2014 16:34:47 +0400 Subject: Issue #837: Moderation report page: offender's name linked to the reporter's profile. --- mediagoblin/templates/mediagoblin/moderation/report.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/templates/mediagoblin/moderation/report.html b/mediagoblin/templates/mediagoblin/moderation/report.html index 6367f409..6984625e 100644 --- a/mediagoblin/templates/mediagoblin/moderation/report.html +++ b/mediagoblin/templates/mediagoblin/moderation/report.html @@ -91,7 +91,7 @@ {% else %}

{% trans user_url=request.urlgen( 'mediagoblin.moderation.users_detail', - user=report.reporter.username), + user=report.reported_user.username), user_name=report.reported_user.username %} CONTENT BY {{ user_name }} -- cgit v1.2.3 From 446cece470328610916f40c5dd58889e15fe1648 Mon Sep 17 00:00:00 2001 From: Natalie Foust-Pilcher Date: Sat, 21 Jun 2014 15:26:23 -0400 Subject: Used the codecs library to read the csv file in batchaddmedia as unicode. --- mediagoblin/gmg_commands/batchaddmedia.py | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/mediagoblin/gmg_commands/batchaddmedia.py b/mediagoblin/gmg_commands/batchaddmedia.py index b7f2569c..4931bda2 100644 --- a/mediagoblin/gmg_commands/batchaddmedia.py +++ b/mediagoblin/gmg_commands/batchaddmedia.py @@ -15,8 +15,8 @@ # along with this program. If not, see . import os -import requests -from csv import reader as csv_reader +import requests, codecs +import csv from urlparse import urlparse from mediagoblin.gmg_commands import util as commands_util @@ -87,7 +87,8 @@ def batchaddmedia(args): else: return unicode(some_string) - with file(abs_metadata_filename, 'r') as all_metadata: + with codecs.open( + abs_metadata_filename, 'r', encoding='utf-8') as all_metadata: contents = all_metadata.read() media_metadata = parse_csv_file(contents) @@ -169,6 +170,18 @@ u"FAIL: This file is larger than the upload limits for this site.") files_attempted=files_attempted)) +def unicode_csv_reader(unicode_csv_data, dialect=csv.excel, **kwargs): + # csv.py doesn't do Unicode; encode temporarily as UTF-8: + csv_reader = csv.reader(utf_8_encoder(unicode_csv_data), + dialect=dialect, **kwargs) + for row in csv_reader: + # decode UTF-8 back to Unicode, cell by cell: + yield [unicode(cell, 'utf-8') for cell in row] + +def utf_8_encoder(unicode_csv_data): + for line in unicode_csv_data: + yield line.encode('utf-8') + def parse_csv_file(file_contents): """ The helper function which converts the csv file into a dictionary where each @@ -182,8 +195,8 @@ def parse_csv_file(file_contents): # Build a dictionary for index, line in enumerate(lines): - if line.isspace() or line == '': continue - values = csv_reader([line]).next() + if line.isspace() or line == u'': continue + values = unicode_csv_reader([line]).next() line_dict = dict([(key[i], val) for i, val in enumerate(values)]) media_id = line_dict.get('id') or index -- cgit v1.2.3 From b1fbf67ec4d2b8751e05da2b3a829bc5afa23318 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 22 Jun 2014 22:21:42 -0500 Subject: Add a modify_request hook --- mediagoblin/app.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mediagoblin/app.py b/mediagoblin/app.py index e65e6d10..6923e198 100644 --- a/mediagoblin/app.py +++ b/mediagoblin/app.py @@ -233,6 +233,8 @@ class MediaGoblinApp(object): request, e, e.get_description(environ))(environ, start_response) + request = hook_transform("modify_request", request) + request.start_response = start_response # get the Http response from the controller -- cgit v1.2.3 From 27f99327313bda0dc5cebdb56d29a3347be1ac34 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 23 Jun 2014 13:45:00 -0500 Subject: Removing legacy mongo-related docstring --- mediagoblin/db/__init__.py | 33 --------------------------------- 1 file changed, 33 deletions(-) diff --git a/mediagoblin/db/__init__.py b/mediagoblin/db/__init__.py index 27ca4b06..719b56e7 100644 --- a/mediagoblin/db/__init__.py +++ b/mediagoblin/db/__init__.py @@ -14,36 +14,3 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -""" -Database Abstraction/Wrapper Layer -================================== - -This submodule is for most of the db specific stuff. - -There are two main ideas here: - -1. Open up a small possibility to replace mongo by another - db. This means, that all direct mongo accesses should - happen in the db submodule. While all the rest uses an - API defined by this submodule. - - Currently this API happens to be basicly mongo. - Which means, that the abstraction/wrapper layer is - extremely thin. - -2. Give the rest of the app a simple and easy way to get most of - their db needs. Which often means some simple import - from db.util. - -What does that mean? - -* Never import mongo directly outside of this submodule. - -* Inside this submodule you can do whatever is needed. The - API border is exactly at the submodule layer. Nowhere - else. - -* helper functions can be moved in here. They become part - of the db.* API - -""" -- cgit v1.2.3 From c5eb24b8349be7659a87123e792747b1a67cc269 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 8 Jul 2014 00:02:16 +0100 Subject: Allow crypto.random_string to take optional alphabet param --- mediagoblin/oauth/views.py | 13 ++++++++----- mediagoblin/tools/crypto.py | 6 +++--- setup.py | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/mediagoblin/oauth/views.py b/mediagoblin/oauth/views.py index 14c8ab14..f424576b 100644 --- a/mediagoblin/oauth/views.py +++ b/mediagoblin/oauth/views.py @@ -15,6 +15,7 @@ # along with this program. If not, see . import datetime +import string from oauthlib.oauth1 import (RequestTokenEndpoint, AuthorizationEndpoint, AccessTokenEndpoint) @@ -35,7 +36,9 @@ from mediagoblin.oauth.tools.forms import WTFormData from mediagoblin.db.models import NonceTimestamp, Client, RequestToken # possible client types -client_types = ["web", "native"] # currently what pump supports +CLIENT_TYPES = ["web", "native"] # currently what pump supports +OAUTH_ALPHABET = (string.ascii_letters.decode('ascii') + + string.digits.decode('ascii')) @csrf_exempt def client_register(request): @@ -53,7 +56,7 @@ def client_register(request): if "type" not in data: error = "No registration type provided." return json_response({"error": error}, status=400) - if data.get("application_type", None) not in client_types: + if data.get("application_type", None) not in CLIENT_TYPES: error = "Unknown application_type." return json_response({"error": error}, status=400) @@ -88,7 +91,7 @@ def client_register(request): ) app_name = ("application_type", client.application_name) - if app_name in client_types: + if app_name in CLIENT_TYPES: client.application_name = app_name elif client_type == "client_associate": @@ -104,8 +107,8 @@ def client_register(request): return json_response({"error": error}, status=400) # generate the client_id and client_secret - client_id = random_string(22) # seems to be what pump uses - client_secret = random_string(43) # again, seems to be what pump uses + client_id = random_string(22, OAUTH_ALPHABET) + client_secret = random_string(43, OAUTH_ALPHABET) expirey = 0 # for now, lets not have it expire expirey_db = None if expirey == 0 else expirey application_type = data["application_type"] diff --git a/mediagoblin/tools/crypto.py b/mediagoblin/tools/crypto.py index 917e674c..b219a484 100644 --- a/mediagoblin/tools/crypto.py +++ b/mediagoblin/tools/crypto.py @@ -27,8 +27,7 @@ from mediagoblin import mg_globals _log = logging.getLogger(__name__) # produces base64 alphabet -alphabet = string.ascii_letters + "-_" -base = len(alphabet) +ALPHABET = string.ascii_letters + "-_" # Use the system (hardware-based) random number generator if it exists. # -- this optimization is lifted from Django @@ -117,8 +116,9 @@ def get_timed_signer_url(namespace): return itsdangerous.URLSafeTimedSerializer(__itsda_secret, salt=namespace) -def random_string(length): +def random_string(length, alphabet=ALPHABET): """ Returns a URL safe base64 encoded crypographically strong string """ + base = len(alphabet) rstring = "" for i in range(length): n = getrandbits(6) # 6 bytes = 2^6 = 64 diff --git a/setup.py b/setup.py index 74da5634..e2e84f2b 100644 --- a/setup.py +++ b/setup.py @@ -67,7 +67,7 @@ try: 'itsdangerous', 'pytz', 'six>=1.4.1', - 'oauthlib==0.5.0', + 'oauthlib', 'unidecode', 'jsonschema', 'requests', -- cgit v1.2.3 From a4337755363b49dc891fd8a4e438eb108809b9e4 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 10 Jul 2014 10:05:23 -0500 Subject: Wrapping things to not exceed column 80 in test_ldap --- mediagoblin/tests/test_ldap.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/mediagoblin/tests/test_ldap.py b/mediagoblin/tests/test_ldap.py index 48efb4b6..7e20d059 100644 --- a/mediagoblin/tests/test_ldap.py +++ b/mediagoblin/tests/test_ldap.py @@ -61,7 +61,8 @@ def test_ldap_plugin(ldap_plugin_app): assert form.username.errors == [u'This field is required.'] assert form.password.errors == [u'This field is required.'] - @mock.patch('mediagoblin.plugins.ldap.tools.LDAP.login', mock.Mock(return_value=return_value())) + @mock.patch('mediagoblin.plugins.ldap.tools.LDAP.login', + mock.Mock(return_value=return_value())) def _test_authentication(): template.clear_test_template_context() res = ldap_plugin_app.post( @@ -69,7 +70,8 @@ def test_ldap_plugin(ldap_plugin_app): {'username': u'chris', 'password': u'toast'}) - context = template.TEMPLATE_TEST_CONTEXT['mediagoblin/auth/register.html'] + context = template.TEMPLATE_TEST_CONTEXT[ + 'mediagoblin/auth/register.html'] register_form = context['register_form'] assert register_form.username.data == u'chris' @@ -83,7 +85,8 @@ def test_ldap_plugin(ldap_plugin_app): res.follow() assert urlparse.urlsplit(res.location)[2] == '/u/chris/' - assert 'mediagoblin/user_pages/user_nonactive.html' in template.TEMPLATE_TEST_CONTEXT + assert 'mediagoblin/user_pages/user_nonactive.html' in \ + template.TEMPLATE_TEST_CONTEXT # Try to register with same email and username template.clear_test_template_context() @@ -92,11 +95,14 @@ def test_ldap_plugin(ldap_plugin_app): {'username': u'chris', 'email': u'chris@example.com'}) - context = template.TEMPLATE_TEST_CONTEXT['mediagoblin/auth/register.html'] + context = template.TEMPLATE_TEST_CONTEXT[ + 'mediagoblin/auth/register.html'] register_form = context['register_form'] - assert register_form.email.errors == [u'Sorry, a user with that email address already exists.'] - assert register_form.username.errors == [u'Sorry, a user with that name already exists.'] + assert register_form.email.errors == [ + u'Sorry, a user with that email address already exists.'] + assert register_form.username.errors == [ + u'Sorry, a user with that name already exists.'] # Log out ldap_plugin_app.get('/auth/logout/') -- cgit v1.2.3 From 4b24678a1f6ae0835cb1bca4d23611b57a433d39 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 10 Jul 2014 10:22:33 -0500 Subject: Adding WAI-ARIA attributes to the header dropdown (Fix by Aleksej Serdjukov) This fixes issue #754 Thanks Aleksej! --- mediagoblin/static/css/base.css | 6 +++--- mediagoblin/static/js/header_dropdown.js | 4 ++-- mediagoblin/templates/mediagoblin/base.html | 14 ++++++++++---- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/mediagoblin/static/css/base.css b/mediagoblin/static/css/base.css index 9087034b..0bd58738 100644 --- a/mediagoblin/static/css/base.css +++ b/mediagoblin/static/css/base.css @@ -132,17 +132,17 @@ header { line-height: 1.6em; } -.header_dropdown { +#header_dropdown { margin-bottom: 20px; padding: 0px 10px 0px 10px; } -.header_dropdown li { +#header_dropdown li { margin: 4px 0; list-style: none; } -.header_dropdown p { +#header_dropdown p { margin-top: 12px; margin-bottom: 10px; } diff --git a/mediagoblin/static/js/header_dropdown.js b/mediagoblin/static/js/header_dropdown.js index 1b2fb00f..3ee46228 100644 --- a/mediagoblin/static/js/header_dropdown.js +++ b/mediagoblin/static/js/header_dropdown.js @@ -17,11 +17,11 @@ */ $(document).ready(function(){ - $(".header_dropdown").hide(); + $("#header_dropdown").hide(); $(".header_dropdown_up").hide(); $(".header_dropdown_down,.header_dropdown_up").click(function() { $(".header_dropdown_down").toggle(); $(".header_dropdown_up").toggle(); - $(".header_dropdown").slideToggle(); + $("#header_dropdown").slideToggle(); }); }); diff --git a/mediagoblin/templates/mediagoblin/base.html b/mediagoblin/templates/mediagoblin/base.html index ffc471d2..015fcba8 100644 --- a/mediagoblin/templates/mediagoblin/base.html +++ b/mediagoblin/templates/mediagoblin/base.html @@ -78,11 +78,17 @@ {% set notification_count = get_notification_count(request.user.id) %} {% if notification_count %} - + {{ notification_count }} {% endif %} - - + + {% elif request.user and not request.user.has_privilege('active') %} {# the following link should only appear when verification is needed #}

{% if request.user and request.user.has_privilege('active') %} -
+

{% trans user_url=request.urlgen('mediagoblin.user_pages.user_home', -- cgit v1.2.3 From 4285fc67b30e8e97d7ea26e5085438a9bd8ac44b Mon Sep 17 00:00:00 2001 From: tilly-Q Date: Sun, 29 Sep 2013 14:34:41 -0400 Subject: This was a very simple update. The gmg command `adduser` was generating an unncessary error because we were searching for a non-unicode string value in a Unicode column of the core__users table. --- mediagoblin/gmg_commands/users.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py index 186557e0..71149497 100644 --- a/mediagoblin/gmg_commands/users.py +++ b/mediagoblin/gmg_commands/users.py @@ -34,7 +34,7 @@ def adduser(args): #TODO: Lets trust admins this do not validate Emails :) commands_util.setup_app(args) - args.username = commands_util.prompt_if_not_set(args.username, "Username:") + args.username = unicode(commands_util.prompt_if_not_set(args.username, "Username:")) args.password = commands_util.prompt_if_not_set(args.password, "Password:",True) args.email = commands_util.prompt_if_not_set(args.email, "Email:") @@ -50,7 +50,7 @@ def adduser(args): else: # Create the user entry = db.User() - entry.username = unicode(args.username.lower()) + entry.username = args.username.lower() entry.email = unicode(args.email) entry.pw_hash = auth.gen_password_hash(args.password) default_privileges = [ -- cgit v1.2.3 From 1dc126cbb0f2fbf4c1076b397ce8450d2482f54c Mon Sep 17 00:00:00 2001 From: Amirouche Boubekki Date: Thu, 8 Aug 2013 20:51:20 +0200 Subject: runtests.sh was asking to install nose instead of pytest --- runtests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtests.sh b/runtests.sh index 00164a78..ae020fea 100755 --- a/runtests.sh +++ b/runtests.sh @@ -34,7 +34,7 @@ elif which py.test > /dev/null; then export PYTEST="py.test"; else echo "py.test not found. X_X"; - echo "Please install 'nose'. Exiting."; + echo "Please install 'pytest e.g. with pip install pytest'. Exiting."; exit 1 fi -- cgit v1.2.3 From 2cd33c483cfe23b94fb81ffb42a566ed110e7428 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 10 Jul 2014 10:32:49 -0500 Subject: Moving the quotation. This commit sponsored by Max Lupo. Thanks Max! --- runtests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtests.sh b/runtests.sh index ae020fea..e2523961 100755 --- a/runtests.sh +++ b/runtests.sh @@ -34,7 +34,7 @@ elif which py.test > /dev/null; then export PYTEST="py.test"; else echo "py.test not found. X_X"; - echo "Please install 'pytest e.g. with pip install pytest'. Exiting."; + echo "Please install pytest e.g. with 'pip install pytest'. Exiting."; exit 1 fi -- cgit v1.2.3 From ccd4f984c291d9d965164522560c2abedea1d3b0 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 10 Jul 2014 10:58:38 -0500 Subject: Fix bad copy/paste in skip_transcoding code (Fix by Beuc, Brett Smith) --- mediagoblin/media_types/video/util.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/video/util.py b/mediagoblin/media_types/video/util.py index beb10129..29b7f410 100644 --- a/mediagoblin/media_types/video/util.py +++ b/mediagoblin/media_types/video/util.py @@ -38,11 +38,11 @@ def skip_transcode(metadata, size): if not metadata['mimetype'] in config['mime_types']: return False - if config['container_formats'] and metadata['tags'].get('audio-codec'): + if config['container_formats'] and metadata['tags'].get('container-format'): if not metadata['tags']['container-format'] in config['container_formats']: return False - if config['video_codecs'] and metadata['tags'].get('audio-codec'): + if config['video_codecs'] and metadata['tags'].get('video-codec'): if not metadata['tags']['video-codec'] in config['video_codecs']: return False -- cgit v1.2.3 From 71d31dda075c645c669f5024a8090a1d41a48edd Mon Sep 17 00:00:00 2001 From: Tryggvi Bjorgvinsson Date: Thu, 5 Dec 2013 22:56:53 +0000 Subject: Tags can now be passed in for media entries submitted via the api plugin --- mediagoblin/plugins/api/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mediagoblin/plugins/api/views.py b/mediagoblin/plugins/api/views.py index 69fae7bb..e8af7988 100644 --- a/mediagoblin/plugins/api/views.py +++ b/mediagoblin/plugins/api/views.py @@ -64,6 +64,7 @@ def post_entry(request): title=unicode(request.form.get('title')), description=unicode(request.form.get('description')), license=unicode(request.form.get('license', '')), + tags_string=unicode(request.form.get('tags', '')), upload_limit=upload_limit, max_file_size=max_file_size, callback_url=callback_url) -- cgit v1.2.3 From e9f75d75a0247ee536d457c79a40a33915c1e6c4 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 10 Jul 2014 12:32:36 -0500 Subject: Committing present MediaGoblin translations before pushing extracted messages --- mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po | 427 ++--- mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po | 1848 +++++++++++++++++++++ mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po | 86 +- mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po | 408 ++--- mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po | 1847 ++++++++++++++++++++ mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po | 22 +- mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po | 453 ++--- mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po | 465 +++--- mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po | 1847 ++++++++++++++++++++ mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po | 37 +- mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po | 256 +-- mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po | 195 +-- mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po | 36 +- 13 files changed, 6688 insertions(+), 1239 deletions(-) create mode 100644 mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po create mode 100644 mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po create mode 100644 mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po index 000d84db..e3db748e 100644 --- a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po @@ -3,16 +3,19 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: +# adriagm , 2014 # Al fred , 2011 # Al fred , 2011 -# skarbat , 2012 +# emwa goldwoman, 2014 +# Enric Morales , 2014 +# Albert Casals , 2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-06-05 16:43+0000\n" +"Last-Translator: emwa goldwoman\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/mediagoblin/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,24 +30,24 @@ msgstr "Ho sentim, el registre està desactivat en aquest cas." #: mediagoblin/decorators.py:315 msgid "Sorry, reporting is disabled on this instance." -msgstr "" +msgstr "Ho sentim, no és possible avisar en aquest cas." #: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." -msgstr "" +msgstr "No es permet l'autenticació en aquesta instància." #: mediagoblin/auth/tools.py:43 msgid "Invalid User name or email address." -msgstr "" +msgstr "Nom d'usuari o adreça de correu incorrecte" #: mediagoblin/auth/tools.py:44 msgid "This field does not take email addresses." -msgstr "" +msgstr "Aquest camp no permet introduir adreces de correu" #: mediagoblin/auth/tools.py:45 msgid "This field requires an email address." -msgstr "" +msgstr "Aquest camp necessita una adreça de correu" #: mediagoblin/auth/tools.py:116 msgid "Sorry, a user with that name already exists." @@ -57,7 +60,7 @@ msgstr "Perdó, ja existeix un usuari amb aquesta adreça de correu." #: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 #: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "La clau de verificació o l'identificador d'usuari és incorrecte." #: mediagoblin/auth/views.py:161 msgid "" @@ -109,11 +112,11 @@ msgstr "Separa els tags amb comes." #: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 msgid "Slug" -msgstr "Llimac" +msgstr "Fitxa" #: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 msgid "The slug can't be empty" -msgstr "El llimac no pot ésser buit" +msgstr "La fitxa no pot ser buida" #: mediagoblin/edit/forms.py:42 msgid "" @@ -144,15 +147,15 @@ msgstr "Envia'm correu quan d'altres comentin al meu mitjà" #: mediagoblin/edit/forms.py:67 msgid "Enable insite notifications about events." -msgstr "" +msgstr "Habiliteu les notificacions internes d'esdeveniments." #: mediagoblin/edit/forms.py:69 msgid "License preference" -msgstr "" +msgstr "Llicència per defecte" #: mediagoblin/edit/forms.py:75 msgid "This will be your default license on upload forms." -msgstr "" +msgstr "Aquesta serà la vostra llicència per defecte en els formularis de carregada d'arxius." #: mediagoblin/edit/forms.py:88 msgid "The title can't be empty" @@ -183,7 +186,7 @@ msgstr "Nova contrasenya" #: mediagoblin/edit/forms.py:117 msgid "New email address" -msgstr "" +msgstr "Nova adreça de correu" #: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -195,11 +198,11 @@ msgstr "Contrasenya" #: mediagoblin/edit/forms.py:123 msgid "Enter your password to prove you own this account." -msgstr "" +msgstr "Introduïu la vostra contrasenya d'aquest compte" #: mediagoblin/edit/views.py:73 msgid "An entry with that slug already exists for this user." -msgstr "Ja existeix una entrada amb aquest llimac per aquest usuari" +msgstr "Ja existeix una entrada amb aquesta fitxa per aquest usuari" #: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." @@ -208,11 +211,11 @@ msgstr "Esteu editant fitxers d'un altre usuari. Aneu amb compte." #: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" -msgstr "" +msgstr "S'ha adjuntat %s correctament." #: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." -msgstr "" +msgstr "Només podeu editar el vostre perfil." #: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." @@ -228,7 +231,7 @@ msgstr "Els detalls del compte s'han guardat" #: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." -msgstr "" +msgstr "Heu de confirmar l'eliminació del vostre compte." #: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 #: mediagoblin/user_pages/views.py:242 @@ -238,7 +241,7 @@ msgstr "Ja tens una col.lecció anomenada \"%s\"!" #: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." -msgstr "" +msgstr "Ja existeix una col·lecció d'aquest usuari sota aquesta fitxa" #: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." @@ -246,7 +249,7 @@ msgstr "Estas editant la col.lecció d'un altre usuari. Prossegueix amb cautela. #: mediagoblin/edit/views.py:373 msgid "Your email address has been verified." -msgstr "" +msgstr "S'ha verificat la vostra adreça de correu" #: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" @@ -258,7 +261,7 @@ msgstr "No es pot enllaçar el tema... no hi ha tema establert\n" #: mediagoblin/gmg_commands/assetlink.py:73 msgid "No asset directory for this theme\n" -msgstr "" +msgstr "No hi ha un directori de recursos per a aquest tema\n" #: mediagoblin/gmg_commands/assetlink.py:76 msgid "However, old link directory symlink found; removed.\n" @@ -267,24 +270,24 @@ msgstr "Tot i així, l'enllaç antic al directori s'ha trobat; eliminat.\n" #: mediagoblin/gmg_commands/assetlink.py:112 #, python-format msgid "Could not link \"%s\": %s exists and is not a symlink\n" -msgstr "" +msgstr "No s'ha pogut enllaçar \"%s\" perquè hi ha un fitxer, que no és un enllaç, amb el mateix nom.\n" #: mediagoblin/gmg_commands/assetlink.py:119 #, python-format msgid "Skipping \"%s\"; already set up.\n" -msgstr "" +msgstr "S'ha omès \"%s\" perquè ja està llest.\n" #: mediagoblin/gmg_commands/assetlink.py:124 #, python-format msgid "Old link found for \"%s\"; removing.\n" -msgstr "" +msgstr "S'ha trobat un enllaç antic per a \"%s\" i s'ha eliminat.\n" #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " "or somesuch.
Make sure to permit the settings of cookies for this " "domain." -msgstr "" +msgstr "No s'ha trobat la galeta CSRF. Potser ha estat blocada.
Assegureu-vos de permetre les galetes d'aquest domini." #: mediagoblin/media_types/__init__.py:78 #: mediagoblin/media_types/__init__.py:100 @@ -293,7 +296,7 @@ msgstr "Ho sento, no puc manegar aquest tipus d'arxiu :(" #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" -msgstr "" +msgstr "No s'ha pogut executar unoconv. Comproveu el registre d'errors." #: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" @@ -301,39 +304,39 @@ msgstr "La transformació del vídeo ha fallat" #: mediagoblin/moderation/forms.py:21 msgid "Take away privilege" -msgstr "" +msgstr "Treure privilegi" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" -msgstr "" +msgstr "Feu fora l'usuari" #: mediagoblin/moderation/forms.py:23 msgid "Send the user a message" -msgstr "" +msgstr "Envieu un missatge a l'usuari" #: mediagoblin/moderation/forms.py:24 msgid "Delete the content" -msgstr "" +msgstr "Esborreu el comentari" #: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 msgid "User will be banned until:" -msgstr "" +msgstr "Fareu fora l'usuari fins:" #: mediagoblin/moderation/forms.py:57 msgid "Why are you banning this User?" -msgstr "" +msgstr "Per què heu fet fora aquest usuari?" #: mediagoblin/moderation/forms.py:109 msgid "What action will you take to resolve the report?" -msgstr "" +msgstr "Quina acció heu près per solucionar aquest incident?" #: mediagoblin/moderation/forms.py:115 msgid "What privileges will you take away?" -msgstr "" +msgstr "Quins privilegis vols treure?" #: mediagoblin/moderation/tools.py:91 msgid "Warning from" -msgstr "" +msgstr "Alerta de " #: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 msgid "commented on your post" @@ -342,35 +345,35 @@ msgstr "comentat al teu post" #: mediagoblin/notifications/views.py:35 #, python-format msgid "Subscribed to comments on %s!" -msgstr "" +msgstr "Us heu subscrit als comentaris de %s." #: mediagoblin/notifications/views.py:48 #, python-format msgid "You will not receive notifications for comments on %s." -msgstr "" +msgstr "Ja no rebreu més notificacions de comentaris de %s." #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." -msgstr "" +msgstr "Heu de donar una oauth_token." #: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 msgid "No request token found." -msgstr "" +msgstr "No s'ha trobat un testimoni de petició." #: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." -msgstr "" +msgstr "Ho sentim, la mida del fitxer és massa gran." #: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." -msgstr "" +msgstr "Ho sentim, pujant aquest fitxer assolireu el vostre límit de pujada." #: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." -msgstr "" +msgstr "Ho sentim, hey assolit el límit de pujada." #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 @@ -388,11 +391,11 @@ msgstr "Adreça electrònica" #: mediagoblin/plugins/basic_auth/forms.py:39 msgid "Username or Email" -msgstr "" +msgstr "Nom d'usuari o adreça de correu" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "Recorda'm" #: mediagoblin/plugins/basic_auth/forms.py:51 msgid "Username or email" @@ -402,11 +405,11 @@ msgstr "Nom d'usuari o correu" msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." -msgstr "" +msgstr "Si aquesta adreça de correu és correcta, s'ha enviat un missatge amb instruccions per canviar la vostra contrasenya" #: mediagoblin/plugins/basic_auth/views.py:65 msgid "Couldn't find someone with that username." -msgstr "" +msgstr "No s'ha trobat cap usuari amb aquest nom." #: mediagoblin/plugins/basic_auth/views.py:68 msgid "" @@ -421,7 +424,7 @@ msgstr "No hem pogut enviar el correu de recuperació de contrasenya perquè el #: mediagoblin/plugins/basic_auth/views.py:123 msgid "The user id is incorrect." -msgstr "" +msgstr "L'identificador d'usuari és incorrecte." #: mediagoblin/plugins/basic_auth/views.py:139 msgid "You can now log in using your new password." @@ -431,11 +434,11 @@ msgstr "Ara et pots conectar amb la teva nova contrasenya." msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your account." -msgstr "" +msgstr "Ja no sou un usuari actiu. SI us plau contacteu amb l'administrador del sistema si voleu reactivar el vostre compte." #: mediagoblin/plugins/basic_auth/views.py:215 msgid "Your password was changed successfully" -msgstr "" +msgstr "S'ha canviat l'adreça de correu correctament" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 @@ -450,12 +453,12 @@ msgstr "Establir contrasenya" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" -msgstr "" +msgstr "Modificant la contrasenya de %(username)s." #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 msgid "Save" -msgstr "" +msgstr "Desa" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 msgid "Don't have an account yet?" @@ -467,7 +470,7 @@ msgstr "Creeu-ne un aquí!" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 msgid "Change your password." -msgstr "" +msgstr "Canvieu la vostra contrasenya" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 @@ -493,7 +496,7 @@ msgstr "Veure a
OpenStreetMap" #: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 msgid "Sign in to create an account!" -msgstr "" +msgstr "Identifiqueu-vos per crear un compte!" #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" @@ -555,11 +558,11 @@ msgstr "El client {0} ha sigut enregistrat!" #: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 msgid "OAuth client connections" -msgstr "" +msgstr "Connexions de clients OAuth" #: mediagoblin/plugins/oauth/templates/oauth/client/list.html:22 msgid "Your OAuth clients" -msgstr "" +msgstr "Els vostres clients OAuth" #: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 @@ -573,60 +576,60 @@ msgstr "Afegir" #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 msgid "Sorry, an account is already registered to that OpenID." -msgstr "" +msgstr "Ja hi ha un compte registrat amb aquesta OpenID." #: mediagoblin/plugins/openid/forms.py:38 msgid "OpenID" -msgstr "" +msgstr "OpenID" #: mediagoblin/plugins/openid/views.py:48 msgid "Sorry, the OpenID server could not be found" -msgstr "" +msgstr "No s'ha pogut trobar aquest servidor d'OpenID" #: mediagoblin/plugins/openid/views.py:61 #, python-format msgid "No OpenID service was found for %s" -msgstr "" +msgstr "No s'ha trobat un servei d'OpenID per a %s" #: mediagoblin/plugins/openid/views.py:106 #, python-format msgid "Verification of %s failed: %s" -msgstr "" +msgstr "Ha fallat la verificació de %s: %s" #: mediagoblin/plugins/openid/views.py:117 msgid "Verification cancelled" -msgstr "" +msgstr "S'ha cancel·lat la verificació" #: mediagoblin/plugins/openid/views.py:314 msgid "Your OpenID url was saved successfully." -msgstr "" +msgstr "S'ha desat el vostre localitzador d'OpenID." #: mediagoblin/plugins/openid/views.py:338 #: mediagoblin/plugins/openid/views.py:393 msgid "You can't delete your only OpenID URL unless you have a password set" -msgstr "" +msgstr "No podeu eliminar el vostre únic localitzador d'OpenID sense haver definit una contrasenya" #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 msgid "That OpenID is not registered to this account." -msgstr "" +msgstr "Aquest OpenID no està registrat amb aquest compte" #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "" +msgstr "S'ha eliminat l'OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:34 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:23 msgid "Add an OpenID" -msgstr "" +msgstr "Afegeix un OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:34 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:23 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:31 msgid "Delete an OpenID" -msgstr "" +msgstr "Elimina un OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 @@ -637,7 +640,7 @@ msgstr "Esborrar" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" -msgstr "" +msgstr "OpenIDs" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 @@ -647,75 +650,75 @@ msgstr "" #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 msgid "Log in" -msgstr "Entra" +msgstr "Entreu" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 #: mediagoblin/templates/mediagoblin/auth/login.html:39 msgid "Logging in failed!" -msgstr "Inici de sessió ha fallat!" +msgstr "Hi ha hagut un error en l'inici de sessió" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "Inicieu una sessió per crear un compte" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "O entreu amb una contrasenya." #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "" +msgstr "O entreu amb un OpenID." #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" -msgstr "" +msgstr "O registreu-vos amb un OpenID." #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "" +msgstr "Ho sentim, ja hi ha un compte registrat per aquest correu de Persona." #: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." -msgstr "" +msgstr "L'adreça de correu de Persona s'ha eliminat satisfactòriament." #: mediagoblin/plugins/persona/views.py:144 msgid "" "You can't delete your only Persona email address unless you have a password " "set." -msgstr "" +msgstr "No podeu eliminar només l'adreça de Persona si no li heu definit una contrasenya." #: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." -msgstr "" +msgstr "Aquesta adreça de correu de Persona no està registrada a aquest compte." #: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." -msgstr "" +msgstr "Disculpeu, ja s'ha registrat un compte de Persona amb aquesta adreça de correu." #: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." -msgstr "" +msgstr "La vostra adreça de Persona s'ha desat satisfactòriament." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 msgid "Delete a Persona email address" -msgstr "" +msgstr "Esborreu una adreça de correu de Persona." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 msgid "Add a Persona email address" -msgstr "" +msgstr "Afegiu una adreça de correu de Persona." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 msgid "Persona's" -msgstr "" +msgstr "de Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" -msgstr "" +msgstr "O inicieu la sessió amb Persona!" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 msgid "Or register with Persona!" -msgstr "" +msgstr "O registreu-vos amb Persona!" #: mediagoblin/processing/__init__.py:420 msgid "Invalid file given for media type." @@ -723,15 +726,15 @@ msgstr "Aquest tipus de fitxer no és vàlid." #: mediagoblin/processing/__init__.py:427 msgid "Copying to public storage failed." -msgstr "" +msgstr "Ha fallat la còpia al magatzem públic." #: mediagoblin/processing/__init__.py:435 msgid "An acceptable processing file was not found" -msgstr "" +msgstr "No s'ha trobat cap fitxer adient per processar." #: mediagoblin/submit/forms.py:30 msgid "Max file size: {0} mb" -msgstr "" +msgstr "Mida màxima del fitxer: {0} Mb" #: mediagoblin/submit/forms.py:34 msgid "File" @@ -742,7 +745,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Podeu usar\n \n Markdown per a formatar el text." #: mediagoblin/submit/views.py:55 msgid "You must provide a file." @@ -759,25 +762,25 @@ msgstr "S'ha afegit la col.leccio \"%s\"!" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." -msgstr "" +msgstr "Heu estat expulsat." #: mediagoblin/templates/mediagoblin/banned.html:24 #: mediagoblin/templates/mediagoblin/error.html:24 msgid "Image of goblin stressing out" -msgstr "" +msgstr "Imatge d'un goblin fent exercici" #: mediagoblin/templates/mediagoblin/banned.html:26 msgid "You have been banned" -msgstr "" +msgstr "Heu estat expulsat" #: mediagoblin/templates/mediagoblin/banned.html:28 #, python-format msgid "until %(until_when)s" -msgstr "" +msgstr "fins %(until_when)s" #: mediagoblin/templates/mediagoblin/banned.html:30 msgid "indefinitely" -msgstr "" +msgstr "indefinidament" #: mediagoblin/templates/mediagoblin/base.html:81 msgid "Verify your email!" @@ -786,12 +789,12 @@ msgstr "Verifica el teu correu electrònic" #: mediagoblin/templates/mediagoblin/base.html:88 #: mediagoblin/templates/mediagoblin/base.html:96 msgid "log out" -msgstr "" +msgstr "surt" #: mediagoblin/templates/mediagoblin/base.html:115 #, python-format msgid "%(user_name)s's account" -msgstr "" +msgstr "Compte de %(user_name)s" #: mediagoblin/templates/mediagoblin/base.html:122 msgid "Change account settings" @@ -808,7 +811,7 @@ msgstr "Quadre de processament de fitxers" #: mediagoblin/templates/mediagoblin/base.html:135 msgid "Log out" -msgstr "" +msgstr "Surt" #: mediagoblin/templates/mediagoblin/base.html:138 #: mediagoblin/templates/mediagoblin/user_pages/user.html:112 @@ -818,15 +821,15 @@ msgstr "Tots els fitxers" #: mediagoblin/templates/mediagoblin/base.html:141 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" -msgstr "" +msgstr "Crea una nova col·lecció" #: mediagoblin/templates/mediagoblin/base.html:151 msgid "User management panel" -msgstr "" +msgstr "Tauler d'administració de l'usuari" #: mediagoblin/templates/mediagoblin/base.html:155 msgid "Report management panel" -msgstr "" +msgstr "Tauler d'informes reportats de l'usuari" #: mediagoblin/templates/mediagoblin/root.html:32 msgid "Most recent media" @@ -834,56 +837,56 @@ msgstr "Mitjans més recents" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" -msgstr "" +msgstr "Autorització" #: mediagoblin/templates/mediagoblin/api/authorize.html:26 #: mediagoblin/templates/mediagoblin/api/authorize.html:53 msgid "Authorize" -msgstr "" +msgstr "Autoritzeu" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "" +msgstr "Heu iniciat sessió com a" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " -msgstr "" +msgstr "Voleu autoritzar" #: mediagoblin/templates/mediagoblin/api/authorize.html:37 msgid "an unknown application" -msgstr "" +msgstr "una aplicació desconeguda" #: mediagoblin/templates/mediagoblin/api/authorize.html:39 msgid " to access your account? " -msgstr "" +msgstr "per accedir al vostre compte?" #: mediagoblin/templates/mediagoblin/api/authorize.html:41 msgid "Applications with access to your account can: " -msgstr "" +msgstr "Les aplicacions amb accés al vostre compte poden:" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" -msgstr "" +msgstr "Publicar nout mitjà com a tu" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, media, etc...)" -msgstr "" +msgstr "Veure la vostra informació (p. ex. perfil, mitjan" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" -msgstr "" +msgstr "Canvieu la vostra informació" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "" +msgstr "Autorització finalitzada" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "" +msgstr "Autorització completa" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "" +msgstr "Copieu i enganxeu això al vostre client:" #: mediagoblin/templates/mediagoblin/auth/register.html:28 #: mediagoblin/templates/mediagoblin/auth/register.html:36 @@ -903,14 +906,14 @@ msgid "" "your web browser:\n" "\n" "%(verification_url)s" -msgstr "Hi %(username)s,\n\nto activate your GNU MediaGoblin account, open the following URL in\nyour web browser:\n\n%(verification_url)s" +msgstr "Hola %(username)s,\n\nper activar el vostre compte de GNU MediaGoblin account, obriu aquest enllaç\namb el vostre navegador:\n\n%(verification_url)s" #: mediagoblin/templates/mediagoblin/bits/base_footer.html:21 #, python-format msgid "" "Powered by MediaGoblin, a GNU project." -msgstr "" +msgstr "Funciona amb \n" " http://getfirefox.com!" -msgstr "" +msgstr "Publiqueu nou contingut com a vos" #: mediagoblin/templates/mediagoblin/media_displays/video.html:88 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "Arxiu WebM (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 msgid "" @@ -1235,20 +1238,20 @@ msgstr "Encara no hi ha entrades processades!" #: mediagoblin/templates/mediagoblin/moderation/report.html:27 msgid "Sorry, no such report found." -msgstr "" +msgstr "Ho sento, no s'ha trobat cap informe." #: mediagoblin/templates/mediagoblin/moderation/report.html:32 msgid "Return to Reports Panel" -msgstr "" +msgstr "Torneu al Tauler de Reportar informes." #: mediagoblin/templates/mediagoblin/moderation/report.html:33 #: mediagoblin/templates/mediagoblin/user_pages/media.html:155 msgid "Report" -msgstr "" +msgstr "Informeu-ne" #: mediagoblin/templates/mediagoblin/moderation/report.html:36 msgid "Reported comment" -msgstr "" +msgstr "Comentari reportat" #: mediagoblin/templates/mediagoblin/moderation/report.html:81 #, python-format @@ -1266,33 +1269,33 @@ msgid "" " %(user_name)s\n" " HAS BEEN DELETED\n" " " -msgstr "" +msgstr "\n S'HA ELIMINAT EL CONTINGUT DE\n %(user_name)s\n \n " #: mediagoblin/templates/mediagoblin/moderation/report.html:130 msgid "Resolve" -msgstr "" +msgstr "Solucioneu-ho" #: mediagoblin/templates/mediagoblin/moderation/report.html:134 #: mediagoblin/templates/mediagoblin/moderation/report.html:153 msgid "Resolve This Report" -msgstr "" +msgstr "Solucioneu aquesta notificació" #: mediagoblin/templates/mediagoblin/moderation/report.html:145 msgid "Status" -msgstr "" +msgstr "Estat" #: mediagoblin/templates/mediagoblin/moderation/report.html:147 msgid "RESOLVED" -msgstr "" +msgstr "SOLUCIONAT" #: mediagoblin/templates/mediagoblin/moderation/report.html:155 msgid "You cannot take action against an administrator" -msgstr "" +msgstr "No podeu dur a emprendre accions contra un administrador" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 msgid "Report panel" -msgstr "" +msgstr "Tauler de notificacions reportades" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 msgid "" @@ -1312,17 +1315,17 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 msgid "When Reported" -msgstr "" +msgstr "Quan s'ha reportat" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Reported By" -msgstr "" +msgstr "Reportat per" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Reason" -msgstr "" +msgstr "Motiu" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 #, python-format @@ -1330,7 +1333,7 @@ msgid "" "\n" " Comment Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Comment Report #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 #, python-format @@ -1342,19 +1345,19 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 msgid "No open reports found." -msgstr "" +msgstr "No s'ha trobat cap informe obert." #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "Closed Reports" -msgstr "" +msgstr "Informes reportats tancats" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 msgid "Resolved" -msgstr "" +msgstr "Solucionat" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Action Taken" -msgstr "" +msgstr "Acció presa" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 #, python-format @@ -1362,16 +1365,16 @@ msgid "" "\n" " Closed Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Informe reportat #%(report_id)s tancat.\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 msgid "No closed reports found." -msgstr "" +msgstr "No s'ha trobat cap informe reportats tancat." #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" -msgstr "" +msgstr "Tauler d'usuari" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:29 msgid "" @@ -1382,23 +1385,23 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 msgid "Active Users" -msgstr "" +msgstr "Usuaris actius" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 msgid "ID" -msgstr "" +msgstr "ID" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" -msgstr "" +msgstr "Data d'incorporació" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 msgid "# of Comments Posted" -msgstr "" +msgstr "número de comentaris publicats" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 msgid "No users found." -msgstr "" +msgstr "No hem trobat cap usuari." #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -1442,12 +1445,12 @@ msgstr "Eliminar" #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 #, python-format msgid "%(username)s's collections" -msgstr "" +msgstr "Les col·leccions de %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:28 #, python-format msgid "%(username)s's collections" -msgstr "" +msgstr "Les col·leccions de %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 #, python-format @@ -1466,12 +1469,12 @@ msgstr "Mitjà de %(username)s" msgid "" "%(username)s's media with tag %(tag)s" -msgstr "" +msgstr "%(username)s's media with tag %(tag)s" #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 #, python-format msgid "%(username)s's media" -msgstr "%(username)s's media" +msgstr "Mitjans de %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/media.html:38 #, python-format @@ -1488,17 +1491,17 @@ msgstr "Afegir aquest comentari" #: mediagoblin/templates/mediagoblin/user_pages/media.html:112 msgid "Comment Preview" -msgstr "" +msgstr "Previsualització del comentari" #: mediagoblin/templates/mediagoblin/user_pages/media.html:166 msgid "Added" -msgstr "" +msgstr "Afegit" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format msgid "Add “%(media_title)s” to a collection" -msgstr "" +msgstr "Afegeix “%(media_title)s” a una col·lecció" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 msgid "+" @@ -1511,7 +1514,7 @@ msgstr "Afegir una nova col.lecció" #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 msgid "" "You can track the state of media being processed for your gallery here." -msgstr "Aqui pots seguir l'estat del mitjà que s'està processant per la teva galeria" +msgstr "Aquí pots seguir l'estat del mitjà que s'està processant per la teva galeria" #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 msgid "Your last 10 successful uploads" @@ -1523,7 +1526,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/report.html:24 msgid "Reporting this Comment" -msgstr "" +msgstr "Reporteu aquest comentari." #: mediagoblin/templates/mediagoblin/user_pages/report.html:60 msgid "Reporting this Media Entry" @@ -1536,11 +1539,11 @@ msgid "" " ❖ Published by %(username)s\n" " " -msgstr "" +msgstr "\n ❖ Publicat per %(username)s\n " #: mediagoblin/templates/mediagoblin/user_pages/report.html:81 msgid "File Report " -msgstr "" +msgstr "Reporteu el fitxer" #: mediagoblin/templates/mediagoblin/user_pages/user.html:34 #: mediagoblin/templates/mediagoblin/user_pages/user.html:45 @@ -1564,12 +1567,12 @@ msgstr "Aquest usuari encara no ha escrit res al seu perfil." #: mediagoblin/templates/mediagoblin/user_pages/user.html:80 msgid "Browse collections" -msgstr "" +msgstr "Navega les col·leccions" #: mediagoblin/templates/mediagoblin/user_pages/user.html:93 #, python-format msgid "View all of %(username)s's media" -msgstr "View all of %(username)s's media" +msgstr "Mostra tots els mitjans de %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/user.html:106 msgid "" @@ -1616,19 +1619,19 @@ msgstr "Algú ja ha registrat un compte amb aquest nom d'usuari, però encara l' msgid "" "If you are that person but you've lost your verification email, you can log in and resend it." -msgstr "Si siu aqeust usuari però heu perdut el correu de verificació, podeu entrar i tornar-lo a enviar." +msgstr "Si sou aquest usuari però heu perdut el correu de verificació, podeu entrar i tornar-lo a enviar." #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr "(elimina)" #: mediagoblin/templates/mediagoblin/utils/collections.html:21 msgid "Collected in" -msgstr "" +msgstr "Afegit a la col·lecció el" #: mediagoblin/templates/mediagoblin/utils/collections.html:40 msgid "Add to a collection" -msgstr "" +msgstr "Afegeix a la col·lecció" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 @@ -1638,7 +1641,7 @@ msgstr "Icona RSS" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:23 msgid "Atom feed" -msgstr "" +msgstr "Canal Atom" #: mediagoblin/templates/mediagoblin/utils/license.html:25 msgid "All rights reserved" @@ -1668,11 +1671,11 @@ msgstr "més antic" #: mediagoblin/templates/mediagoblin/utils/report.html:25 msgid "Report media" -msgstr "" +msgstr "Informar mitjà" #: mediagoblin/templates/mediagoblin/utils/tags.html:20 msgid "Tagged with" -msgstr "" +msgstr "Etiquetat com" #: mediagoblin/tools/exif.py:83 msgid "Could not read the image file." @@ -1684,67 +1687,67 @@ msgstr "Ups!" #: mediagoblin/tools/response.py:39 msgid "An error occured" -msgstr "" +msgstr "S'ha trobat un error" #: mediagoblin/tools/response.py:53 msgid "Bad Request" -msgstr "" +msgstr "Petició incorrecta" #: mediagoblin/tools/response.py:55 msgid "The request sent to the server is invalid, please double check it" -msgstr "" +msgstr "La petició enviada al servidor no és vàlida. Si us plau, reviseu-la." #: mediagoblin/tools/response.py:63 msgid "Operation not allowed" -msgstr "" +msgstr "Operació no permesa" #: mediagoblin/tools/response.py:64 msgid "" "Sorry Dave, I can't let you do that!

You have tried to perform a " "function that you are not allowed to. Have you been trying to delete all " "user accounts again?" -msgstr "" +msgstr "David, no et puc deixar fer això!

Has intentat fer alguna cosa que no se't permet fer... com eliminar, una altra vegada, tots els comptes!" #: mediagoblin/tools/response.py:72 msgid "" "There doesn't seem to be a page at this address. Sorry!

If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "" +msgstr "No s'ha trobat una pàgina a aquesta adreça.

Potser ha estat eliminada o s'ha canviat de lloc." #: mediagoblin/tools/timesince.py:62 msgid "year" -msgstr "" +msgstr "any" #: mediagoblin/tools/timesince.py:63 msgid "month" -msgstr "" +msgstr "mes" #: mediagoblin/tools/timesince.py:64 msgid "week" -msgstr "" +msgstr "setmana" #: mediagoblin/tools/timesince.py:65 msgid "day" -msgstr "" +msgstr "dia" #: mediagoblin/tools/timesince.py:66 msgid "hour" -msgstr "" +msgstr "hora" #: mediagoblin/tools/timesince.py:67 msgid "minute" -msgstr "" +msgstr "minut" #: mediagoblin/user_pages/forms.py:23 msgid "Comment" -msgstr "" +msgstr "Comenta" #: mediagoblin/user_pages/forms.py:25 msgid "" "You can use Markdown for formatting." -msgstr "" +msgstr "Podeu usar Markdown per a formatar el text." #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1756,7 +1759,7 @@ msgstr "Estic segur que vull esborrar aquest element de la col.lecció" #: mediagoblin/user_pages/forms.py:39 msgid "Collection" -msgstr "" +msgstr "Col·lecció" #: mediagoblin/user_pages/forms.py:40 msgid "-- Select --" @@ -1771,15 +1774,15 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Podeu usar\n \n Markdown per a formatar el text." #: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 msgid "Reason for Reporting" -msgstr "" +msgstr "Raó per informar" #: mediagoblin/user_pages/views.py:178 msgid "Sorry, comments are disabled." -msgstr "" +msgstr "Els comentaris estan desactivats." #: mediagoblin/user_pages/views.py:183 msgid "Oops, your comment was empty." diff --git a/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..b1e8df21 --- /dev/null +++ b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,1848 @@ +# Translations template for PROJECT. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# Translators: +# digitaldreamer , 2014 +# Mirek2 , 2014 +msgid "" +msgstr "" +"Project-Id-Version: GNU MediaGoblin\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-12-03 13:23-0600\n" +"PO-Revision-Date: 2014-03-01 11:34+0000\n" +"Last-Translator: digitaldreamer \n" +"Language-Team: Czech (http://www.transifex.com/projects/p/mediagoblin/language/cs/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.6\n" +"Language: cs\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +msgid "Sorry, registration is disabled on this instance." +msgstr "Promiňte, na této instanci je možnost registrace vypnuta." + +#: mediagoblin/decorators.py:315 +msgid "Sorry, reporting is disabled on this instance." +msgstr "Promiňte, nahlášení je na tomto serveru vypnuto." + +#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/plugins/persona/views.py:77 +msgid "Sorry, authentication is disabled on this instance." +msgstr "Promiňte, autentikace je na této instanci vypnuta." + +#: mediagoblin/auth/tools.py:43 +msgid "Invalid User name or email address." +msgstr "Neplatné uživatelské jméno nebo emailová adresa." + +#: mediagoblin/auth/tools.py:44 +msgid "This field does not take email addresses." +msgstr "Do tohoto pole emailová adresa nepatří." + +#: mediagoblin/auth/tools.py:45 +msgid "This field requires an email address." +msgstr "Toto pole vyžaduje emailovou adresu." + +#: mediagoblin/auth/tools.py:116 +msgid "Sorry, a user with that name already exists." +msgstr "Omlouváme se, uživatel s tímto jménem už existuje." + +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +msgid "Sorry, a user with that email address already exists." +msgstr "Promiňte, uživatel s touto emailovou adresou již existuje." + +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 +#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +msgid "The verification key or user id is incorrect." +msgstr "Chybný ověřovací klíč nebo id užvatele." + +#: mediagoblin/auth/views.py:161 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "Vaše emailová adresa byla ověřena. Nyní se můžete přihlásit, upravit si svůj profil, a nahrávat obrázky!" + +#: mediagoblin/auth/views.py:167 +msgid "The verification key or user id is incorrect" +msgstr "Neplatný ověřovací klíč nebo id uživatele" + +#: mediagoblin/auth/views.py:185 +msgid "You must be logged in so we know who to send the email to!" +msgstr "Napřed se musíte přihlásit, abychom věděli komu máme email poslat!" + +#: mediagoblin/auth/views.py:193 +msgid "You've already verified your email address!" +msgstr "Svojí emailovou adresu máte již ověřenou!" + +#: mediagoblin/auth/views.py:203 +msgid "Resent your verification email." +msgstr "Váš ověřovací email byl znovu odeslán." + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 +#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/user_pages/forms.py:45 +msgid "Title" +msgstr "Název" + +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +msgid "Description of this work" +msgstr "Popis tohoto díla" + +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "Můžete použít\n \n Markdown pro formátování." + +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +msgid "Tags" +msgstr "Štítky" + +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +msgid "Separate tags by commas." +msgstr "Oddělte štítky čárkami." + +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +msgid "Slug" +msgstr "Krátký název" + +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +msgid "The slug can't be empty" +msgstr "Krátký název nemůže být prázdný" + +#: mediagoblin/edit/forms.py:42 +msgid "" +"The title part of this media's address. You usually don't need to change " +"this." +msgstr "Název, který je součástí adresy této tvorby. Většinou není třeba ho měnit." + +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/templates/mediagoblin/utils/license.html:20 +msgid "License" +msgstr "Licence" + +#: mediagoblin/edit/forms.py:52 +msgid "Bio" +msgstr "O mně" + +#: mediagoblin/edit/forms.py:58 +msgid "Website" +msgstr "Webové stránky" + +#: mediagoblin/edit/forms.py:60 +msgid "This address contains errors" +msgstr "Tato adresa obsahuje chyby" + +#: mediagoblin/edit/forms.py:65 +msgid "Email me when others comment on my media" +msgstr "Poslat email vždy, když někdo napíše komentář k mým tvorbám" + +#: mediagoblin/edit/forms.py:67 +msgid "Enable insite notifications about events." +msgstr "Zasílat oznámení o událostech na tomto webu." + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Oblíbená licence" + +#: mediagoblin/edit/forms.py:75 +msgid "This will be your default license on upload forms." +msgstr "Toto bude vaše výchozí licence ve formuláři pro upload." + +#: mediagoblin/edit/forms.py:88 +msgid "The title can't be empty" +msgstr "Nadpis nesmí být prázdný" + +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/user_pages/forms.py:48 +msgid "Description of this collection" +msgstr "Popis této sbírky" + +#: mediagoblin/edit/forms.py:97 +msgid "" +"The title part of this collection's address. You usually don't need to " +"change this." +msgstr "Název, který je součástí adresy této sbírky. Většinou není třeba ho měnit." + +#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +msgid "Old password" +msgstr "Staré heslo" + +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +msgid "Enter your old password to prove you own this account." +msgstr "Zadejte své staré heslo, abyste potvrdil(a), že vlastníte tento účet." + +#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +msgid "New password" +msgstr "Nové heslo" + +#: mediagoblin/edit/forms.py:117 +msgid "New email address" +msgstr "Nová emailová adresa" + +#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/plugins/ldap/forms.py:39 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Heslo" + +#: mediagoblin/edit/forms.py:123 +msgid "Enter your password to prove you own this account." +msgstr "Zadejte své heslo pro ověření, že jste majitelem tohoto účtu." + +#: mediagoblin/edit/views.py:73 +msgid "An entry with that slug already exists for this user." +msgstr "U tohoto uživatele již existuje jiná tvorba s tímto krátkým názvem." + +#: mediagoblin/edit/views.py:91 +msgid "You are editing another user's media. Proceed with caution." +msgstr "Upravujete tvorbu jiného uživatele. Buďte opatrná/ý." + +#: mediagoblin/edit/views.py:161 +#, python-format +msgid "You added the attachment %s!" +msgstr "Přidali jste přílohu %s!" + +#: mediagoblin/edit/views.py:188 +msgid "You can only edit your own profile." +msgstr "Editovat můžete jen svůj vlastní profil." + +#: mediagoblin/edit/views.py:194 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "Upravujete profil uživatele. Buďte opatrná/ý." + +#: mediagoblin/edit/views.py:210 +msgid "Profile changes saved" +msgstr "Změny profilu uloženy" + +#: mediagoblin/edit/views.py:243 +msgid "Account settings saved" +msgstr "Nastavení účtu uloženo" + +#: mediagoblin/edit/views.py:277 +msgid "You need to confirm the deletion of your account." +msgstr "Smazání vašeho účtu je třeba potvrdit." + +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:242 +#, python-format +msgid "You already have a collection called \"%s\"!" +msgstr "Už máte sbírku se jménem „%s“!" + +#: mediagoblin/edit/views.py:317 +msgid "A collection with that slug already exists for this user." +msgstr "U tohoto uživatele již existuje jiná sbírka s tímto krátkým názvem." + +#: mediagoblin/edit/views.py:332 +msgid "You are editing another user's collection. Proceed with caution." +msgstr "Upravujete sbírku dalšího uživatele. Buďte opatrná/ý." + +#: mediagoblin/edit/views.py:373 +msgid "Your email address has been verified." +msgstr "Vaše emailová adresa byla ověřena." + +#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +msgid "Wrong password" +msgstr "Špatné heslo" + +#: mediagoblin/gmg_commands/assetlink.py:60 +msgid "Cannot link theme... no theme set\n" +msgstr "Téma nelze propojit... žádné téma není nastaveno\n" + +#: mediagoblin/gmg_commands/assetlink.py:73 +msgid "No asset directory for this theme\n" +msgstr "Chybí adresář souborů k tomuto tématu.\n" + +#: mediagoblin/gmg_commands/assetlink.py:76 +msgid "However, old link directory symlink found; removed.\n" +msgstr "Byl však nalezen odkaz na starý adresář; odstraňuji.\n" + +#: mediagoblin/gmg_commands/assetlink.py:112 +#, python-format +msgid "Could not link \"%s\": %s exists and is not a symlink\n" +msgstr "Nepovedlo se odkázat na „%s“: %s existuje a symbolickým odkazem\n" + +#: mediagoblin/gmg_commands/assetlink.py:119 +#, python-format +msgid "Skipping \"%s\"; already set up.\n" +msgstr "Přeskakuji \"%s\"; jež je nastaven.\n" + +#: mediagoblin/gmg_commands/assetlink.py:124 +#, python-format +msgid "Old link found for \"%s\"; removing.\n" +msgstr "Byl nalezen starý odkaz pro \"%s\"; odstraňuji.\n" + +#: mediagoblin/meddleware/csrf.py:134 +msgid "" +"CSRF cookie not present. This is most likely the result of a cookie blocker " +"or somesuch.
Make sure to permit the settings of cookies for this " +"domain." +msgstr "CSRF cookie není dostupné. Nejspíš je to důsledek blokování cookies v prohlížeči, nebo něco podobného.
Ujistěte se, že je nastavování cookies povoleno pro tuto doménu." + +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 +msgid "Sorry, I don't support that file type :(" +msgstr "Omlouvám se, nepodporuji tento typ souboru :(" + +#: mediagoblin/media_types/pdf/processing.py:142 +msgid "unoconv failing to run, check log file" +msgstr "unoconv nebylo možné spustit, zkontrolujte log" + +#: mediagoblin/media_types/video/processing.py:44 +msgid "Video transcoding failed" +msgstr "Transkódování videa selhalo" + +#: mediagoblin/moderation/forms.py:21 +msgid "Take away privilege" +msgstr "Odejmout práva" + +#: mediagoblin/moderation/forms.py:22 +msgid "Ban the user" +msgstr "Udělit zákaz přístupu" + +#: mediagoblin/moderation/forms.py:23 +msgid "Send the user a message" +msgstr "Poslat uživateli zprávu" + +#: mediagoblin/moderation/forms.py:24 +msgid "Delete the content" +msgstr "Smazat obsah" + +#: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 +msgid "User will be banned until:" +msgstr "Uživatel bude mít zákaz do:" + +#: mediagoblin/moderation/forms.py:57 +msgid "Why are you banning this User?" +msgstr "Proč tomuto uživateli udělujete zákaz?" + +#: mediagoblin/moderation/forms.py:109 +msgid "What action will you take to resolve the report?" +msgstr "Jak chcete toto hlášení řešit?" + +#: mediagoblin/moderation/forms.py:115 +msgid "What privileges will you take away?" +msgstr "Jaká práva odejmete?" + +#: mediagoblin/moderation/tools.py:91 +msgid "Warning from" +msgstr "Varování od" + +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 +msgid "commented on your post" +msgstr "okomentoval(a) váš příspěvek" + +#: mediagoblin/notifications/views.py:35 +#, python-format +msgid "Subscribed to comments on %s!" +msgstr "Odebírám komentáře na %s!" + +#: mediagoblin/notifications/views.py:48 +#, python-format +msgid "You will not receive notifications for comments on %s." +msgstr "Nebudou vám zasílána oznámení o komentářích na %s." + +#: mediagoblin/oauth/views.py:239 +msgid "Must provide an oauth_token." +msgstr "Je vyžadován oauth_token." + +#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +msgid "No request token found." +msgstr "Požadavek nemá token." + +#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/submit/views.py:78 +msgid "Sorry, the file size is too big." +msgstr "Promiňte, soubor je příliš velký." + +#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/submit/views.py:81 +msgid "Sorry, uploading this file will put you over your upload limit." +msgstr "Promiňte, vložením tohoto souboru byste již překročili svůj datový limit." + +#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/submit/views.py:87 +msgid "Sorry, you have reached your upload limit." +msgstr "Promiňte, již jste vyčerpali svůj datový limit." + +#: mediagoblin/plugins/basic_auth/forms.py:24 +#: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:76 +msgid "Username" +msgstr "Uživatelské jméno" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/ldap/forms.py:28 mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Emailová adresa" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Uživatelské jméno nebo email" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "Trvalé přihlášení" + +#: mediagoblin/plugins/basic_auth/forms.py:51 +msgid "Username or email" +msgstr "Uživatelské jméno či email" + +#: mediagoblin/plugins/basic_auth/views.py:54 +msgid "" +"If that email address (case sensitive!) is registered an email has been sent" +" with instructions on how to change your password." +msgstr "Pokud je tato emailová adresa (pozor na velká písmena!) zaregistrována, bude na ní odeslán email s instrukcemi jak si změnit heslo." + +#: mediagoblin/plugins/basic_auth/views.py:65 +msgid "Couldn't find someone with that username." +msgstr "Nebyl nalezen nikdo s tímto uživatelským jménem." + +#: mediagoblin/plugins/basic_auth/views.py:68 +msgid "" +"An email has been sent with instructions on how to change your password." +msgstr "Byl odeslán email s instrukcemi jak změnit heslo." + +#: mediagoblin/plugins/basic_auth/views.py:75 +msgid "" +"Could not send password recovery email as your username is inactive or your " +"account's email address has not been verified." +msgstr "Email pro obnovení hesla nelze odeslat, protože vaše uživatelské jméno není aktivováno, nebo nebyla ověřena emailová adresa." + +#: mediagoblin/plugins/basic_auth/views.py:123 +msgid "The user id is incorrect." +msgstr "Chybné id uživatele." + +#: mediagoblin/plugins/basic_auth/views.py:139 +msgid "You can now log in using your new password." +msgstr "Můžete se nyní přihlásit se svým novým heslem." + +#: mediagoblin/plugins/basic_auth/views.py:163 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your account." +msgstr "Nejste již aktivním uživatelem. Kontaktujte prosím administrátora serveru pro opětovnou aktivaci vašeho účtu." + +#: mediagoblin/plugins/basic_auth/views.py:215 +msgid "Your password was changed successfully" +msgstr "Vaše heslo bylo úspěšně změněno" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 +msgid "Set your new password" +msgstr "Nastavte své nové heslo" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 +msgid "Set password" +msgstr "Nastavit heslo" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 +#, python-format +msgid "Changing %(username)s's password" +msgstr "Změna hesla uživatele %(username)s" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:40 +msgid "Save" +msgstr "Uložit" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 +msgid "Don't have an account yet?" +msgstr "Ještě nemáte účet?" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:24 +msgid "Create one here!" +msgstr "Vytvořte si ho zde!" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 +msgid "Change your password." +msgstr "Změňte si heslo." + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 +msgid "Recover password" +msgstr "Obnovit heslo" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:34 +msgid "Send instructions" +msgstr "Poslat návod" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html:22 +msgid "Forgot your password?" +msgstr "Zapoměl(a) jste své heslo?" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 +msgid "Location" +msgstr "Místo" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:52 +#, python-format +msgid "View on OpenStreetMap" +msgstr "Zobrazit OpenStreetMap" + +#: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 +msgid "Sign in to create an account!" +msgstr "Přihlašte se pro vytvoření nového účtu." + +#: mediagoblin/plugins/oauth/forms.py:29 +msgid "Allow" +msgstr "Povolit" + +#: mediagoblin/plugins/oauth/forms.py:30 +msgid "Deny" +msgstr "Zakázat" + +#: mediagoblin/plugins/oauth/forms.py:34 +msgid "Name" +msgstr "Jméno" + +#: mediagoblin/plugins/oauth/forms.py:35 +msgid "The name of the OAuth client" +msgstr "Jméno klienta pro OAuth" + +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Popis" + +#: mediagoblin/plugins/oauth/forms.py:38 +msgid "" +"This will be visible to users allowing your\n" +" application to authenticate as them." +msgstr "Toto se uživatelům zobrazí, když budou povolovat\nvaší aplikaci, aby se přihlásila jejich jménem." + +#: mediagoblin/plugins/oauth/forms.py:40 +msgid "Type" +msgstr "Typ" + +#: mediagoblin/plugins/oauth/forms.py:45 +msgid "" +"Confidential - The client can\n" +" make requests to the GNU MediaGoblin instance that can not be\n" +" intercepted by the user agent (e.g. server-side client).
\n" +" Public - The client can't make confidential\n" +" requests to the GNU MediaGoblin instance (e.g. client-side\n" +" JavaScript client)." +msgstr "Confidential - Klient dokáže posílat\nserver GNU MediaGoblin požadavky, které nemůžou být\nzachyceny na straně uživatele (např. běží na serveru).\nPublic - Klient nemá možnost posílat\nna server GNU MediaGoblin důvěrné požadavky (např. běží\nv JavaScriptu ve webovém prohlížeči)." + +#: mediagoblin/plugins/oauth/forms.py:52 +msgid "Redirect URI" +msgstr "URI pro přesměrování" + +#: mediagoblin/plugins/oauth/forms.py:54 +msgid "" +"The redirect URI for the applications, this field\n" +" is required for public clients." +msgstr "URI pro přesměrování aplikací, toto pole\nje vyžadováno pro veřejné klienty." + +#: mediagoblin/plugins/oauth/forms.py:66 +msgid "This field is required for public clients" +msgstr "Toto pole je vyžadováno pro veřejné klienty" + +#: mediagoblin/plugins/oauth/views.py:55 +msgid "The client {0} has been registered!" +msgstr "Klient {0} byl zaregistrován!" + +#: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 +msgid "OAuth client connections" +msgstr "Připojení klientů OAuth" + +#: mediagoblin/plugins/oauth/templates/oauth/client/list.html:22 +msgid "Your OAuth clients" +msgstr "Vaši OAuth klienti" + +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Přidat" + +#: mediagoblin/plugins/openid/__init__.py:97 +#: mediagoblin/plugins/openid/views.py:268 +#: mediagoblin/plugins/openid/views.py:297 +msgid "Sorry, an account is already registered to that OpenID." +msgstr "Promiňte, pro toto OpenID je již účet zaregistrován." + +#: mediagoblin/plugins/openid/forms.py:38 +msgid "OpenID" +msgstr "OpenID" + +#: mediagoblin/plugins/openid/views.py:48 +msgid "Sorry, the OpenID server could not be found" +msgstr "Promiňte, server pro OpenID nebyl nalezen" + +#: mediagoblin/plugins/openid/views.py:61 +#, python-format +msgid "No OpenID service was found for %s" +msgstr "Nebyla nalezena žádná služba OpenID pro %s" + +#: mediagoblin/plugins/openid/views.py:106 +#, python-format +msgid "Verification of %s failed: %s" +msgstr "Ověřování %s selhalo: %s" + +#: mediagoblin/plugins/openid/views.py:117 +msgid "Verification cancelled" +msgstr "Ověření bylo zrušeno" + +#: mediagoblin/plugins/openid/views.py:314 +msgid "Your OpenID url was saved successfully." +msgstr "Vaše OpenID adresa byla úspěšně uložena." + +#: mediagoblin/plugins/openid/views.py:338 +#: mediagoblin/plugins/openid/views.py:393 +msgid "You can't delete your only OpenID URL unless you have a password set" +msgstr "Nemůžete smazat svou jedinou adresu OpenID pokud nemáte nastavené heslo" + +#: mediagoblin/plugins/openid/views.py:343 +#: mediagoblin/plugins/openid/views.py:402 +msgid "That OpenID is not registered to this account." +msgstr "Toto OpenID není k tomuto účtu registrováno." + +#: mediagoblin/plugins/openid/views.py:385 +msgid "OpenID was successfully removed." +msgstr "OpenID bylo úspěšně odstraněno." + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:34 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:23 +msgid "Add an OpenID" +msgstr "Přidat OpenID" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:34 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:31 +msgid "Delete an OpenID" +msgstr "Odstranit OpenID" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 +msgid "Delete" +msgstr "Smazat" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 +msgid "OpenID's" +msgstr "OpenID" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 +#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:47 +msgid "Log in" +msgstr "Přihlásit se" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Přihlášení selhalo!" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 +msgid "Log in to create an account!" +msgstr "Přihlašte se pro vytvoření účtu!" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 +msgid "Or login with a password!" +msgstr "Nebo se přihlašte heslem!" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 +msgid "Or login with OpenID!" +msgstr "Nebo se přihlašte pomocí OpenID!" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 +msgid "Or register with OpenID!" +msgstr "Nebo se zaregistrujte s OpenID!" + +#: mediagoblin/plugins/persona/__init__.py:90 +msgid "Sorry, an account is already registered to that Persona email." +msgstr "Promiňte, pro tento email Persona je již účet zaregistrován." + +#: mediagoblin/plugins/persona/views.py:138 +msgid "The Persona email address was successfully removed." +msgstr "Emailová adresa Persona byla úspěšně odstraněna." + +#: mediagoblin/plugins/persona/views.py:144 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "Nemůžete odstranit svou jedinou emailovou adresu Persona pokud nemáte nastavené heslo." + +#: mediagoblin/plugins/persona/views.py:149 +msgid "That Persona email address is not registered to this account." +msgstr "Tato emailová adresa Persona není k tomuto účtu registrována." + +#: mediagoblin/plugins/persona/views.py:176 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "Promiňte, na tuto emailovou adresu Persona je již účet registrován." + +#: mediagoblin/plugins/persona/views.py:192 +msgid "Your Persona email address was saved successfully." +msgstr "Váš email Persona byl úspěšně uložen." + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 +msgid "Delete a Persona email address" +msgstr "Smazat emailovou adresu Persona" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 +msgid "Add a Persona email address" +msgstr "Přidat emailovou adresu Persona" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 +msgid "Persona's" +msgstr "Persona" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 +msgid "Or login with Persona!" +msgstr "Nebo se přihlašte pomocí Persony!" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 +msgid "Or register with Persona!" +msgstr "Nebo se zaregistrujte s Personou!" + +#: mediagoblin/processing/__init__.py:420 +msgid "Invalid file given for media type." +msgstr "Neplatný soubor pro tento typ tvorby." + +#: mediagoblin/processing/__init__.py:427 +msgid "Copying to public storage failed." +msgstr "Kopírování do veřejného uložiště selhalo." + +#: mediagoblin/processing/__init__.py:435 +msgid "An acceptable processing file was not found" +msgstr "Přijatelný soubor ke zpracování nebyl nalezen" + +#: mediagoblin/submit/forms.py:30 +msgid "Max file size: {0} mb" +msgstr "Maximální velikost souboru: {0} mb" + +#: mediagoblin/submit/forms.py:34 +msgid "File" +msgstr "Soubor" + +#: mediagoblin/submit/forms.py:41 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "Můžete používat\n\nMarkdown pro formátování." + +#: mediagoblin/submit/views.py:55 +msgid "You must provide a file." +msgstr "Musíte poskytnout soubor." + +#: mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Jupí! Odesláno!" + +#: mediagoblin/submit/views.py:138 +#, python-format +msgid "Collection \"%s\" added!" +msgstr "Sbírka „%s“ přidána!" + +#: mediagoblin/templates/mediagoblin/banned.html:20 +msgid "You are Banned." +msgstr "Byl vám udělen Zákaz." + +#: mediagoblin/templates/mediagoblin/banned.html:24 +#: mediagoblin/templates/mediagoblin/error.html:24 +msgid "Image of goblin stressing out" +msgstr "Obrázek vystresovaného goblina" + +#: mediagoblin/templates/mediagoblin/banned.html:26 +msgid "You have been banned" +msgstr "Zákaz platí" + +#: mediagoblin/templates/mediagoblin/banned.html:28 +#, python-format +msgid "until %(until_when)s" +msgstr "do %(until_when)s" + +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "trvale" + +#: mediagoblin/templates/mediagoblin/base.html:81 +msgid "Verify your email!" +msgstr "Ověřte svůj email!" + +#: mediagoblin/templates/mediagoblin/base.html:88 +#: mediagoblin/templates/mediagoblin/base.html:96 +msgid "log out" +msgstr "odhlásit" + +#: mediagoblin/templates/mediagoblin/base.html:115 +#, python-format +msgid "%(user_name)s's account" +msgstr "Účet %(user_name)s" + +#: mediagoblin/templates/mediagoblin/base.html:122 +msgid "Change account settings" +msgstr "Změnit nastavení účtu" + +#: mediagoblin/templates/mediagoblin/base.html:126 +#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26 +msgid "Media processing panel" +msgstr "Panel zpracování tvoreb" + +#: mediagoblin/templates/mediagoblin/base.html:135 +msgid "Log out" +msgstr "Odhlásit" + +#: mediagoblin/templates/mediagoblin/base.html:138 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +msgid "Add media" +msgstr "Přidat tvorbu" + +#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 +msgid "Create new collection" +msgstr "Vytvořit novou sbírku" + +#: mediagoblin/templates/mediagoblin/base.html:151 +msgid "User management panel" +msgstr "Panel pro správu uživatelů" + +#: mediagoblin/templates/mediagoblin/base.html:155 +msgid "Report management panel" +msgstr "Panel pro správu hlášení" + +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Nejnovější tvorba" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:21 +msgid "Authorization" +msgstr "Autorizace" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:26 +#: mediagoblin/templates/mediagoblin/api/authorize.html:53 +msgid "Authorize" +msgstr "Autorizovat" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:29 +msgid "You are logged in as" +msgstr "Jste přihlášen jako" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:33 +msgid "Do you want to authorize " +msgstr "Přejete si autorizovat" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:37 +msgid "an unknown application" +msgstr "neznámou aplikaci" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:39 +msgid " to access your account? " +msgstr "pro přístup k vašemu účtu?" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:41 +msgid "Applications with access to your account can: " +msgstr "Aplikace s přístupem k vašem účtu může:" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:43 +msgid "Post new media as you" +msgstr "Vkládat tvorby vaším jménem" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:44 +msgid "See your information (e.g profile, media, etc...)" +msgstr "Zobrazte si vaše údaje (např. profil, tvorbu apod.)" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:45 +msgid "Change your information" +msgstr "Měnit vaše informace" + +#: mediagoblin/templates/mediagoblin/api/oob.html:21 +msgid "Authorization Finished" +msgstr "Autorizace Dokončena" + +#: mediagoblin/templates/mediagoblin/api/oob.html:26 +msgid "Authorization Complete" +msgstr "Autorizace Kompletní" + +#: mediagoblin/templates/mediagoblin/api/oob.html:28 +msgid "Copy and paste this into your client:" +msgstr "Toto zkopírujte a vložte do svého klienta:" + +#: mediagoblin/templates/mediagoblin/auth/register.html:28 +#: mediagoblin/templates/mediagoblin/auth/register.html:36 +msgid "Create an account!" +msgstr "Vytvořte si účet!" + +#: mediagoblin/templates/mediagoblin/auth/register.html:41 +msgid "Create" +msgstr "Vytvořit" + +#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to activate your GNU MediaGoblin account, open the following URL in\n" +"your web browser:\n" +"\n" +"%(verification_url)s" +msgstr "Zdravím, %(username)s,\n\nAbyste aktivoval(a) váš účet na GNU MediaGoblin, otevřete následující URL ve\nvašem prohlížeči:\n\n%(verification_url)s" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:21 +#, python-format +msgid "" +"Powered by MediaGoblin, a GNU project." +msgstr "Na tomto serveru běží MediaGoblin, projekt GNU." + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:24 +#, python-format +msgid "" +"Released under the AGPL. Source code available." +msgstr "Vydáno pod licencí AGPL. Zdrojový kód je volně přístupný." + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:30 +msgid "Terms of Service" +msgstr "Podmínky poskytovatele" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:20 +msgid "Explore" +msgstr "Prozkoumat" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +msgid "Hi there, welcome to this MediaGoblin site!" +msgstr "Zdravíme, vítejte na stránkách projektu MediaGoblin!" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +msgid "" +"This site is running MediaGoblin, an " +"extraordinarily great piece of media hosting software." +msgstr "Na těchto stránkách běží MediaGoblin, úžasný software pro hostování medií." + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +msgid "" +"To add your own media, place comments, and more, you can log in with your " +"MediaGoblin account." +msgstr "Abyste mohli nahrávat vlastní tvorby, psát komentáře, a ještě víc, přihlašte se svým MediaGoblinovým účtem." + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +msgid "Don't have one yet? It's easy!" +msgstr "Ještě ho nemáte? Je to jednoduché!" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +msgid "" +"\n" +" >Create an account at this site\n" +" or" +msgstr "\n>Vytvořit účet na tomto webu\nnebo" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +msgid "" +"\n" +" Set up MediaGoblin on your own server" +msgstr "\nNastavit MediaGoblin na vlastním serveru" + +#: mediagoblin/templates/mediagoblin/bits/logo.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 +msgid "MediaGoblin logo" +msgstr "Logo MediaGoblin" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:23 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:35 +#, python-format +msgid "Editing attachments for %(media_title)s" +msgstr "Upravujete přílohy %(media_title)s" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +msgid "Attachments" +msgstr "Přílohy" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +msgid "Add attachment" +msgstr "Přiložit soubor" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Zrušit" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:63 +#: mediagoblin/templates/mediagoblin/edit/edit.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 +msgid "Save changes" +msgstr "Uložit změny" + +#: mediagoblin/templates/mediagoblin/edit/change_email.html:23 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:33 +#, python-format +msgid "Changing %(username)s's email" +msgstr "Měním email uživatele %(username)s" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 +#, python-format +msgid "Really delete user '%(user_name)s' and all related media/comments?" +msgstr "Opravdu smazat uživatele '%(user_name)s' a všechnu asociovanou tvorbu/komentáře?" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 +msgid "Yes, really delete my account" +msgstr "Ano, skutečně chci smazat svůj účet" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Smazat navždy" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit.html:35 +#, python-format +msgid "Editing %(media_title)s" +msgstr "Upravujete %(media_title)s" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:40 +#, python-format +msgid "Changing %(username)s's account settings" +msgstr "Měníte nastavení účtu %(username)s" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:54 +msgid "Delete my account" +msgstr "Smazat můj účet" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 +msgid "Email" +msgstr "Email" + +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 +#, python-format +msgid "Editing %(collection_title)s" +msgstr "Editace %(collection_title)s" + +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:34 +#, python-format +msgid "Editing %(username)s's profile" +msgstr "Upravujete profil %(username)s" + +#: mediagoblin/templates/mediagoblin/edit/verification.txt:19 +#, python-format +msgid "" +"Hi,\n" +"\n" +"We wanted to verify that you are %(username)s. If this is the case, then \n" +"please follow the link below to verify your new email address.\n" +"\n" +"%(verification_url)s\n" +"\n" +"If you are not %(username)s or didn't request an email change, you can ignore\n" +"this email." +msgstr "Ahoj,\n\nPotřebujeme ověřit, jestli jste %(username)s. Pokud ano,\nklikněte prosím na tento odkaz pro ověření vaší nové emailové adresy.\n\n%(verification_url)s\n\nPokud nejste %(username)s, nebo jste nežádali o změnu emailu, nemusíte\nsi tohoto emailu všímat." + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 +msgid "New comments" +msgstr "Nové komentáře" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 +#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 +#: mediagoblin/templates/mediagoblin/moderation/report.html:55 +#: mediagoblin/templates/mediagoblin/moderation/report.html:117 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/user_pages/report.html:48 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "před %(formatted_time)s" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 +msgid "Mark all read" +msgstr "Označit jako přečtené" + +#: mediagoblin/templates/mediagoblin/listings/collection.html:30 +#: mediagoblin/templates/mediagoblin/listings/collection.html:35 +#: mediagoblin/templates/mediagoblin/listings/tag.html:30 +#: mediagoblin/templates/mediagoblin/listings/tag.html:35 +#, python-format +msgid "Media tagged with: %(tag_name)s" +msgstr "Tvorba se štítky: %(tag_name)s" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:74 +msgid "Download" +msgstr "Stáhnout" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 +msgid "Original" +msgstr "Původní" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:44 +msgid "" +"Sorry, this audio will not work because \n" +"\tyour web browser does not support HTML5 \n" +"\taudio." +msgstr "Promiňte, tento zvukový soubor nelze přehrát\n\tprotože váš prohlížeč nepodporuje HTML5\n\taudio." + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 +msgid "" +"You can get a modern web browser that \n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "Můžete si stáhnout moderní prohlížeč, který \n\tumí přehrávat tento typ zvuku, na \n\t http://getfirefox.com!" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:80 +msgid "Original file" +msgstr "Původní soubor" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 +msgid "WebM file (Vorbis codec)" +msgstr "Soubor WebM (kodek Vorbis)" + +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +msgid "Created" +msgstr "Vytvořeno" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#, python-format +msgid "Image for %(media_title)s" +msgstr "Obrázek %(media_title)s" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 +msgid "PDF file" +msgstr "Soubor PDF" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +msgid "Perspective" +msgstr "Perspektiva" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +msgid "Front" +msgstr "Zepředu" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +msgid "Top" +msgstr "Zvrchu" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +msgid "Side" +msgstr "Ze strany" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +msgid "WebGL" +msgstr "WebGL" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +msgid "Download model" +msgstr "Stáhnout model" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +msgid "File Format" +msgstr "Formát Souboru" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +msgid "Object Height" +msgstr "Výška Objektu" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:63 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "Promiňte, toto video nelze přehrát protože\nváš prohlížeč nepodporuje HTML5\nvideo." + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:66 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "Můžete si stáhnout moderní prohlížeč, který \n umí přehrát toto video, na \n http://getfirefox.com!" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:88 +msgid "WebM file (VP8/Vorbis)" +msgstr "Soubor WebM (VP8/Vorbis)" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 +msgid "" +"Here you can track the state of media being processed on this instance." +msgstr "Zde můžete sledovat stav tvoreb zpracovávaných na této instanci." + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:33 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 +msgid "Media in-processing" +msgstr "Zpracovávané tvorby" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 +msgid "No media in-processing" +msgstr "Žádné zpracovávané tvorby" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 +msgid "These uploads failed to process:" +msgstr "Tuto tvorbu se nepovedlo zpracovat:" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 +msgid "No failed entries!" +msgstr "Žádné záznamy o selhání!" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:93 +msgid "Last 10 successful uploads" +msgstr "Posledních 10 úspěšných uploadů" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 +msgid "No processed entries, yet!" +msgstr "Zatím tu nejsou žádné zpracované tvorby!" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:27 +msgid "Sorry, no such report found." +msgstr "Promiňte, žádné takové hlášení nebylo nalezeno." + +#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +msgid "Return to Reports Panel" +msgstr "Návrat do Panelu Hlášení" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +msgid "Report" +msgstr "Hlášení" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +msgid "Reported comment" +msgstr "Nahlášený komentář" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#, python-format +msgid "" +"\n" +" ❖ Reported media by %(user_name)s\n" +" " +msgstr "\n❖ Nahlášené medium od uživatele %(user_name)s" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#, python-format +msgid "" +"\n" +" CONTENT BY\n" +" %(user_name)s\n" +" HAS BEEN DELETED\n" +" " +msgstr "\nOBSAH OD UŽIVATELE\n %(user_name)s\nBYL SMAZÁN" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +msgid "Resolve" +msgstr "Vyřešit" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:134 +#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +msgid "Resolve This Report" +msgstr "Vyřešit Toto Hlášení" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +msgid "Status" +msgstr "Stav" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +msgid "RESOLVED" +msgstr "VYŘEŠENO" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +msgid "You cannot take action against an administrator" +msgstr "Nemáte oprávnění zasáhnout proti administrátorovi" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 +msgid "Report panel" +msgstr "Panel hlášení" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 +msgid "" +"\n" +" Here you can look up open reports that have been filed by users.\n" +" " +msgstr "\nZde můžete najít otevřená hlášení podaná uživateli." + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:35 +msgid "Active Reports Filed" +msgstr "Aktivní Podaná Hlášení" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +msgid "Offender" +msgstr "Pachatel" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 +msgid "When Reported" +msgstr "Datum Nahlášení" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +msgid "Reported By" +msgstr "Ohlašovatel" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +msgid "Reason" +msgstr "Důvod" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#, python-format +msgid "" +"\n" +" Comment Report #%(report_id)s\n" +" " +msgstr "\nNahlášení Komentáře #%(report_id)s" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#, python-format +msgid "" +"\n" +" Media Report #%(report_id)s\n" +" " +msgstr "\nNahlášení Tvorby #%(report_id)s" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +msgid "No open reports found." +msgstr "Nebyla nalezena žádná otevřená hlášení." + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +msgid "Closed Reports" +msgstr "Uzavřená Hlášení" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +msgid "Resolved" +msgstr "Vyřešeno" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +msgid "Action Taken" +msgstr "Přijaté Opatření" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#, python-format +msgid "" +"\n" +" Closed Report #%(report_id)s\n" +" " +msgstr "\nUzavřené hlášení #%(report_id)s" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +msgid "No closed reports found." +msgstr "Nebyla nalezena žádná uzavřená hlášení." + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 +msgid "User panel" +msgstr "Panel uživatelů" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:29 +msgid "" +"\n" +" Here you can look up users in order to take punitive actions on them.\n" +" " +msgstr "\nZde můžete najít uživatele, abyste proti nim mohli podniknout příslušná opatření." + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 +msgid "Active Users" +msgstr "Aktivní Uživatelé" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 +msgid "When Joined" +msgstr "Datum Registrace" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 +msgid "# of Comments Posted" +msgstr "Počet vložených komentářů" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 +msgid "No users found." +msgstr "Žádní uživatelé nebyli nalezeni." + +#: mediagoblin/templates/mediagoblin/submit/collection.html:26 +msgid "Add a collection" +msgstr "Přidat sbírku" + +#: mediagoblin/templates/mediagoblin/submit/start.html:28 +#: mediagoblin/templates/mediagoblin/submit/start.html:35 +msgid "Add your media" +msgstr "Přidejte vaši tvorbu" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 +#, python-format +msgid "%(collection_title)s (%(username)s's collection)" +msgstr "%(collection_title)s (sbírka uživatele %(username)s)" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 +#, python-format +msgid "%(collection_title)s by %(username)s" +msgstr "%(collection_title)s od %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 +msgid "Edit" +msgstr "Upravit" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Opravdu smazat %(title)s?" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#, python-format +msgid "Really remove %(media_title)s from %(collection_title)s?" +msgstr "Opravdu odstranit %(media_title)s z %(collection_title)s?" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +msgid "Remove" +msgstr "Odstranit" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 +#, python-format +msgid "%(username)s's collections" +msgstr "Sbírky uživatele %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:28 +#, python-format +msgid "%(username)s's collections" +msgstr "Sbírky %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n" +msgstr "Zdravím, uživateli %(username)s,\n%(comment_author)s vložil(a) komentář k vašemu příspěvku (%(comment_url)s) na serveru %(instance_name)s\n" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 +#, python-format +msgid "%(username)s's media" +msgstr "Tvorba %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:38 +#, python-format +msgid "" +"%(username)s's media with tag %(tag)s" +msgstr "Tvorba %(username)s se štítkem %(tag)s" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#, python-format +msgid "%(username)s's media" +msgstr "Tvorba %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:38 +#, python-format +msgid "❖ Browsing media by %(username)s" +msgstr "❖ Prohlížení tvoreb uživatele %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 +msgid "Add a comment" +msgstr "Přidat komentář" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 +msgid "Add this comment" +msgstr "Přidat tento komentář" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "Náhled Komentáře" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 +msgid "Added" +msgstr "Přidáno" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 +#, python-format +msgid "Add “%(media_title)s” to a collection" +msgstr "Přidat “%(media_title)s” do sbírky" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 +msgid "+" +msgstr "+" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:58 +msgid "Add a new collection" +msgstr "Přidat novou sbírku" + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 +msgid "" +"You can track the state of media being processed for your gallery here." +msgstr "Zde můžete sledovat stav tvoreb, které jsou zpracovávány pro vaší galerii." + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 +msgid "Your last 10 successful uploads" +msgstr "Vašich posledních 10 úspěšných uploadů" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:21 +msgid "

File a Report

" +msgstr "

Nahlásit

" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:24 +msgid "Reporting this Comment" +msgstr "Nahlašuji tento Komentář" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:60 +msgid "Reporting this Media Entry" +msgstr "Nahlašuji tuto Tvorbu" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:72 +#, python-format +msgid "" +"\n" +" ❖ Published by %(username)s\n" +" " +msgstr "\n ❖ Publikováno %(username)s\n " + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:81 +msgid "File Report " +msgstr "Nahlásit" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profil %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +msgid "Here's a spot to tell others about yourself." +msgstr "Zde můžete ostatním říct něco o sobě." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 +msgid "Edit profile" +msgstr "Upravit profil" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Tento uživatel si (zatím) nevyplnil profil." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 +msgid "Browse collections" +msgstr "Procházet sbírky" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#, python-format +msgid "View all of %(username)s's media" +msgstr "Zobrazit všechnu tvorbu %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +msgid "" +"This is where your media will appear, but you don't seem to have added " +"anything yet." +msgstr "Zde se zobrazí tvorba, ale zatím jste nic nepřidal(a)." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 +#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 +msgid "There doesn't seem to be any media here yet..." +msgstr "Zdá se, že tu zatím žádná tvorba není..." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Je třeba ověřit email" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 +msgid "Almost done! Your account still needs to be activated." +msgstr "Skoro hotovo! Váš účet musí ještě být aktivován." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:48 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "Za pár minut by vám měl přijít email s návodem, jak na to." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:52 +msgid "In case it doesn't:" +msgstr "Pokud nepřijde:" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:55 +msgid "Resend verification email" +msgstr "Znovu zaslat ověřovací email" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:63 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" activated." +msgstr "Někdo si zaregistroval účet s tímto uživatelským jménem, ale ještě nebyl aktivován." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:68 +#, python-format +msgid "" +"If you are that person but you've lost your verification email, you can log in and resend it." +msgstr "Pokud jste to vy, ale ztratili jste ověřovací email, můžete se přihlásit a odeslat jej znovu." + +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 +msgid "(remove)" +msgstr "(odstranit)" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:21 +msgid "Collected in" +msgstr "Ve sbírce" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:40 +msgid "Add to a collection" +msgstr "Přidat do sbírky" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 +msgid "feed icon" +msgstr "ikona kanálu" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:23 +msgid "Atom feed" +msgstr "kanál Atom" + +#: mediagoblin/templates/mediagoblin/utils/license.html:25 +msgid "All rights reserved" +msgstr "Všechna práva vyhrazena" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:39 +msgid "← Newer" +msgstr "← Novější" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:45 +msgid "Older →" +msgstr "Starší →" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:48 +msgid "Go to page:" +msgstr "Přejít na stránku:" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:28 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:33 +msgid "newer" +msgstr "novější" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:39 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:44 +msgid "older" +msgstr "starší" + +#: mediagoblin/templates/mediagoblin/utils/report.html:25 +msgid "Report media" +msgstr "Nahlásit tvorbu" + +#: mediagoblin/templates/mediagoblin/utils/tags.html:20 +msgid "Tagged with" +msgstr "Štítky" + +#: mediagoblin/tools/exif.py:83 +msgid "Could not read the image file." +msgstr "Soubor obrázku nelze přečíst." + +#: mediagoblin/tools/response.py:38 +msgid "Oops!" +msgstr "Jejda!" + +#: mediagoblin/tools/response.py:39 +msgid "An error occured" +msgstr "Došlo k chybě" + +#: mediagoblin/tools/response.py:53 +msgid "Bad Request" +msgstr "Špatný Požadavek" + +#: mediagoblin/tools/response.py:55 +msgid "The request sent to the server is invalid, please double check it" +msgstr "Požadavek zaslaný na tento server je neplatný, prosím zkontrolujte ho." + +#: mediagoblin/tools/response.py:63 +msgid "Operation not allowed" +msgstr "Tato operace není dovolena" + +#: mediagoblin/tools/response.py:64 +msgid "" +"Sorry Dave, I can't let you do that!

You have tried to perform a " +"function that you are not allowed to. Have you been trying to delete all " +"user accounts again?" +msgstr "Promiň Dave, nemůžu ti dovolit to udělat!

Pokoušeli jste se použít funkci, ke které nemáte oprávnění." + +#: mediagoblin/tools/response.py:72 +msgid "" +"There doesn't seem to be a page at this address. Sorry!

If you're sure" +" the address is correct, maybe the page you're looking for has been moved or" +" deleted." +msgstr "Zdá se, že na této adrese žádná stránka není. Omlouváme se!

Pokud jste si jistí, že tato adresa je správná, je možné, že stránka, kterou hledáte, byla přesunuta nebo smazána." + +#: mediagoblin/tools/timesince.py:62 +msgid "year" +msgstr "rokem" + +#: mediagoblin/tools/timesince.py:63 +msgid "month" +msgstr "měsícem" + +#: mediagoblin/tools/timesince.py:64 +msgid "week" +msgstr "týdnem" + +#: mediagoblin/tools/timesince.py:65 +msgid "day" +msgstr "dnem" + +#: mediagoblin/tools/timesince.py:66 +msgid "hour" +msgstr "hodinou" + +#: mediagoblin/tools/timesince.py:67 +msgid "minute" +msgstr "minutou" + +#: mediagoblin/user_pages/forms.py:23 +msgid "Comment" +msgstr "Komentář" + +#: mediagoblin/user_pages/forms.py:25 +msgid "" +"You can use Markdown for formatting." +msgstr "Můžete používat Markdown pro formátování." + +#: mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Jsem si jist(a), že to chci smazat" + +#: mediagoblin/user_pages/forms.py:35 +msgid "I am sure I want to remove this item from the collection" +msgstr "Jsem si jist(a), že chci odstranit tuto položku ze sbírky" + +#: mediagoblin/user_pages/forms.py:39 +msgid "Collection" +msgstr "Sbírka" + +#: mediagoblin/user_pages/forms.py:40 +msgid "-- Select --" +msgstr "-- Vyberte si --" + +#: mediagoblin/user_pages/forms.py:42 +msgid "Include a note" +msgstr "Přidat poznámku" + +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "Můžete používat\nMarkdown pro formátování." + +#: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 +msgid "Reason for Reporting" +msgstr "Důvod hlášení" + +#: mediagoblin/user_pages/views.py:178 +msgid "Sorry, comments are disabled." +msgstr "Promiňte, komentáře jsou vypnuty" + +#: mediagoblin/user_pages/views.py:183 +msgid "Oops, your comment was empty." +msgstr "Chybka, váš komentář byl prázdný." + +#: mediagoblin/user_pages/views.py:189 +msgid "Your comment has been posted!" +msgstr "Váš komentář byl odeslán!" + +#: mediagoblin/user_pages/views.py:225 +msgid "Please check your entries and try again." +msgstr "Zkontrolujte prosím své tvorby a zkuste to znovu." + +#: mediagoblin/user_pages/views.py:265 +msgid "You have to select or add a collection" +msgstr "Musíte vybrat nebo přidat sbírku" + +#: mediagoblin/user_pages/views.py:276 +#, python-format +msgid "\"%s\" already in collection \"%s\"" +msgstr "„%s“ už je ve sbírce „%s“" + +#: mediagoblin/user_pages/views.py:282 +#, python-format +msgid "\"%s\" added to collection \"%s\"" +msgstr "„%s“ přidáno do sbírky „%s“" + +#: mediagoblin/user_pages/views.py:307 +msgid "You deleted the media." +msgstr "Tuto tvorbu jste smazal(a)." + +#: mediagoblin/user_pages/views.py:319 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Tvorba nebyla odstraněna, protože jste nezaškrtli, že jste si jistí." + +#: mediagoblin/user_pages/views.py:326 +msgid "You are about to delete another user's media. Proceed with caution." +msgstr "Chystáte se smazat tvorbu jiného uživatele. Buďte opatrná/ý." + +#: mediagoblin/user_pages/views.py:399 +msgid "You deleted the item from the collection." +msgstr "Smazal(a) jste položku ze sbírky." + +#: mediagoblin/user_pages/views.py:403 +msgid "The item was not removed because you didn't check that you were sure." +msgstr "Objekt nebyl odstraněn, protože jste nezaškrtli, že jste si jistí." + +#: mediagoblin/user_pages/views.py:411 +msgid "" +"You are about to delete an item from another user's collection. Proceed with" +" caution." +msgstr "Chystáte se smazat položku ze sbírky dalšího uživatele. Buďte opatrná/ý." + +#: mediagoblin/user_pages/views.py:443 +#, python-format +msgid "You deleted the collection \"%s\"" +msgstr "Smazal(a) jste sbírku „%s“" + +#: mediagoblin/user_pages/views.py:450 +msgid "" +"The collection was not deleted because you didn't check that you were sure." +msgstr "Sbírka nebyla odstraněna, protože jste nezaškrtli, že jste si jistí." + +#: mediagoblin/user_pages/views.py:458 +msgid "" +"You are about to delete another user's collection. Proceed with caution." +msgstr "Chystáte se smazat sbírku dalšího uživatele. Buďte opatrná/ý." diff --git a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po index bece988b..eb419349 100644 --- a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po @@ -3,17 +3,17 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: -# Aputsiaĸ Niels Janussen , 2013 +# Aputsiaĸ Niels Janussen , 2013-2014 # Morten Juhl-Johansen Zölde-Fejér , 2012 # Olle Jonsson , 2012 -# ttrudslev , 2012 +# Tanja Trudslev , 2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-07-06 00:16+0000\n" +"Last-Translator: Aputsiaĸ Niels Janussen \n" "Language-Team: Danish (http://www.transifex.com/projects/p/mediagoblin/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -263,12 +263,12 @@ msgstr "" #: mediagoblin/gmg_commands/assetlink.py:76 msgid "However, old link directory symlink found; removed.\n" -msgstr "" +msgstr "Dog blev den symbolske henvisning til den tidligere kataloghenvisning fundet; fjernet.\n" #: mediagoblin/gmg_commands/assetlink.py:112 #, python-format msgid "Could not link \"%s\": %s exists and is not a symlink\n" -msgstr "" +msgstr "Kunne ikke henvise \"%s\": %s eksisterer og er ikke en symbolsk henvisning\n" #: mediagoblin/gmg_commands/assetlink.py:119 #, python-format @@ -302,11 +302,11 @@ msgstr "Omkodning af video mislykkedes" #: mediagoblin/moderation/forms.py:21 msgid "Take away privilege" -msgstr "" +msgstr "Fjern privilegiet" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" -msgstr "" +msgstr "Bandlys denne bruger" #: mediagoblin/moderation/forms.py:23 msgid "Send the user a message" @@ -314,27 +314,27 @@ msgstr "" #: mediagoblin/moderation/forms.py:24 msgid "Delete the content" -msgstr "" +msgstr "Slet indholdet" #: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 msgid "User will be banned until:" -msgstr "" +msgstr "Brugeren vil blive bandlyst indtil:" #: mediagoblin/moderation/forms.py:57 msgid "Why are you banning this User?" -msgstr "" +msgstr "Hvorfor bandlyser du denne bruger?" #: mediagoblin/moderation/forms.py:109 msgid "What action will you take to resolve the report?" -msgstr "" +msgstr "Hvilken handling vil du foretage, for at tackle rapporten?" #: mediagoblin/moderation/forms.py:115 msgid "What privileges will you take away?" -msgstr "" +msgstr "Hvilke privilegier ønsker du at fjerne?" #: mediagoblin/moderation/tools.py:91 msgid "Warning from" -msgstr "" +msgstr "Advarsel fra" #: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 msgid "commented on your post" @@ -361,17 +361,17 @@ msgstr "" #: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." -msgstr "" +msgstr "Beklager, filstørrelsen er for stor." #: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." -msgstr "" +msgstr "Beklager, overførsel af denne fil vil betyde at du bryder grænsen for overførsel." #: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." -msgstr "" +msgstr "Beklager, du har nået din grænse for filoverførsel." #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 @@ -403,11 +403,11 @@ msgstr "Brugernavn eller email" msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." -msgstr "" +msgstr "Hvis emailadressen (der skelnes mellem små og store bogstaver!) er en registreret, så er der blevet sendt en email med instrukser om ændring af adgangskode." #: mediagoblin/plugins/basic_auth/views.py:65 msgid "Couldn't find someone with that username." -msgstr "" +msgstr "Kunne ikke finde nogen med dette brugernavn." #: mediagoblin/plugins/basic_auth/views.py:68 msgid "" @@ -468,7 +468,7 @@ msgstr "Opret én her!" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 msgid "Change your password." -msgstr "" +msgstr "Skift din adgangskode." #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 @@ -494,7 +494,7 @@ msgstr "Vis på OpenStreetMap" #: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 msgid "Sign in to create an account!" -msgstr "" +msgstr "Log ind for at oprette en konto!" #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" @@ -520,7 +520,7 @@ msgstr "Beskrivelse" msgid "" "This will be visible to users allowing your\n" " application to authenticate as them." -msgstr "" +msgstr "Dette vil være synligt for brugere, og tillader\ndine programmer at godkende som disse." #: mediagoblin/plugins/oauth/forms.py:40 msgid "Type" @@ -544,7 +544,7 @@ msgstr "Omdirigér URI" msgid "" "The redirect URI for the applications, this field\n" " is required for public clients." -msgstr "" +msgstr "URI'en til viderestililng for applikationerne. Dette felt\ner påkrævet for offentlige klienter." #: mediagoblin/plugins/oauth/forms.py:66 msgid "This field is required for public clients" @@ -673,21 +673,21 @@ msgstr "Eller tilmeld dig med OpenID!" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "" +msgstr "Beklager, der er allerede en konto med denne Persona-email." #: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." -msgstr "" +msgstr "Fjernelse af Persona-emailadressen blev gennemført." #: mediagoblin/plugins/persona/views.py:144 msgid "" "You can't delete your only Persona email address unless you have a password " "set." -msgstr "" +msgstr "Du kan ikke slette din eneste Persona-emailadresse, medmindre du har angivet en adgangskode." #: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." -msgstr "" +msgstr "Denne Persona-emailadresse er ikke registreret på denne konto." #: mediagoblin/plugins/persona/views.py:176 msgid "" @@ -708,7 +708,7 @@ msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 msgid "Persona's" -msgstr "" +msgstr "Persona'er" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" @@ -732,7 +732,7 @@ msgstr "" #: mediagoblin/submit/forms.py:30 msgid "Max file size: {0} mb" -msgstr "" +msgstr "Maks. filstørrelse: {0} mb" #: mediagoblin/submit/forms.py:34 msgid "File" @@ -743,7 +743,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Du kan benytte\n \n Markdown til tekstformatering." #: mediagoblin/submit/views.py:55 msgid "You must provide a file." @@ -760,25 +760,25 @@ msgstr "Samlingen \"%s\" blev tilføjet!" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." -msgstr "" +msgstr "Du er blevet bandlyst." #: mediagoblin/templates/mediagoblin/banned.html:24 #: mediagoblin/templates/mediagoblin/error.html:24 msgid "Image of goblin stressing out" -msgstr "" +msgstr "Et billede at en goblin der er stresset" #: mediagoblin/templates/mediagoblin/banned.html:26 msgid "You have been banned" -msgstr "" +msgstr "Du er blevet bandlyst" #: mediagoblin/templates/mediagoblin/banned.html:28 #, python-format msgid "until %(until_when)s" -msgstr "" +msgstr "indtil %(until_when)s" #: mediagoblin/templates/mediagoblin/banned.html:30 msgid "indefinitely" -msgstr "" +msgstr "ubestemt tid" #: mediagoblin/templates/mediagoblin/base.html:81 msgid "Verify your email!" @@ -1012,7 +1012,7 @@ msgstr "Ændrer %(username)ss e-mail" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" -msgstr "" +msgstr "Sikker på at brugeren '%(user_name)s' og alle relaterede medier/kommentarer skal slettes?" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 msgid "Yes, really delete my account" @@ -1194,7 +1194,7 @@ msgid "" "You can get a modern web browser that \n" " can play this video at \n" " http://getfirefox.com!" -msgstr "" +msgstr "Du kan hente en moderne browser, der\n kan afspille videoen på \n http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:88 msgid "WebM file (VP8/Vorbis)" @@ -1245,11 +1245,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report.html:33 #: mediagoblin/templates/mediagoblin/user_pages/media.html:155 msgid "Report" -msgstr "" +msgstr "Rapport" #: mediagoblin/templates/mediagoblin/moderation/report.html:36 msgid "Reported comment" -msgstr "" +msgstr "Rapporteret kommentar" #: mediagoblin/templates/mediagoblin/moderation/report.html:81 #, python-format @@ -1323,7 +1323,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Reason" -msgstr "" +msgstr "Årsag" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 #, python-format @@ -1331,7 +1331,7 @@ msgid "" "\n" " Comment Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Kommentarrapport #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 #, python-format @@ -1625,7 +1625,7 @@ msgstr "(fjern)" #: mediagoblin/templates/mediagoblin/utils/collections.html:21 msgid "Collected in" -msgstr "" +msgstr "Indsamlet i" #: mediagoblin/templates/mediagoblin/utils/collections.html:40 msgid "Add to a collection" @@ -1711,7 +1711,7 @@ msgid "" "There doesn't seem to be a page at this address. Sorry!

If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "" +msgstr "Det ser ikke ud til at der er en side på denne adresse. Beklager!

Hvis du er sikker på, at adressen er korrekt, så er siden du leder efter muligvis flyttet eller slettet." #: mediagoblin/tools/timesince.py:62 msgid "year" diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po index e1202161..8b7b2abd 100644 --- a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po @@ -12,18 +12,22 @@ # Jan-Christoph Borchardt , 2011 # Jan-Christoph Borchardt , 2011, 2012 # Keyzo , 2011 +# Marc Riese , 2013 +# Marc Riese , 2013 # Elrond , 2011 -# Art O. Pal , 2011 +# davidak , 2014 +# Artopal , 2011 +# spaetz , 2014 # spaetz , 2012 -# vinzv Vietzke , 2012 -# vinzv Vietzke , 2011 +# Vinzenz Vietzke , 2012 +# Vinzenz Vietzke , 2011 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-03-22 12:05+0000\n" +"Last-Translator: davidak \n" "Language-Team: German (http://www.transifex.com/projects/p/mediagoblin/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,12 +42,12 @@ msgstr "Benutzerregistrierung ist auf diesem Server leider deaktiviert." #: mediagoblin/decorators.py:315 msgid "Sorry, reporting is disabled on this instance." -msgstr "" +msgstr "Das Melden ist auf dieser Instanz leider deaktiviert." #: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." -msgstr "" +msgstr "Authentifizierung ist auf dieser Instanz leider deaktiviert." #: mediagoblin/auth/tools.py:43 msgid "Invalid User name or email address." @@ -55,7 +59,7 @@ msgstr "Dieses Feld akzeptiert keine E-Mail-Adressen." #: mediagoblin/auth/tools.py:45 msgid "This field requires an email address." -msgstr "Dieses Feld benötigt eine E-Mail-Adresse." +msgstr "Dieses Feld benötigt eine gültige E-Mail-Adresse." #: mediagoblin/auth/tools.py:116 msgid "Sorry, a user with that name already exists." @@ -68,7 +72,7 @@ msgstr "Leider gibt es bereits einen Benutzer mit dieser E-Mail-Adresse." #: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 #: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "Der Bestätigungsschlüssel oder die Benutzer-ID stimmen nicht." #: mediagoblin/auth/views.py:161 msgid "" @@ -82,7 +86,7 @@ msgstr "Der Aktivierungsschlüssel oder die Nutzerkennung ist falsch." #: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" -msgstr "Du musst angemeldet sein, damit wir wissen, wer die Email bekommt." +msgstr "Du musst angemeldet sein, damit wir wissen, an wen die E-Mail gesendet werden soll." #: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" @@ -108,7 +112,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "Die Texte lassen sich durch Markdown formatieren." +msgstr "Für Formatierung kannst du\n \n Markdown benutzen." #: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 msgid "Tags" @@ -116,7 +120,7 @@ msgstr "Schlagwörter" #: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." -msgstr "Kommaseparierte Schlagwörter" +msgstr "Getrennt durch Kommata" #: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 msgid "Slug" @@ -147,7 +151,7 @@ msgstr "Webseite" #: mediagoblin/edit/forms.py:60 msgid "This address contains errors" -msgstr "Diese Adresse ist fehlerhaft" +msgstr "Die URL ist nicht gültig. Bitte überprüf sie nochmal..." #: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" @@ -155,7 +159,7 @@ msgstr "Mir eine E-Mail schicken, wenn andere meine Medien kommentieren" #: mediagoblin/edit/forms.py:67 msgid "Enable insite notifications about events." -msgstr "" +msgstr "Aktiviere innerhalb Benachrichtigungen über Ereignisse." #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -163,11 +167,11 @@ msgstr "Bevorzugte Lizenz" #: mediagoblin/edit/forms.py:75 msgid "This will be your default license on upload forms." -msgstr "Dies wird Deine Standardlizenz in den Upload-Forumularen sein." +msgstr "Dies wird deine Standardlizenz für neue Uploads sein." #: mediagoblin/edit/forms.py:88 msgid "The title can't be empty" -msgstr "Der Titel kann nicht leer sein" +msgstr "Der Titel darf nicht leer sein" #: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 @@ -186,7 +190,7 @@ msgstr "Altes Passwort" #: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." -msgstr "Gib dein altes Passwort ein, um zu bestätigen, dass du dieses Konto besitzt." +msgstr "Gib dein altes Passwort ein, um zu bestätigen, dass du der Besitzer dieses Kontos bist." #: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" @@ -194,7 +198,7 @@ msgstr "Neues Passwort" #: mediagoblin/edit/forms.py:117 msgid "New email address" -msgstr "" +msgstr "Neue E-Mail-Adresse" #: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -206,7 +210,7 @@ msgstr "Passwort" #: mediagoblin/edit/forms.py:123 msgid "Enter your password to prove you own this account." -msgstr "" +msgstr "Gib Dein Passwort ein, um zu bestätigen, dass Du dieses Konto besitzt." #: mediagoblin/edit/views.py:73 msgid "An entry with that slug already exists for this user." @@ -219,7 +223,7 @@ msgstr "Du bearbeitest die Medien eines anderen Nutzers. Sei bitte vorsichtig." #: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" -msgstr "Sie haben den Anhang %s hinzugefügt!" +msgstr "Du hast den Anhang %s hinzugefügt!" #: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." @@ -239,13 +243,13 @@ msgstr "Kontoeinstellungen gespeichert" #: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." -msgstr "Du musst die Löschung deines Kontos bestätigen." +msgstr "Du musst die Löschung deines Kontos noch bestätigen." #: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" -msgstr "Du hast bereits eine Sammlung mit Namen »%s«!" +msgstr "Du hast bereits eine Sammlung mit dem Namen \"%s\"!" #: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." @@ -257,7 +261,7 @@ msgstr "Du bearbeitest die Sammlung eines anderen Benutzers. Sei vorsichtig." #: mediagoblin/edit/views.py:373 msgid "Your email address has been verified." -msgstr "" +msgstr "Deine E-Mail-Adresse wurde verifiziert." #: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" @@ -278,17 +282,17 @@ msgstr "Trotzdem wurde eine alte Verknüpfung gefunden; sie wurde entfernt\n" #: mediagoblin/gmg_commands/assetlink.py:112 #, python-format msgid "Could not link \"%s\": %s exists and is not a symlink\n" -msgstr "" +msgstr "Konnte \"%s\" nicht verlinken: %s existiert und ist kein Symlink\n" #: mediagoblin/gmg_commands/assetlink.py:119 #, python-format msgid "Skipping \"%s\"; already set up.\n" -msgstr "" +msgstr "Überspringe \"%s\"; bereits eingerichtet.\n" #: mediagoblin/gmg_commands/assetlink.py:124 #, python-format msgid "Old link found for \"%s\"; removing.\n" -msgstr "" +msgstr "Alte Verknüpfung für \"%s\" gefunden; wird entfernt.\n" #: mediagoblin/meddleware/csrf.py:134 msgid "" @@ -300,11 +304,11 @@ msgstr "Das CSRF cookie ist nicht vorhanden. Das liegt vermutlich an einem Cooki #: mediagoblin/media_types/__init__.py:78 #: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" -msgstr "Entschuldigung, dieser Dateityp wird nicht unterstützt." +msgstr "Dieser Dateityp wird leider nicht unterstützt." #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" -msgstr "" +msgstr "unoconv konnte nicht ausgeführt werden, überprüfe Logdatei" #: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" @@ -312,39 +316,39 @@ msgstr "Videokonvertierung fehlgeschlagen" #: mediagoblin/moderation/forms.py:21 msgid "Take away privilege" -msgstr "" +msgstr "Rechte entziehen" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" -msgstr "" +msgstr "Benutzer sperren" #: mediagoblin/moderation/forms.py:23 msgid "Send the user a message" -msgstr "" +msgstr "Dem Benutzer eine Nachricht senden" #: mediagoblin/moderation/forms.py:24 msgid "Delete the content" -msgstr "" +msgstr "Inhalt löschen" #: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 msgid "User will be banned until:" -msgstr "" +msgstr "Benutzer wird gesperrt bis:" #: mediagoblin/moderation/forms.py:57 msgid "Why are you banning this User?" -msgstr "" +msgstr "Warum sperrst du diesen Benutzer?" #: mediagoblin/moderation/forms.py:109 msgid "What action will you take to resolve the report?" -msgstr "" +msgstr "Welche Maßnahme wirst du ergreifen, um die Meldung zu klären?" #: mediagoblin/moderation/forms.py:115 msgid "What privileges will you take away?" -msgstr "" +msgstr "Welche Rechte wirst du entziehen?" #: mediagoblin/moderation/tools.py:91 msgid "Warning from" -msgstr "" +msgstr "Warnung von" #: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 msgid "commented on your post" @@ -353,35 +357,35 @@ msgstr "hat dein Medium kommentiert" #: mediagoblin/notifications/views.py:35 #, python-format msgid "Subscribed to comments on %s!" -msgstr "" +msgstr "Kommentare zu %s wurden abonniert!" #: mediagoblin/notifications/views.py:48 #, python-format msgid "You will not receive notifications for comments on %s." -msgstr "" +msgstr "Du wirst keine Benachrichtigungen für Kommentare zu %s mehr erhalten." #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." -msgstr "" +msgstr "Ein OAuth-Token muss bereitgestellt werden." #: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 msgid "No request token found." -msgstr "" +msgstr "Kein Anfrage-Token gefunden." #: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." -msgstr "" +msgstr "Die Datei ist zu groß." #: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." -msgstr "" +msgstr "Das Hochladen dieser Datei würde dein Upload-Limit überschreiten." #: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." -msgstr "" +msgstr "Du hast dein Upload-Limit erreicht." #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 @@ -403,7 +407,7 @@ msgstr "Benutzername oder E-Mail-Adresse" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "Angemeldet bleiben" #: mediagoblin/plugins/basic_auth/forms.py:51 msgid "Username or email" @@ -432,7 +436,7 @@ msgstr "Die E-Mail zur Wiederherstellung des Passworts konnte nicht verschickt w #: mediagoblin/plugins/basic_auth/views.py:123 msgid "The user id is incorrect." -msgstr "" +msgstr "Die Benutzer-ID stimmt nicht." #: mediagoblin/plugins/basic_auth/views.py:139 msgid "You can now log in using your new password." @@ -442,11 +446,11 @@ msgstr "Du kannst dich jetzt mit deinem neuen Passwort anmelden." msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your account." -msgstr "" +msgstr "Du bist nicht länger ein aktiver Benutzer. Bitte kontaktiere den System-Administrator, um Dein Konto zu reaktivieren." #: mediagoblin/plugins/basic_auth/views.py:215 msgid "Your password was changed successfully" -msgstr "" +msgstr "Dein Passwort wurde erfolgreich geändert" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 @@ -455,18 +459,18 @@ msgstr "Dein neues Passwort" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 msgid "Set password" -msgstr "Passwort setzen" +msgstr "Passwort ändern" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" -msgstr "" +msgstr "Ändere %(username)ss Passwort" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 msgid "Save" -msgstr "" +msgstr "Speichern" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 msgid "Don't have an account yet?" @@ -478,12 +482,12 @@ msgstr "Registriere dich einfach hier!" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 msgid "Change your password." -msgstr "" +msgstr "Ändere dein Passwort." #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 msgid "Recover password" -msgstr "Passwort wiederherstellen" +msgstr "Passwort zurücksetzen" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:34 msgid "Send instructions" @@ -504,7 +508,7 @@ msgstr "In OpenStreetMap öffnen" #: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 msgid "Sign in to create an account!" -msgstr "" +msgstr "Anmelden um ein Konto zu erstellen!" #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" @@ -562,7 +566,7 @@ msgstr "Dieses Feld ist Pflicht für öffentliche Clients" #: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" -msgstr "Client {0} wurde registriert!" +msgstr "Der Client {0} wurde erfolgreich registriert!" #: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 msgid "OAuth client connections" @@ -584,60 +588,60 @@ msgstr "Hinzufügen" #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 msgid "Sorry, an account is already registered to that OpenID." -msgstr "" +msgstr "Mit dieser OpenID wurde bereits ein Konto registriert." #: mediagoblin/plugins/openid/forms.py:38 msgid "OpenID" -msgstr "" +msgstr "OpenID" #: mediagoblin/plugins/openid/views.py:48 msgid "Sorry, the OpenID server could not be found" -msgstr "" +msgstr "Der OpenID-Server konnte leider nicht gefunden werden" #: mediagoblin/plugins/openid/views.py:61 #, python-format msgid "No OpenID service was found for %s" -msgstr "" +msgstr "Für %s konnte kein OpenID-Dienst gefunden werden" #: mediagoblin/plugins/openid/views.py:106 #, python-format msgid "Verification of %s failed: %s" -msgstr "" +msgstr "Überprüfung von %s fehlgeschlagen: %s" #: mediagoblin/plugins/openid/views.py:117 msgid "Verification cancelled" -msgstr "" +msgstr "Überprüfung abgebrochen" #: mediagoblin/plugins/openid/views.py:314 msgid "Your OpenID url was saved successfully." -msgstr "" +msgstr "Deine OpenID-URL wurde erfolgreich gespeichert." #: mediagoblin/plugins/openid/views.py:338 #: mediagoblin/plugins/openid/views.py:393 msgid "You can't delete your only OpenID URL unless you have a password set" -msgstr "" +msgstr "Du kannst deine OpenID-URL nicht löschen, solange kein Passwort gesetzt ist." #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 msgid "That OpenID is not registered to this account." -msgstr "" +msgstr "Diese OpenID ist für dieses Konto nicht registriert." #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "" +msgstr "OpenID wurde erfolgreich entfernt." #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:34 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:23 msgid "Add an OpenID" -msgstr "" +msgstr "Eine OpenID hinzufügen" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:34 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:23 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:31 msgid "Delete an OpenID" -msgstr "" +msgstr "Eine OpenID entfernen" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 @@ -648,7 +652,7 @@ msgstr "Löschen" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" -msgstr "" +msgstr "OpenIDs" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 @@ -667,66 +671,66 @@ msgstr "Anmeldevorgang fehlgeschlagen!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "Anmelden, um ein Konto zu erstellen!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "Oder melde dich mit einem Passwort an!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "" +msgstr "Oder melde dich mit einer OpenID an!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" -msgstr "" +msgstr "Oder registriere dich mit OpenID!" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "" +msgstr "Mit dieser Persona E-Mail wurde bereits ein Konto registriert." #: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." -msgstr "" +msgstr "Die Persone E-Mail-Adresse wurde erfolgreich entfernt." #: mediagoblin/plugins/persona/views.py:144 msgid "" "You can't delete your only Persona email address unless you have a password " "set." -msgstr "" +msgstr "Du kannst deine Persona E-Mail-Adresse nicht löschen, solange kein Passwort gesetzt ist." #: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." -msgstr "" +msgstr "Diese Persona E-Mail-Adresse ist für dieses Konto nicht registriert." #: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." -msgstr "" +msgstr "Mit dieser Persona E-Mail-Adresse wurde bereits ein Konto registriert." #: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." -msgstr "" +msgstr "Deine Persona E-Mail-Adresse wurde erfolgreich gespeichert." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 msgid "Delete a Persona email address" -msgstr "" +msgstr "Eine Persona E-Mail-Adresse löschen" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 msgid "Add a Persona email address" -msgstr "" +msgstr "Eine Persona E-Mail-Adresse hinzufügen" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 msgid "Persona's" -msgstr "" +msgstr "Personas" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" -msgstr "" +msgstr "Oder melde dich mit Persona an!" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 msgid "Or register with Persona!" -msgstr "" +msgstr "Oder registriere dich mit Persona!" #: mediagoblin/processing/__init__.py:420 msgid "Invalid file given for media type." @@ -734,15 +738,15 @@ msgstr "Die Datei stimmt nicht mit dem gewählten Medientyp überein." #: mediagoblin/processing/__init__.py:427 msgid "Copying to public storage failed." -msgstr "" +msgstr "Kopieren auf öffentlichen Speicher ist fehlgeschlagen." #: mediagoblin/processing/__init__.py:435 msgid "An acceptable processing file was not found" -msgstr "" +msgstr "Es wurde keine akzeptable Datei zum Verarbeiten gefunden" #: mediagoblin/submit/forms.py:30 msgid "Max file size: {0} mb" -msgstr "" +msgstr "Max. Dateigröße: {0} MB" #: mediagoblin/submit/forms.py:34 msgid "File" @@ -753,7 +757,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Du kannst\n\nMarkdown zum Formatieren verwenden." #: mediagoblin/submit/views.py:55 msgid "You must provide a file." @@ -766,11 +770,11 @@ msgstr "JAAA! Geschafft!" #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" -msgstr "Sammlung »%s« hinzugefügt!" +msgstr "Sammlung \"%s\" hinzugefügt!" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." -msgstr "" +msgstr "Du bist gesperrt." #: mediagoblin/templates/mediagoblin/banned.html:24 #: mediagoblin/templates/mediagoblin/error.html:24 @@ -779,16 +783,16 @@ msgstr "Bild eines gestressten Goblins" #: mediagoblin/templates/mediagoblin/banned.html:26 msgid "You have been banned" -msgstr "" +msgstr "Du wurdest gesperrt" #: mediagoblin/templates/mediagoblin/banned.html:28 #, python-format msgid "until %(until_when)s" -msgstr "" +msgstr "bis %(until_when)s" #: mediagoblin/templates/mediagoblin/banned.html:30 msgid "indefinitely" -msgstr "" +msgstr "unbefristet" #: mediagoblin/templates/mediagoblin/base.html:81 msgid "Verify your email!" @@ -797,7 +801,7 @@ msgstr "Bitte bestätige Deine E-Mail-Adresse!" #: mediagoblin/templates/mediagoblin/base.html:88 #: mediagoblin/templates/mediagoblin/base.html:96 msgid "log out" -msgstr "abmelden" +msgstr "Abmelden" #: mediagoblin/templates/mediagoblin/base.html:115 #, python-format @@ -829,15 +833,15 @@ msgstr "Medien hinzufügen" #: mediagoblin/templates/mediagoblin/base.html:141 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" -msgstr "Neues Album erstellen" +msgstr "Neue Sammlung erstellen" #: mediagoblin/templates/mediagoblin/base.html:151 msgid "User management panel" -msgstr "" +msgstr "Benutzerverwaltung" #: mediagoblin/templates/mediagoblin/base.html:155 msgid "Report management panel" -msgstr "" +msgstr "Meldungsverwaltung" #: mediagoblin/templates/mediagoblin/root.html:32 msgid "Most recent media" @@ -845,61 +849,61 @@ msgstr "Neuste Medien" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" -msgstr "" +msgstr "Autorisierung" #: mediagoblin/templates/mediagoblin/api/authorize.html:26 #: mediagoblin/templates/mediagoblin/api/authorize.html:53 msgid "Authorize" -msgstr "" +msgstr "Autorisieren" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "" +msgstr "Du bist angemeldet als" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " -msgstr "" +msgstr "Möchtest du" #: mediagoblin/templates/mediagoblin/api/authorize.html:37 msgid "an unknown application" -msgstr "" +msgstr "eine unbekannte Anwendung" #: mediagoblin/templates/mediagoblin/api/authorize.html:39 msgid " to access your account? " -msgstr "" +msgstr "dazu autorisieren auf dein Konto zuzugreifen?" #: mediagoblin/templates/mediagoblin/api/authorize.html:41 msgid "Applications with access to your account can: " -msgstr "" +msgstr "Anwendungen mit Zugriff auf dein Konto können:" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" -msgstr "" +msgstr "Neue Medien unter deinem Namen veröffentlichen" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, media, etc...)" -msgstr "" +msgstr "Deine Informationen sehen (z.B. Profil, Medien, etc.)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" -msgstr "" +msgstr "Deine Daten ändern" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "" +msgstr "Autorisierung abgeschlossen" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "" +msgstr "Autorisierung abgeschlossen" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "" +msgstr "Kopiere dies und füge es in deinem Client ein:" #: mediagoblin/templates/mediagoblin/auth/register.html:28 #: mediagoblin/templates/mediagoblin/auth/register.html:36 msgid "Create an account!" -msgstr "Neues Nutzerkonto registrieren!" +msgstr "Einloggen um ein Konto zu erstellen!" #: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" @@ -914,7 +918,7 @@ msgid "" "your web browser:\n" "\n" "%(verification_url)s" -msgstr "Hallo %(username)s,\n\num deinNutzerkonto bei GNU MediaGoblin zu aktivieren, musst du folgende Adresse in deinem Webbrowser öffnen:\n\n%(verification_url)s" +msgstr "Hallo %(username)s,\n\num dein Konto bei GNU MediaGoblin zu aktivieren, musst du folgende Adresse in deinem Webbrowser öffnen:\n\n%(verification_url)s" #: mediagoblin/templates/mediagoblin/bits/base_footer.html:21 #, python-format @@ -929,11 +933,11 @@ msgid "" "Released under the AGPL. Source code available." -msgstr "Veröffentlicht unter der AGPL (Quellcode)." +msgstr "Veröffentlicht unter der AGPL (Quelltext)." #: mediagoblin/templates/mediagoblin/bits/base_footer.html:30 msgid "Terms of Service" -msgstr "" +msgstr "Nutzungsbedingungen" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:20 msgid "Explore" @@ -941,36 +945,36 @@ msgstr "Entdecken" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" -msgstr "Hallo du, willkommen auf dieser MediaGoblin-Seite!" +msgstr "Hallo und willkommen auf dieser MediaGoblin-Seite!" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." -msgstr "Diese Webseite setzt MediaGoblin ein, eine großartige Software für Medienhosting." +msgstr "Diese Webseite läuft mit MediaGoblin, einer großartigen Software, um deine Medien zu veröffentlichen." #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." -msgstr "Melde Dich mit Deinem MediaGoblin-Konto an, um eigene Medien hinzuzufügen, andere zu kommentieren und vieles mehr." +msgstr "Melde dich mit deinem MediaGoblin-Konto an, um eigene Medien hinzuzufügen, zu kommentieren und mehr." #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 msgid "Don't have one yet? It's easy!" -msgstr "Hast du noch keinen? Das geht ganz einfach!" +msgstr "Du hast noch keins? Dann registrier dich hier einfach." #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" "\n" " >Create an account at this site\n" " or" -msgstr "" +msgstr "\n >Erstelle ein Konto auf dieser Seite\n oder" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 msgid "" "\n" " Set up MediaGoblin on your own server" -msgstr "" +msgstr "\n Installiere MediaGoblin auf deinem eigenen Server" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -1017,12 +1021,12 @@ msgstr "Änderungen speichern" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "" +msgstr "Ändere %(username)ss E-Mail" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" -msgstr "Soll das Konto »%(user_name)s« und alle zu ihm gehörigen Medien / Kommentare wirklich gelöscht werden?" +msgstr "Soll der Benutzer „%(user_name)s“ und all seine Medien sowie Kommentare wirklich gelöscht werden?" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 msgid "Yes, really delete my account" @@ -1032,7 +1036,7 @@ msgstr "Ja, ich möchte mein Konto wirklich löschen" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 msgid "Delete permanently" -msgstr "Dauerhaft löschen" +msgstr "Endgültig löschen" #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 @@ -1052,7 +1056,7 @@ msgstr "Mein Konto löschen" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 msgid "Email" -msgstr "" +msgstr "E-Mail" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format @@ -1077,11 +1081,11 @@ msgid "" "\n" "If you are not %(username)s or didn't request an email change, you can ignore\n" "this email." -msgstr "" +msgstr "Hi,\n\nwir möchten überprüfen, dass Du %(username)s bist.\nWenn dies der Fall ist, dann folge bitte dem Link unten, um Deine neue E-Mail-Adresse zu bestätigen.\n\n%(verification_url)s\n\nWenn Du nicht %(username)s bist oder keine E-Mail-Änderung angefordert hast, dann kannst Du diese E-Mail ignorieren." #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" -msgstr "" +msgstr "Neue Kommentare" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 @@ -1092,11 +1096,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" -msgstr "" +msgstr "vor %(formatted_time)s" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 msgid "Mark all read" -msgstr "" +msgstr "Alles als gelesen markieren" #: mediagoblin/templates/mediagoblin/listings/collection.html:30 #: mediagoblin/templates/mediagoblin/listings/collection.html:35 @@ -1122,14 +1126,14 @@ msgid "" "Sorry, this audio will not work because \n" "\tyour web browser does not support HTML5 \n" "\taudio." -msgstr "Entschuldige, dieses Audiostück wird nicht funktionieren, weil dein Webbrowser kein HTML5-Audio unterstützt." +msgstr "Die Audiodatei kann nicht abgespielt werden, da dein Webbrowser kein HTML5 unterstützt." #: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 msgid "" "You can get a modern web browser that \n" "\tcan play the audio at \n" "\t http://getfirefox.com!" -msgstr "Hol dir auf http://getfirefox.com einen modernen Webbrowser, der dieses Audiostück abspielen kann!" +msgstr "Lad dir einen modernen Webbrowser runter, z.B. Firefox oder Chrome. Die können die Audiodatei abspielen." #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 @@ -1170,11 +1174,11 @@ msgstr "Vorderseite" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" -msgstr "" +msgstr "Draufsicht" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" -msgstr "" +msgstr "Seitenansicht" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" @@ -1208,12 +1212,12 @@ msgstr "Hol dir auf http://getfirefox.com #: mediagoblin/templates/mediagoblin/media_displays/video.html:88 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "WebM-Datei (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 msgid "" "Here you can track the state of media being processed on this instance." -msgstr "Hier kann man den Status von zu verarbeitenden Medien in diesem MediaGoblin-Exemplar sehen." +msgstr "Hier siehst du den Status der Medien, die derzeit Konvertiert werden." #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:33 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 @@ -1237,7 +1241,7 @@ msgstr "Keine fehlgeschlagenen Einträge!" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:93 msgid "Last 10 successful uploads" -msgstr "Die letzten zehn erfolgreichen Uploads" +msgstr "Die letzten 10 erfolgreichen Uploads" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 @@ -1246,20 +1250,20 @@ msgstr "Noch keine verarbeiteten Einträge!" #: mediagoblin/templates/mediagoblin/moderation/report.html:27 msgid "Sorry, no such report found." -msgstr "" +msgstr "Keine Meldung gefunden." #: mediagoblin/templates/mediagoblin/moderation/report.html:32 msgid "Return to Reports Panel" -msgstr "" +msgstr "Zurück zur Meldungsverwaltung" #: mediagoblin/templates/mediagoblin/moderation/report.html:33 #: mediagoblin/templates/mediagoblin/user_pages/media.html:155 msgid "Report" -msgstr "" +msgstr "Meldung" #: mediagoblin/templates/mediagoblin/moderation/report.html:36 msgid "Reported comment" -msgstr "" +msgstr "Gemeldeter Kommentar" #: mediagoblin/templates/mediagoblin/moderation/report.html:81 #, python-format @@ -1267,7 +1271,7 @@ msgid "" "\n" " ❖ Reported media by %(user_name)s\n" " " -msgstr "" +msgstr "\n ❖ Gemeldete Medien von %(user_name)s\n " #: mediagoblin/templates/mediagoblin/moderation/report.html:90 #, python-format @@ -1277,63 +1281,63 @@ msgid "" " %(user_name)s\n" " HAS BEEN DELETED\n" " " -msgstr "" +msgstr "\n INHALT VON\n %(user_name)s\n WURDE GELÖSCHT\n " #: mediagoblin/templates/mediagoblin/moderation/report.html:130 msgid "Resolve" -msgstr "" +msgstr "Beheben" #: mediagoblin/templates/mediagoblin/moderation/report.html:134 #: mediagoblin/templates/mediagoblin/moderation/report.html:153 msgid "Resolve This Report" -msgstr "" +msgstr "Diese Meldung beheben" #: mediagoblin/templates/mediagoblin/moderation/report.html:145 msgid "Status" -msgstr "" +msgstr "Status" #: mediagoblin/templates/mediagoblin/moderation/report.html:147 msgid "RESOLVED" -msgstr "" +msgstr "GELÖST" #: mediagoblin/templates/mediagoblin/moderation/report.html:155 msgid "You cannot take action against an administrator" -msgstr "" +msgstr "Du kannst keine Maßnahmen gegen einen Administrator ergreifen" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 msgid "Report panel" -msgstr "" +msgstr "Meldungsverwaltung" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 msgid "" "\n" " Here you can look up open reports that have been filed by users.\n" " " -msgstr "" +msgstr "\n Hier kannst du offene Meldungen ansehen, die von Benutzern eingereicht wurden." #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:35 msgid "Active Reports Filed" -msgstr "" +msgstr "Offene Meldungen" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 msgid "Offender" -msgstr "" +msgstr "Täter" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 msgid "When Reported" -msgstr "" +msgstr "Wann Gemeldet " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Reported By" -msgstr "" +msgstr "Gemeldet von" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Reason" -msgstr "" +msgstr "Grund" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 #, python-format @@ -1341,7 +1345,7 @@ msgid "" "\n" " Comment Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Kommentar-Meldung #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 #, python-format @@ -1349,23 +1353,23 @@ msgid "" "\n" " Media Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Medien-Meldung #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 msgid "No open reports found." -msgstr "" +msgstr "Keine offenen Meldungen gefunden." #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "Closed Reports" -msgstr "" +msgstr "Geschlossene Meldungen" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 msgid "Resolved" -msgstr "" +msgstr "Gelöst" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Action Taken" -msgstr "" +msgstr "Eingeleitete Maßnahme" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 #, python-format @@ -1373,43 +1377,43 @@ msgid "" "\n" " Closed Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Geschlossene Meldung #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 msgid "No closed reports found." -msgstr "" +msgstr "Keine geschlossenen Meldungen gefunden." #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" -msgstr "" +msgstr "Benutzer-Ansicht" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:29 msgid "" "\n" " Here you can look up users in order to take punitive actions on them.\n" " " -msgstr "" +msgstr "\n Hier kannst Du Benutzer nachschlagen, um Strafmaßnahmen gegen sie einzuleiten.\n " #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 msgid "Active Users" -msgstr "" +msgstr "Aktive Benutzer" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 msgid "ID" -msgstr "" +msgstr "ID" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" -msgstr "" +msgstr "Wann Registriert" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 msgid "# of Comments Posted" -msgstr "" +msgstr "# geschriebener Kommentare" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 msgid "No users found." -msgstr "" +msgstr "Keine Benutzer gefunden." #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -1444,7 +1448,7 @@ msgstr "Möchtest du %(title)s wirklich löschen?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" -msgstr "Wirklich »%(media_title)s« aus »%(collection_title)s« entfernen?" +msgstr "Wirklich %(media_title)s aus %(collection_title)s entfernen?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 msgid "Remove" @@ -1453,12 +1457,12 @@ msgstr "Entfernen" #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 #, python-format msgid "%(username)s's collections" -msgstr "Alben von %(username)s" +msgstr "Sammlungen von %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:28 #, python-format msgid "%(username)s's collections" -msgstr "Alben von %(username)s" +msgstr "Sammlungen von %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 #, python-format @@ -1495,11 +1499,11 @@ msgstr "Einen Kommentar schreiben" #: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" -msgstr "Kommentar absenden" +msgstr "Kommentar hinzufügen" #: mediagoblin/templates/mediagoblin/user_pages/media.html:112 msgid "Comment Preview" -msgstr "" +msgstr "Kommentarvorschau" #: mediagoblin/templates/mediagoblin/user_pages/media.html:166 msgid "Added" @@ -1509,7 +1513,7 @@ msgstr "Hinzugefügt" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format msgid "Add “%(media_title)s” to a collection" -msgstr "»%(media_title)s« zu einem Album hinzufügen" +msgstr "“%(media_title)s” zu einer Sammlung hinzufügen" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 msgid "+" @@ -1526,19 +1530,19 @@ msgstr "Du kannst hier den Status der Medien verfolgen, die sich gerade in Bearb #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 msgid "Your last 10 successful uploads" -msgstr "Deine zehn letzten erfolgreichen Uploads" +msgstr "Deine 10 letzten erfolgreichen Uploads" #: mediagoblin/templates/mediagoblin/user_pages/report.html:21 msgid "

File a Report

" -msgstr "" +msgstr "

Reiche eine Meldung ein

" #: mediagoblin/templates/mediagoblin/user_pages/report.html:24 msgid "Reporting this Comment" -msgstr "" +msgstr "Melde diesen Kommentar" #: mediagoblin/templates/mediagoblin/user_pages/report.html:60 msgid "Reporting this Media Entry" -msgstr "" +msgstr "Melde diesen Medien-Eintrag" #: mediagoblin/templates/mediagoblin/user_pages/report.html:72 #, python-format @@ -1547,11 +1551,11 @@ msgid "" " ❖ Published by %(username)s\n" " " -msgstr "" +msgstr "\n ❖ Veröffentlicht von %(username)s\n " #: mediagoblin/templates/mediagoblin/user_pages/report.html:81 msgid "File Report " -msgstr "" +msgstr "Reiche Meldung ein" #: mediagoblin/templates/mediagoblin/user_pages/user.html:34 #: mediagoblin/templates/mediagoblin/user_pages/user.html:45 @@ -1571,7 +1575,7 @@ msgstr "Profil bearbeiten" #: mediagoblin/templates/mediagoblin/user_pages/user.html:61 msgid "This user hasn't filled in their profile (yet)." -msgstr "Dieser Benutzer hat (noch) keine Daten in seinem Profil." +msgstr "Dieser Benutzer hat sein Profil noch nicht ausgefüllt." #: mediagoblin/templates/mediagoblin/user_pages/user.html:80 msgid "Browse collections" @@ -1592,7 +1596,7 @@ msgstr "Hier erscheinen deine Medien, sobald du etwas hochgeladen hast." #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." -msgstr "Scheinbar gibt es hier noch nichts …" +msgstr "Es wurden noch keine Medien hinzugefügt." #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 @@ -1620,7 +1624,7 @@ msgstr "Aktivierungsmail erneut senden" msgid "" "Someone has registered an account with this username, but it still has to be" " activated." -msgstr "Jemand hat bereits ein Konto mit diesem Benutzernamen registriert, aber es muss noch aktiviert werden." +msgstr "Jemand hat bereits ein Konto mit diesem Benutzernamen registriert, es muss aber noch aktiviert werden." #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:68 #, python-format @@ -1679,7 +1683,7 @@ msgstr "älter" #: mediagoblin/templates/mediagoblin/utils/report.html:25 msgid "Report media" -msgstr "" +msgstr "Medien melden" #: mediagoblin/templates/mediagoblin/utils/tags.html:20 msgid "Tagged with" @@ -1687,7 +1691,7 @@ msgstr "Schlagwörter" #: mediagoblin/tools/exif.py:83 msgid "Could not read the image file." -msgstr "Die Bilddatei konnte nicht gelesen werden." +msgstr "Das Bild konnte nicht verarbeitet werden." #: mediagoblin/tools/response.py:38 msgid "Oops!" @@ -1695,15 +1699,15 @@ msgstr "Hoppla!" #: mediagoblin/tools/response.py:39 msgid "An error occured" -msgstr "Ein Fehler trat auf" +msgstr "Ein Fehler ist aufgetreten" #: mediagoblin/tools/response.py:53 msgid "Bad Request" -msgstr "" +msgstr "Ungültige Anfrage" #: mediagoblin/tools/response.py:55 msgid "The request sent to the server is invalid, please double check it" -msgstr "" +msgstr "Die zum Server gesendete Anfrage ist ungültig, bitte überprüfe sie noch einmal" #: mediagoblin/tools/response.py:63 msgid "Operation not allowed" @@ -1714,7 +1718,7 @@ msgid "" "Sorry Dave, I can't let you do that!

You have tried to perform a " "function that you are not allowed to. Have you been trying to delete all " "user accounts again?" -msgstr "So nicht!

Du wolltest eine Funktion verwenden zu der Du nicht die nötigen Rechte Rechte besitzt. Wolltest Du etwa schon wieder alle Nutzerkonten löschen?" +msgstr "So nicht!

Du wolltest eine Funktion verwenden zu der Du nicht die nötigen Rechte besitzt. Wolltest Du etwa schon wieder alle Nutzerkonten löschen?" #: mediagoblin/tools/response.py:72 msgid "" @@ -1755,7 +1759,7 @@ msgstr "Kommentar" msgid "" "You can use Markdown for formatting." -msgstr "" +msgstr "Du kannst Markdown zum Formatieren verwenden." #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1767,7 +1771,7 @@ msgstr "Ich bin sicher, dass ich dieses Objekt aus der Sammlung entfernen möcht #: mediagoblin/user_pages/forms.py:39 msgid "Collection" -msgstr "Album" +msgstr "Sammlung" #: mediagoblin/user_pages/forms.py:40 msgid "-- Select --" @@ -1775,22 +1779,22 @@ msgstr "-- Auswählen --" #: mediagoblin/user_pages/forms.py:42 msgid "Include a note" -msgstr "Notiz anfügen" +msgstr "Notiz einfügen" #: mediagoblin/user_pages/forms.py:49 msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Du kannst\n\nMarkdown zum Formatieren verwenden." #: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 msgid "Reason for Reporting" -msgstr "" +msgstr "Grund für die Meldung" #: mediagoblin/user_pages/views.py:178 msgid "Sorry, comments are disabled." -msgstr "" +msgstr "Kommentare sind leider deaktiviert." #: mediagoblin/user_pages/views.py:183 msgid "Oops, your comment was empty." @@ -1802,7 +1806,7 @@ msgstr "Dein Kommentar wurde angenommen!" #: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." -msgstr "Bitte prüfe deinen Einträge und versuche erneut." +msgstr "Bitte überprüfe deine Eingaben und versuche es erneut." #: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" @@ -1811,12 +1815,12 @@ msgstr "Du musst eine Sammlung auswählen oder hinzufügen" #: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" -msgstr "»%s« ist bereits in der Sammlung »%s«" +msgstr "\"%s\" ist bereits in der Sammlung \"%s\"" #: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" -msgstr "»%s« zur Sammlung »%s« hinzugefügt" +msgstr "\"%s\" zur Sammlung \"%s\" hinzugefügt" #: mediagoblin/user_pages/views.py:307 msgid "You deleted the media." @@ -1824,7 +1828,7 @@ msgstr "Du hast das Medium gelöscht." #: mediagoblin/user_pages/views.py:319 msgid "The media was not deleted because you didn't check that you were sure." -msgstr "Das Medium wurde nicht gelöscht, da nicht angekreuzt hast, dass du es wirklich löschen möchtest." +msgstr "Das Medium wurde nicht gelöscht, da du die Löschung nicht bestätigt hast." #: mediagoblin/user_pages/views.py:326 msgid "You are about to delete another user's media. Proceed with caution." @@ -1832,7 +1836,7 @@ msgstr "Du versuchst Medien eines anderen Nutzers zu löschen. Sei bitte vorsich #: mediagoblin/user_pages/views.py:399 msgid "You deleted the item from the collection." -msgstr "Du hast das Objekt aus der Sammlung gelöscht." +msgstr "Du hast das Objekt aus der Sammlung entfernt." #: mediagoblin/user_pages/views.py:403 msgid "The item was not removed because you didn't check that you were sure." @@ -1842,12 +1846,12 @@ msgstr "Das Objekt wurde nicht aus der Sammlung entfernt, weil du nicht bestäti msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." -msgstr "Du bist dabei ein Objekt aus der Sammlung eines anderen Nutzers zu entfernen. Sei vorsichtig." +msgstr "Du bist dabei ein Objekt aus der Sammlung eines anderen Benutzers zu entfernen. Sei vorsichtig." #: mediagoblin/user_pages/views.py:443 #, python-format msgid "You deleted the collection \"%s\"" -msgstr "Du hast die Sammlung »%s« gelöscht" +msgstr "Du hast die Sammlung \"%s\" gelöscht" #: mediagoblin/user_pages/views.py:450 msgid "" @@ -1857,4 +1861,4 @@ msgstr "Die Sammlung wurde nicht gelöscht, weil du nicht bestätigt hast, dass #: mediagoblin/user_pages/views.py:458 msgid "" "You are about to delete another user's collection. Proceed with caution." -msgstr "Du bist dabei eine Sammlung eines anderen Nutzers zu entfernen. Sei vorsichtig." +msgstr "Du bist dabei eine Sammlung eines anderen Benutzers zu entfernen. Sei vorsichtig." diff --git a/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..323b839e --- /dev/null +++ b/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,1847 @@ +# Translations template for PROJECT. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# Translators: +# Townnr , 2014 +msgid "" +msgstr "" +"Project-Id-Version: GNU MediaGoblin\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-12-03 13:23-0600\n" +"PO-Revision-Date: 2014-03-09 00:28+0000\n" +"Last-Translator: Townnr \n" +"Language-Team: Greek (http://www.transifex.com/projects/p/mediagoblin/language/el/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.6\n" +"Language: el\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +msgid "Sorry, registration is disabled on this instance." +msgstr "Συγγνώμη, η εγγραφή έχει απαγορευτεί σ' αυτό το instance (ό,τι κι αν σημαίνει αυτό εν προκειμένω)" + +#: mediagoblin/decorators.py:315 +msgid "Sorry, reporting is disabled on this instance." +msgstr "" + +#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/plugins/persona/views.py:77 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:44 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:45 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:116 +msgid "Sorry, a user with that name already exists." +msgstr "Συγγνώμη, υπάρχει ήδη χρήστης/χρήστρια μ' αυτό το όνομα." + +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +msgid "Sorry, a user with that email address already exists." +msgstr "Συγγνώμη, ένας χρήστης μ' αυτήν τη διεύθυνση υπάρχει ήδη." + +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 +#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +msgid "The verification key or user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:161 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "Η διεύθυνσή σας έχει επιβεβαιωθεί. Μπορείτε τώρα να εισέλθετε, να επεξεργαστείτε το προφίλ σας, και να υποβάλλετε εικόνες!" + +#: mediagoblin/auth/views.py:167 +msgid "The verification key or user id is incorrect" +msgstr "Το κλειδί επιβεβαίωσης ή η ταυτότητα χρήστη είναι εσφαλμένα." + +#: mediagoblin/auth/views.py:185 +msgid "You must be logged in so we know who to send the email to!" +msgstr "Πρέπει να έχετε εισέλθει ώστε να ξέρουμε σε ποιον να στείλουμε την ηλ. επιστολή!" + +#: mediagoblin/auth/views.py:193 +msgid "You've already verified your email address!" +msgstr "Έχετε ήδη επιβεβαιώσει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας!" + +#: mediagoblin/auth/views.py:203 +msgid "Resent your verification email." +msgstr "Η ηλεκτρονική επιστολή επιβεβαίωσης επανεστάλη." + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 +#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/user_pages/forms.py:45 +msgid "Title" +msgstr "Τίτλος" + +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +msgid "Description of this work" +msgstr "Περιγραφή αυτού του έργου" + +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "Μπορείτε να χρησιμοποιήσετε\n\nτο Markdown για μορφοποίηση." + +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +msgid "Tags" +msgstr "Ετικέτες" + +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +msgid "Separate tags by commas." +msgstr "Διαχωρίστε τις ετικέτες με κόμματα." + +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +msgid "Slug" +msgstr "Αράδα" + +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +msgid "The slug can't be empty" +msgstr "Η αράδα δεν μπορεί να είναι κενή" + +#: mediagoblin/edit/forms.py:42 +msgid "" +"The title part of this media's address. You usually don't need to change " +"this." +msgstr "Το τμήμα τίτλου της διεύθυνσης αυτού του πολυμέσου. Συνήθως δε χρειάζεται να το αλλάξετε." + +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/templates/mediagoblin/utils/license.html:20 +msgid "License" +msgstr "Άδεια" + +#: mediagoblin/edit/forms.py:52 +msgid "Bio" +msgstr "Βιογραφικό" + +#: mediagoblin/edit/forms.py:58 +msgid "Website" +msgstr "Ιστοσελίδα" + +#: mediagoblin/edit/forms.py:60 +msgid "This address contains errors" +msgstr "Αυτή η διεύθυνση περιέχει σφάλματα" + +#: mediagoblin/edit/forms.py:65 +msgid "Email me when others comment on my media" +msgstr "Αποστείλετε ηλ. επιστολή όταν άλλοι σχολιάσουν τα πολυμέσα μου" + +#: mediagoblin/edit/forms.py:67 +msgid "Enable insite notifications about events." +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "" + +#: mediagoblin/edit/forms.py:75 +msgid "This will be your default license on upload forms." +msgstr "" + +#: mediagoblin/edit/forms.py:88 +msgid "The title can't be empty" +msgstr "Ο τίτλος δεν μπορεί να είναι κενός." + +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/user_pages/forms.py:48 +msgid "Description of this collection" +msgstr "Περιγραφή αυτής της συλλογής" + +#: mediagoblin/edit/forms.py:97 +msgid "" +"The title part of this collection's address. You usually don't need to " +"change this." +msgstr "Το τμήμα τίτλου της διεύθυνσης αυτής της συλλογής. Αυτό συνήθως δε χρειάζεται να το αλλάξετε." + +#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +msgid "Old password" +msgstr "Παλιός κωδικός" + +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +msgid "Enter your old password to prove you own this account." +msgstr "Εισαγάγετε τον παλιό σας κωδικό για ν' αποδείξετε πως σας ανήκει αυτός ο λογαριασμός." + +#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +msgid "New password" +msgstr "Νέος κωδικός" + +#: mediagoblin/edit/forms.py:117 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/plugins/ldap/forms.py:39 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Κωδικός" + +#: mediagoblin/edit/forms.py:123 +msgid "Enter your password to prove you own this account." +msgstr "" + +#: mediagoblin/edit/views.py:73 +msgid "An entry with that slug already exists for this user." +msgstr "Υπάρχει ήδη λήμμα μ' αυτήν την αράδα γι' αυτόν το χρήστη/αυτήν τη χρήστρια." + +#: mediagoblin/edit/views.py:91 +msgid "You are editing another user's media. Proceed with caution." +msgstr "Επεξεργάζεστε τα πολυμέσα ενός άλλου χρήστη. Προχωρήσετε με προσοχή." + +#: mediagoblin/edit/views.py:161 +#, python-format +msgid "You added the attachment %s!" +msgstr "" + +#: mediagoblin/edit/views.py:188 +msgid "You can only edit your own profile." +msgstr "" + +#: mediagoblin/edit/views.py:194 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "Επεξεργάζεστε το προφίλ ενός χρήστη. Προχωρήσετε με προσοχή." + +#: mediagoblin/edit/views.py:210 +msgid "Profile changes saved" +msgstr "Αλλαγές προφίλ αποθηκεύτηκαν." + +#: mediagoblin/edit/views.py:243 +msgid "Account settings saved" +msgstr "Αλλαγές λογαριασμού αποθηκεύτηκαν." + +#: mediagoblin/edit/views.py:277 +msgid "You need to confirm the deletion of your account." +msgstr "" + +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:242 +#, python-format +msgid "You already have a collection called \"%s\"!" +msgstr "" + +#: mediagoblin/edit/views.py:317 +msgid "A collection with that slug already exists for this user." +msgstr "Μια συλλογή μ' αυτήν την αράδα υπάρχει ήδη γι' αυτόν το χρήστη." + +#: mediagoblin/edit/views.py:332 +msgid "You are editing another user's collection. Proceed with caution." +msgstr "Επεξεργάζεστε τη συλλογή ενός άλλου χρήστη. Προχωρήσετε με προσοχή." + +#: mediagoblin/edit/views.py:373 +msgid "Your email address has been verified." +msgstr "" + +#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +msgid "Wrong password" +msgstr "Νέος κωδικός" + +#: mediagoblin/gmg_commands/assetlink.py:60 +msgid "Cannot link theme... no theme set\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:73 +msgid "No asset directory for this theme\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:76 +msgid "However, old link directory symlink found; removed.\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:112 +#, python-format +msgid "Could not link \"%s\": %s exists and is not a symlink\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:119 +#, python-format +msgid "Skipping \"%s\"; already set up.\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:124 +#, python-format +msgid "Old link found for \"%s\"; removing.\n" +msgstr "" + +#: mediagoblin/meddleware/csrf.py:134 +msgid "" +"CSRF cookie not present. This is most likely the result of a cookie blocker " +"or somesuch.
Make sure to permit the settings of cookies for this " +"domain." +msgstr "" + +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 +msgid "Sorry, I don't support that file type :(" +msgstr "Συγγνώμη, δεν υποστηρίζω αυτόν τον τύπο αρχείου :-(" + +#: mediagoblin/media_types/pdf/processing.py:142 +msgid "unoconv failing to run, check log file" +msgstr "" + +#: mediagoblin/media_types/video/processing.py:44 +msgid "Video transcoding failed" +msgstr "Η μετακωδικοποίηση του βίντεο απέτυχε." + +#: mediagoblin/moderation/forms.py:21 +msgid "Take away privilege" +msgstr "" + +#: mediagoblin/moderation/forms.py:22 +msgid "Ban the user" +msgstr "" + +#: mediagoblin/moderation/forms.py:23 +msgid "Send the user a message" +msgstr "" + +#: mediagoblin/moderation/forms.py:24 +msgid "Delete the content" +msgstr "" + +#: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 +msgid "User will be banned until:" +msgstr "" + +#: mediagoblin/moderation/forms.py:57 +msgid "Why are you banning this User?" +msgstr "" + +#: mediagoblin/moderation/forms.py:109 +msgid "What action will you take to resolve the report?" +msgstr "" + +#: mediagoblin/moderation/forms.py:115 +msgid "What privileges will you take away?" +msgstr "" + +#: mediagoblin/moderation/tools.py:91 +msgid "Warning from" +msgstr "" + +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 +msgid "commented on your post" +msgstr "σχολίασε στην ανάρτησή σας" + +#: mediagoblin/notifications/views.py:35 +#, python-format +msgid "Subscribed to comments on %s!" +msgstr "" + +#: mediagoblin/notifications/views.py:48 +#, python-format +msgid "You will not receive notifications for comments on %s." +msgstr "" + +#: mediagoblin/oauth/views.py:239 +msgid "Must provide an oauth_token." +msgstr "" + +#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +msgid "No request token found." +msgstr "" + +#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/submit/views.py:78 +msgid "Sorry, the file size is too big." +msgstr "" + +#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/submit/views.py:81 +msgid "Sorry, uploading this file will put you over your upload limit." +msgstr "" + +#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/submit/views.py:87 +msgid "Sorry, you have reached your upload limit." +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:24 +#: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:76 +msgid "Username" +msgstr "Όνομα Χρήστη" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/ldap/forms.py:28 mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Διεύθυνση ηλεκτρονικού ταχυδρομείου" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:51 +msgid "Username or email" +msgstr "Όνομα χρήστη ή διεύθυνση ηλ. ταχ." + +#: mediagoblin/plugins/basic_auth/views.py:54 +msgid "" +"If that email address (case sensitive!) is registered an email has been sent" +" with instructions on how to change your password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:65 +msgid "Couldn't find someone with that username." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:68 +msgid "" +"An email has been sent with instructions on how to change your password." +msgstr "Σας έχει αποσταλεί μια ηλεκτρονική επιστολή με οδηγίες για το πώς ν' αλλάξετε τον κωδικό σας." + +#: mediagoblin/plugins/basic_auth/views.py:75 +msgid "" +"Could not send password recovery email as your username is inactive or your " +"account's email address has not been verified." +msgstr "Δεν μπορέσαμε ν' αποστείλουμε ηλ. επιστολή ανάκτησης κωδικού, καθώς το όνομα χρήστη σας είναι ανενεργό ή η διεύθυνση ηλ. ταχυδρομείου του λογαριασμού σας δεν έχει επιβεβαιωθεί." + +#: mediagoblin/plugins/basic_auth/views.py:123 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:139 +msgid "You can now log in using your new password." +msgstr "Τώρα μπορείτε να εισέλθετε με τον καινούριο σας κωδικό." + +#: mediagoblin/plugins/basic_auth/views.py:163 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your account." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:215 +msgid "Your password was changed successfully" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 +msgid "Set your new password" +msgstr "Ορισμός νέου κωδικού" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 +msgid "Set password" +msgstr "Ορισμός κωδικού" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 +#, python-format +msgid "Changing %(username)s's password" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:40 +msgid "Save" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 +msgid "Don't have an account yet?" +msgstr "Δεν έχετε ακόμα λογαριασμό;" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:24 +msgid "Create one here!" +msgstr "Δημιουργήστε έναν εδώ!" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 +msgid "Change your password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 +msgid "Recover password" +msgstr "Επανάκτηση κωδικού" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:34 +msgid "Send instructions" +msgstr "Αποστολή οδηγιών" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html:22 +msgid "Forgot your password?" +msgstr "Ξεχάσατε τον κωδικό σας;" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 +msgid "Location" +msgstr "Τοποθεσία" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:52 +#, python-format +msgid "View on OpenStreetMap" +msgstr "Δείτε το στο OpenStreetMap" + +#: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 +msgid "Sign in to create an account!" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:29 +msgid "Allow" +msgstr "Επίτρεψε" + +#: mediagoblin/plugins/oauth/forms.py:30 +msgid "Deny" +msgstr "Αρνήσου" + +#: mediagoblin/plugins/oauth/forms.py:34 +msgid "Name" +msgstr "Όνομα" + +#: mediagoblin/plugins/oauth/forms.py:35 +msgid "The name of the OAuth client" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Περιγραφή" + +#: mediagoblin/plugins/oauth/forms.py:38 +msgid "" +"This will be visible to users allowing your\n" +" application to authenticate as them." +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:40 +msgid "Type" +msgstr "Τύπος" + +#: mediagoblin/plugins/oauth/forms.py:45 +msgid "" +"Confidential - The client can\n" +" make requests to the GNU MediaGoblin instance that can not be\n" +" intercepted by the user agent (e.g. server-side client).
\n" +" Public - The client can't make confidential\n" +" requests to the GNU MediaGoblin instance (e.g. client-side\n" +" JavaScript client)." +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:52 +msgid "Redirect URI" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:54 +msgid "" +"The redirect URI for the applications, this field\n" +" is required for public clients." +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:66 +msgid "This field is required for public clients" +msgstr "" + +#: mediagoblin/plugins/oauth/views.py:55 +msgid "The client {0} has been registered!" +msgstr "" + +#: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 +msgid "OAuth client connections" +msgstr "" + +#: mediagoblin/plugins/oauth/templates/oauth/client/list.html:22 +msgid "Your OAuth clients" +msgstr "" + +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Προσθήκη" + +#: mediagoblin/plugins/openid/__init__.py:97 +#: mediagoblin/plugins/openid/views.py:268 +#: mediagoblin/plugins/openid/views.py:297 +msgid "Sorry, an account is already registered to that OpenID." +msgstr "" + +#: mediagoblin/plugins/openid/forms.py:38 +msgid "OpenID" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:48 +msgid "Sorry, the OpenID server could not be found" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:61 +#, python-format +msgid "No OpenID service was found for %s" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:106 +#, python-format +msgid "Verification of %s failed: %s" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:117 +msgid "Verification cancelled" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:314 +msgid "Your OpenID url was saved successfully." +msgstr "" + +#: mediagoblin/plugins/openid/views.py:338 +#: mediagoblin/plugins/openid/views.py:393 +msgid "You can't delete your only OpenID URL unless you have a password set" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:343 +#: mediagoblin/plugins/openid/views.py:402 +msgid "That OpenID is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/openid/views.py:385 +msgid "OpenID was successfully removed." +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:34 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:23 +msgid "Add an OpenID" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:34 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:31 +msgid "Delete an OpenID" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 +msgid "Delete" +msgstr "Διαγραφή" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 +msgid "OpenID's" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 +#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:47 +msgid "Log in" +msgstr "Είσοδος" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Είσοδος απέτυχε!" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 +msgid "Log in to create an account!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 +msgid "Or login with a password!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 +msgid "Or login with OpenID!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 +msgid "Or register with OpenID!" +msgstr "" + +#: mediagoblin/plugins/persona/__init__.py:90 +msgid "Sorry, an account is already registered to that Persona email." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:138 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:144 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:149 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:176 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:192 +msgid "Your Persona email address was saved successfully." +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 +msgid "Delete a Persona email address" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 +msgid "Add a Persona email address" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 +msgid "Persona's" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 +msgid "Or login with Persona!" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 +msgid "Or register with Persona!" +msgstr "" + +#: mediagoblin/processing/__init__.py:420 +msgid "Invalid file given for media type." +msgstr "Εσφαλμένο αρχείο για το δεδομένο τύπο πολυμέσων." + +#: mediagoblin/processing/__init__.py:427 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:435 +msgid "An acceptable processing file was not found" +msgstr "" + +#: mediagoblin/submit/forms.py:30 +msgid "Max file size: {0} mb" +msgstr "" + +#: mediagoblin/submit/forms.py:34 +msgid "File" +msgstr "Αρχείο" + +#: mediagoblin/submit/forms.py:41 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/submit/views.py:55 +msgid "You must provide a file." +msgstr "Πρέπει να παράσχετε ένα αρχείο." + +#: mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Γιούπι! Παρασχέθηκε!" + +#: mediagoblin/submit/views.py:138 +#, python-format +msgid "Collection \"%s\" added!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:20 +msgid "You are Banned." +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:24 +#: mediagoblin/templates/mediagoblin/error.html:24 +msgid "Image of goblin stressing out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:26 +msgid "You have been banned" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:28 +#, python-format +msgid "until %(until_when)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:81 +msgid "Verify your email!" +msgstr "Επιβεβαιώστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας!" + +#: mediagoblin/templates/mediagoblin/base.html:88 +#: mediagoblin/templates/mediagoblin/base.html:96 +msgid "log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:115 +#, python-format +msgid "%(user_name)s's account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:122 +msgid "Change account settings" +msgstr "Αλλαγή ρυθμίσεων λογαριασμού" + +#: mediagoblin/templates/mediagoblin/base.html:126 +#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26 +msgid "Media processing panel" +msgstr "Πλαίσιο επεξεργασίας πολυμέσων" + +#: mediagoblin/templates/mediagoblin/base.html:135 +msgid "Log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:138 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +msgid "Add media" +msgstr "Προσθήκη πολυμέσων" + +#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 +msgid "Create new collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:151 +msgid "User management panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:155 +msgid "Report management panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Πιο πρόσφατα πολυμέσα" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:21 +msgid "Authorization" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:26 +#: mediagoblin/templates/mediagoblin/api/authorize.html:53 +msgid "Authorize" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:29 +msgid "You are logged in as" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:33 +msgid "Do you want to authorize " +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:37 +msgid "an unknown application" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:39 +msgid " to access your account? " +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:41 +msgid "Applications with access to your account can: " +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:43 +msgid "Post new media as you" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:44 +msgid "See your information (e.g profile, media, etc...)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:45 +msgid "Change your information" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/oob.html:21 +msgid "Authorization Finished" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/oob.html:26 +msgid "Authorization Complete" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/oob.html:28 +msgid "Copy and paste this into your client:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/register.html:28 +#: mediagoblin/templates/mediagoblin/auth/register.html:36 +msgid "Create an account!" +msgstr "Δημιουργήστε λογαριασμό!" + +#: mediagoblin/templates/mediagoblin/auth/register.html:41 +msgid "Create" +msgstr "Δημιουργία" + +#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to activate your GNU MediaGoblin account, open the following URL in\n" +"your web browser:\n" +"\n" +"%(verification_url)s" +msgstr "Χαίρετε %(username)s,\n\nΓια να ενεργοποιήσετε το λογαριασμό σας στο GNU MediaGoblin, ανοίξτε την παρακάτω διεύθυνση στον περιηγητή σας:\n\n%(verification_url)s" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:21 +#, python-format +msgid "" +"Powered by MediaGoblin, a GNU project." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:24 +#, python-format +msgid "" +"Released under the AGPL. Source code available." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:30 +msgid "Terms of Service" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:20 +msgid "Explore" +msgstr "Εξερεύνηση" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +msgid "Hi there, welcome to this MediaGoblin site!" +msgstr "Πολύ καλημέρα, καλωσορίσατε στη σελίδα του MediaGoblin!" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +msgid "" +"This site is running MediaGoblin, an " +"extraordinarily great piece of media hosting software." +msgstr "Αυτή η σελίδα τρέχει τοMediaGoblin , ένα εξαίρετα υπέροχο τεμάχιο λογισμικού φιλοξενίας πολυμέσων." + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +msgid "" +"To add your own media, place comments, and more, you can log in with your " +"MediaGoblin account." +msgstr "Για να προσθέσετε τα πολυμέσα σας, να εισαγάγετε σχόλια και άλλα, μπορείτε να εισέλθετε με τον κωδικό σας για το MediaGoblin." + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +msgid "Don't have one yet? It's easy!" +msgstr "Δεν έχετε ακόμα; Είναι εύκολο!" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +msgid "" +"\n" +" >Create an account at this site\n" +" or" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +msgid "" +"\n" +" Set up MediaGoblin on your own server" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/logo.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 +msgid "MediaGoblin logo" +msgstr "Λογότυπο MediaGoblin" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:23 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:35 +#, python-format +msgid "Editing attachments for %(media_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +msgid "Attachments" +msgstr "Συνημμένα" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +msgid "Add attachment" +msgstr "Προσθήκη συνημμένου" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Ακύρωση" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:63 +#: mediagoblin/templates/mediagoblin/edit/edit.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 +msgid "Save changes" +msgstr "Αποθήκευση αλλαγών" + +#: mediagoblin/templates/mediagoblin/edit/change_email.html:23 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:33 +#, python-format +msgid "Changing %(username)s's email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 +#, python-format +msgid "Really delete user '%(user_name)s' and all related media/comments?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 +msgid "Yes, really delete my account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Μόνιμη διαγραφή" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit.html:35 +#, python-format +msgid "Editing %(media_title)s" +msgstr "Επεξεργασία του %(media_title)s" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:40 +#, python-format +msgid "Changing %(username)s's account settings" +msgstr "Αλλαγή ρυθμίσεων λογαριασμού του χρήστη %(username)s" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:54 +msgid "Delete my account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 +msgid "Email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 +#, python-format +msgid "Editing %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:34 +#, python-format +msgid "Editing %(username)s's profile" +msgstr "Επεξεργασία του προφίλ του %(username)s" + +#: mediagoblin/templates/mediagoblin/edit/verification.txt:19 +#, python-format +msgid "" +"Hi,\n" +"\n" +"We wanted to verify that you are %(username)s. If this is the case, then \n" +"please follow the link below to verify your new email address.\n" +"\n" +"%(verification_url)s\n" +"\n" +"If you are not %(username)s or didn't request an email change, you can ignore\n" +"this email." +msgstr "" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 +msgid "New comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 +#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 +#: mediagoblin/templates/mediagoblin/moderation/report.html:55 +#: mediagoblin/templates/mediagoblin/moderation/report.html:117 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/user_pages/report.html:48 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 +msgid "Mark all read" +msgstr "" + +#: mediagoblin/templates/mediagoblin/listings/collection.html:30 +#: mediagoblin/templates/mediagoblin/listings/collection.html:35 +#: mediagoblin/templates/mediagoblin/listings/tag.html:30 +#: mediagoblin/templates/mediagoblin/listings/tag.html:35 +#, python-format +msgid "Media tagged with: %(tag_name)s" +msgstr "Πολυμέσα επιγεγραμμένα με: %(tag_name)s" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:74 +msgid "Download" +msgstr "Καταφόρτωση" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 +msgid "Original" +msgstr "Αυθεντικό" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:44 +msgid "" +"Sorry, this audio will not work because \n" +"\tyour web browser does not support HTML5 \n" +"\taudio." +msgstr "Συγγνώμη, αυτό το αρχείο ήχου δε θα δουλέψει επειδή\n⇥ο περιηγητής σας δεν υποστηρίζει HTML5." + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 +msgid "" +"You can get a modern web browser that \n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "Μπορείτε να βρείτε έναν σύγχρονο περιηγητή\n⇥που να μπορεί να το αναπαραγάγει\n⇥στο http://getfirefox.com!" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:80 +msgid "Original file" +msgstr "Αυθεντικό αρχείο" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 +msgid "WebM file (Vorbis codec)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +msgid "Created" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#, python-format +msgid "Image for %(media_title)s" +msgstr "Εικόνα για %(media_title)s" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 +msgid "PDF file" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +msgid "Perspective" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +msgid "Front" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +msgid "Top" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +msgid "Side" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +msgid "WebGL" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +msgid "Download model" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +msgid "File Format" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +msgid "Object Height" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:63 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:66 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:88 +msgid "WebM file (VP8/Vorbis)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 +msgid "" +"Here you can track the state of media being processed on this instance." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:33 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 +msgid "Media in-processing" +msgstr "Πολυμέσα εν μέσω επεξεργασίας" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 +msgid "No media in-processing" +msgstr "Δεν υπάρχουν πολυμέσα εν μέσω επεξεργασίας" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 +msgid "These uploads failed to process:" +msgstr "Αυτές οι αναφορτώσεις δεν επεξεργάστηκαν επιτυχώς:" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 +msgid "No failed entries!" +msgstr "Μηδέν αποτυχημένες εισαγωγές!" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:93 +msgid "Last 10 successful uploads" +msgstr "Τελευταίες 10 επιτυχημένες αναφορτώσεις" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 +msgid "No processed entries, yet!" +msgstr "Δεν υπάρχουν ακόμα επεξεργασμένες εισαγωγές!" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:27 +msgid "Sorry, no such report found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +msgid "Return to Reports Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +msgid "Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +msgid "Reported comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#, python-format +msgid "" +"\n" +" ❖ Reported media by %(user_name)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#, python-format +msgid "" +"\n" +" CONTENT BY\n" +" %(user_name)s\n" +" HAS BEEN DELETED\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +msgid "Resolve" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:134 +#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +msgid "Resolve This Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +msgid "Status" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +msgid "RESOLVED" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +msgid "You cannot take action against an administrator" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 +msgid "Report panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 +msgid "" +"\n" +" Here you can look up open reports that have been filed by users.\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:35 +msgid "Active Reports Filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +msgid "Offender" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 +msgid "When Reported" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +msgid "Reported By" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +msgid "Reason" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#, python-format +msgid "" +"\n" +" Comment Report #%(report_id)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#, python-format +msgid "" +"\n" +" Media Report #%(report_id)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +msgid "No open reports found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +msgid "Closed Reports" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +msgid "Resolved" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +msgid "Action Taken" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#, python-format +msgid "" +"\n" +" Closed Report #%(report_id)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +msgid "No closed reports found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 +msgid "User panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:29 +msgid "" +"\n" +" Here you can look up users in order to take punitive actions on them.\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 +msgid "Active Users" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 +msgid "When Joined" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 +msgid "# of Comments Posted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 +msgid "No users found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/collection.html:26 +msgid "Add a collection" +msgstr "Προσθήκη συλλογής" + +#: mediagoblin/templates/mediagoblin/submit/start.html:28 +#: mediagoblin/templates/mediagoblin/submit/start.html:35 +msgid "Add your media" +msgstr "Προσθήκη πολυμέσων σας" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 +#, python-format +msgid "%(collection_title)s (%(username)s's collection)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 +#, python-format +msgid "%(collection_title)s by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 +msgid "Edit" +msgstr "Επεξεργασία" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Θέλετε πραγματικά να διαγράψετε το %(title)s;" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#, python-format +msgid "Really remove %(media_title)s from %(collection_title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +msgid "Remove" +msgstr "Αφαίρεση" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 +#, python-format +msgid "%(username)s's collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:28 +#, python-format +msgid "%(username)s's collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 +#, python-format +msgid "%(username)s's media" +msgstr "Τα πολυμέσα του/της %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:38 +#, python-format +msgid "" +"%(username)s's media with tag %(tag)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#, python-format +msgid "%(username)s's media" +msgstr "Τα πολυμέσα του/της %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:38 +#, python-format +msgid "❖ Browsing media by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 +msgid "Add a comment" +msgstr "Προσθήκη σχολίου" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 +msgid "Add this comment" +msgstr "Προσθήκη αυτού του σχολίου" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 +msgid "Added" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 +#, python-format +msgid "Add “%(media_title)s” to a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 +msgid "+" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:58 +msgid "Add a new collection" +msgstr "Προσθήκη νέας συλλογής" + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 +msgid "" +"You can track the state of media being processed for your gallery here." +msgstr "Από εδώ μπορείτε να ιχνηλατήσετε την κατάσταση των πολυμέσων που επεξεργάζονται για την πινακοθήκη σας." + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 +msgid "Your last 10 successful uploads" +msgstr "Οι τελευταίες 10 επιτυχημένες αναφορτώσεις σας" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:21 +msgid "

File a Report

" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:24 +msgid "Reporting this Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:60 +msgid "Reporting this Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:72 +#, python-format +msgid "" +"\n" +" ❖ Published by %(username)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:81 +msgid "File Report " +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Το προφίλ του %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +msgid "Here's a spot to tell others about yourself." +msgstr "Ιδού ένα σημείο για να πείτε στους άλλους για τον εαυτό σας." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 +msgid "Edit profile" +msgstr "Επεξεργασία προφίλ" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Αυτός ο χρήστης δεν έχει συμπληρώσει το προφίλ του (ακόμα)." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#, python-format +msgid "View all of %(username)s's media" +msgstr "Προβολή όλων των πολυμέσων του/της %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +msgid "" +"This is where your media will appear, but you don't seem to have added " +"anything yet." +msgstr "Εδώ θα εμφανίζονται τα πολυμέσα σας, αν και δε φαίνεται να 'χετε προσθέσει ακόμα κάτι." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 +#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 +msgid "There doesn't seem to be any media here yet..." +msgstr "Δε φαίνεται να υπάρχουν ακόμα εδώ πολυμέσα..." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Επιβεβαίωση ηλεκτρονικού ταχυδρομείου απαραίτητη" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 +msgid "Almost done! Your account still needs to be activated." +msgstr "Σχεδόν τελειώσαμε! Ο λογαριασμός σας πρέπει επιπλέον να ενεργοποιηθεί." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:48 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "Λογικά θα λάβετε σε λίγο μια ηλεκτρονική επιστολή με οδηγίες για το πώς να το κάνετε αυτό." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:52 +msgid "In case it doesn't:" +msgstr "Σε περίπτωση που δεν τη λάβετε:" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:55 +msgid "Resend verification email" +msgstr "Επαναποστολή επιστολής επιβεβαίωσης" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:63 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" activated." +msgstr "Κάποιος έχει ήδη δηλώσει ένα λογαριασμό μ' αυτό το όνομα χρήστη, αλλά δεν έχει ενεργοποιηθεί ακόμα." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:68 +#, python-format +msgid "" +"If you are that person but you've lost your verification email, you can log in and resend it." +msgstr "Αν είστε αυτό το άτομο αλλά έχετε απωλέσει την επιστολή επιβεβαίωσης, μπορείτε να εισέλθετε και να την επαναποστείλετε." + +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 +msgid "(remove)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:21 +msgid "Collected in" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:40 +msgid "Add to a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 +msgid "feed icon" +msgstr "εικονίδιο εισροής" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:23 +msgid "Atom feed" +msgstr "εισροή Atom" + +#: mediagoblin/templates/mediagoblin/utils/license.html:25 +msgid "All rights reserved" +msgstr "Επιφυλάσσονται άπαντα τα δικαιώματα" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:39 +msgid "← Newer" +msgstr "Νεώτερα" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:45 +msgid "Older →" +msgstr "Παλιότερα" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:48 +msgid "Go to page:" +msgstr "Προς σελίδα:" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:28 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:33 +msgid "newer" +msgstr "νεώτερα" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:39 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:44 +msgid "older" +msgstr "παλιότερα" + +#: mediagoblin/templates/mediagoblin/utils/report.html:25 +msgid "Report media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/tags.html:20 +msgid "Tagged with" +msgstr "Επιγεγραμμένο με" + +#: mediagoblin/tools/exif.py:83 +msgid "Could not read the image file." +msgstr "Το αρχείο εικόνας δεν μπόρεσε ν' αναγνωστεί." + +#: mediagoblin/tools/response.py:38 +msgid "Oops!" +msgstr "Ουπς!" + +#: mediagoblin/tools/response.py:39 +msgid "An error occured" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:55 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:63 +msgid "Operation not allowed" +msgstr "" + +#: mediagoblin/tools/response.py:64 +msgid "" +"Sorry Dave, I can't let you do that!

You have tried to perform a " +"function that you are not allowed to. Have you been trying to delete all " +"user accounts again?" +msgstr "" + +#: mediagoblin/tools/response.py:72 +msgid "" +"There doesn't seem to be a page at this address. Sorry!

If you're sure" +" the address is correct, maybe the page you're looking for has been moved or" +" deleted." +msgstr "" + +#: mediagoblin/tools/timesince.py:62 +msgid "year" +msgstr "" + +#: mediagoblin/tools/timesince.py:63 +msgid "month" +msgstr "" + +#: mediagoblin/tools/timesince.py:64 +msgid "week" +msgstr "" + +#: mediagoblin/tools/timesince.py:65 +msgid "day" +msgstr "" + +#: mediagoblin/tools/timesince.py:66 +msgid "hour" +msgstr "" + +#: mediagoblin/tools/timesince.py:67 +msgid "minute" +msgstr "" + +#: mediagoblin/user_pages/forms.py:23 +msgid "Comment" +msgstr "" + +#: mediagoblin/user_pages/forms.py:25 +msgid "" +"You can use Markdown for formatting." +msgstr "" + +#: mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Είμαι σίγουρος/η ότι θέλω να το διαγράψω" + +#: mediagoblin/user_pages/forms.py:35 +msgid "I am sure I want to remove this item from the collection" +msgstr "" + +#: mediagoblin/user_pages/forms.py:39 +msgid "Collection" +msgstr "" + +#: mediagoblin/user_pages/forms.py:40 +msgid "-- Select --" +msgstr "-- Επιλογή --" + +#: mediagoblin/user_pages/forms.py:42 +msgid "Include a note" +msgstr "Σύναψη σημείωσης" + +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 +msgid "Reason for Reporting" +msgstr "" + +#: mediagoblin/user_pages/views.py:178 +msgid "Sorry, comments are disabled." +msgstr "" + +#: mediagoblin/user_pages/views.py:183 +msgid "Oops, your comment was empty." +msgstr "Ουπς, το σχόλιό σας ήταν κενό." + +#: mediagoblin/user_pages/views.py:189 +msgid "Your comment has been posted!" +msgstr "Το σχόλιό σας αναρτήθηκε!" + +#: mediagoblin/user_pages/views.py:225 +msgid "Please check your entries and try again." +msgstr "" + +#: mediagoblin/user_pages/views.py:265 +msgid "You have to select or add a collection" +msgstr "" + +#: mediagoblin/user_pages/views.py:276 +#, python-format +msgid "\"%s\" already in collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:282 +#, python-format +msgid "\"%s\" added to collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:307 +msgid "You deleted the media." +msgstr "Έχετε διαγράψει αυτά τα πολυμέσα." + +#: mediagoblin/user_pages/views.py:319 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Τα πολυμέσα δε διεγράφησαν διότι δεν επιβεβαιώσατε την ανάλογη επιλογή." + +#: mediagoblin/user_pages/views.py:326 +msgid "You are about to delete another user's media. Proceed with caution." +msgstr "Πρόκειται να διαγράψετε τα πολυμέσα ενός άλλου χρήστη. Προχωρήσετε με προσοχή." + +#: mediagoblin/user_pages/views.py:399 +msgid "You deleted the item from the collection." +msgstr "" + +#: mediagoblin/user_pages/views.py:403 +msgid "The item was not removed because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:411 +msgid "" +"You are about to delete an item from another user's collection. Proceed with" +" caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:443 +#, python-format +msgid "You deleted the collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:450 +msgid "" +"The collection was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:458 +msgid "" +"You are about to delete another user's collection. Proceed with caution." +msgstr "" diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po index 5f77bf0f..865562db 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po @@ -5,24 +5,24 @@ # Translators: # aleksejrs , 2011, 2012 # ekenbrand , 2011 -# nvjacobo , 2011-2012 -# nvjacobo , 2013 +# Jacobo Nájera , 2011-2012 +# Jacobo Nájera , 2013 # Javier Di Mauro , 2011 # case , 2011 # juanman , 2011, 2012 -# larjona , 2012 -# larjona , 2013 +# Laura Arjona Reina , 2012 +# Laura Arjona Reina , 2013-2014 # Mario Rodriguez , 2011 # Manuel Urbano Santos , 2011 # shackra , 2012 -# Elesa , 2012 +# Jazmín R. , 2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-04-11 07:54+0000\n" +"Last-Translator: Laura Arjona Reina \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/mediagoblin/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -181,11 +181,11 @@ msgstr "El título de la dirección de esta colección. Generalmente no necesita #: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" -msgstr "Vieja contraseña" +msgstr "Contraseña antigua" #: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." -msgstr "Escriba la anterior contraseña para demostrar que esta cuenta te pertenece." +msgstr "Escribe la contraseña antigua para demostrar que esta cuenta te pertenece." #: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" @@ -1660,7 +1660,7 @@ msgstr "← Más nuevo" #: mediagoblin/templates/mediagoblin/utils/pagination.html:45 msgid "Older →" -msgstr "Más viejo →" +msgstr "Más antiguo →" #: mediagoblin/templates/mediagoblin/utils/pagination.html:48 msgid "Go to page:" @@ -1674,7 +1674,7 @@ msgstr "Más nuevo" #: mediagoblin/templates/mediagoblin/utils/prev_next.html:39 #: mediagoblin/templates/mediagoblin/utils/prev_next.html:44 msgid "older" -msgstr "Más viejo" +msgstr "Más antiguo" #: mediagoblin/templates/mediagoblin/utils/report.html:25 msgid "Report media" diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po index 6e549e0d..99459757 100644 --- a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po @@ -4,13 +4,14 @@ # # Translators: # Numb , 2012 +# b.tavakkoli , 2014 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-06-03 11:57+0000\n" +"Last-Translator: b.tavakkoli \n" "Language-Team: Persian (http://www.transifex.com/projects/p/mediagoblin/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -25,16 +26,16 @@ msgstr "متاسفانه،ثبتنام به طور موقت غیر فعال اس #: mediagoblin/decorators.py:315 msgid "Sorry, reporting is disabled on this instance." -msgstr "" +msgstr "شرمنده، قابلیت گزارش دادن در این نمونه غیر فعال است." #: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." -msgstr "" +msgstr "شرمنده، تایید اعتبار در این نمونه غیرفعال گردیده است." #: mediagoblin/auth/tools.py:43 msgid "Invalid User name or email address." -msgstr "" +msgstr "نام کاربری یا آدرس ایمیل وارد شده اشتباه می‌باشد." #: mediagoblin/auth/tools.py:44 msgid "This field does not take email addresses." @@ -42,7 +43,7 @@ msgstr "" #: mediagoblin/auth/tools.py:45 msgid "This field requires an email address." -msgstr "" +msgstr "این گزینه بایستی توسط یک ایمیل آدرس تکمیل گردد." #: mediagoblin/auth/tools.py:116 msgid "Sorry, a user with that name already exists." @@ -50,12 +51,12 @@ msgstr "متاسفانه کاربری با این نام کاربری وجود #: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 msgid "Sorry, a user with that email address already exists." -msgstr "" +msgstr "متاسفیم، یک کاربر با آدرس ایمیل مورد نظر شما در سیستم ما وجود دارد." #: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 #: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "کلید تایید هویت یا نام کاربری اشتباه است." #: mediagoblin/auth/views.py:161 msgid "" @@ -69,11 +70,11 @@ msgstr "این کد تاییدیه یا شناسه کاربری صحیح نیس #: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" -msgstr "" +msgstr "شما بایستی وارد سیستم شوید تا ما بدانیم ایمیل را به چه شخصی ارسال نماییم!" #: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" -msgstr "" +msgstr "شما در حال حاضر آدرس ایمیل خود را تایید نموده‌اید!" #: mediagoblin/auth/views.py:203 msgid "Resent your verification email." @@ -87,7 +88,7 @@ msgstr "عنوان" #: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 msgid "Description of this work" -msgstr "" +msgstr "توصیف این عمل" #: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 #: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 @@ -95,7 +96,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "شما می‌توانید از \n\nMarkdown برای شکل‌دهی به متن استفاده نمایید." #: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 msgid "Tags" @@ -103,7 +104,7 @@ msgstr "برچسب" #: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." -msgstr "" +msgstr "تگ‌ها را توسط کاما (,) از یک‌دیگر جدا نمایید." #: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 msgid "Slug" @@ -117,12 +118,12 @@ msgstr "" msgid "" "The title part of this media's address. You usually don't need to change " "this." -msgstr "" +msgstr "بخش عنوان آدرس این فایل چندرسانه‌ای. شما معمولا نیازی به تغییر آن ندارید." #: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" -msgstr "" +msgstr "مجوز استفاده" #: mediagoblin/edit/forms.py:52 msgid "Bio" @@ -134,11 +135,11 @@ msgstr "وبسایت" #: mediagoblin/edit/forms.py:60 msgid "This address contains errors" -msgstr "" +msgstr "این آدرس شامل موارد غیرمجاز است" #: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" -msgstr "" +msgstr "وقتی دیگران بر روی موارد قرار داده شده توسط من نظر گذاشتند به من ایمیل بزن" #: mediagoblin/edit/forms.py:67 msgid "Enable insite notifications about events." @@ -146,42 +147,42 @@ msgstr "" #: mediagoblin/edit/forms.py:69 msgid "License preference" -msgstr "" +msgstr "تنظیمات مجوز استفاده" #: mediagoblin/edit/forms.py:75 msgid "This will be your default license on upload forms." -msgstr "" +msgstr "این مورد مجوز استفاده‌ی پیش‌فرض شما در صفحه‌ی آپلود خواهد بود." #: mediagoblin/edit/forms.py:88 msgid "The title can't be empty" -msgstr "" +msgstr "عنوان نمی‌تواند خالی باشد" #: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" -msgstr "" +msgstr "معرفی این مجموعه" #: mediagoblin/edit/forms.py:97 msgid "" "The title part of this collection's address. You usually don't need to " "change this." -msgstr "" +msgstr "بخش عنوان این آدرس مجموعه، شما معمولا نیازی به تغییر این مورد ندارید." #: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" -msgstr "" +msgstr "رمز عبور فعلی" #: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." -msgstr "" +msgstr "رمز عبور قدیمی خود را وارد نمایید تا تایید نمایید شما صاحب این حساب کاربری هستید." #: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" -msgstr "" +msgstr "رمز عبور جدید" #: mediagoblin/edit/forms.py:117 msgid "New email address" -msgstr "" +msgstr "آدرس ایمیل جدید" #: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -193,7 +194,7 @@ msgstr "گذرواٰژه" #: mediagoblin/edit/forms.py:123 msgid "Enter your password to prove you own this account." -msgstr "" +msgstr "رمز عبور خود را وارد نمایید تا تایید گردد شما صاحب این حساب کاربری هستید." #: mediagoblin/edit/views.py:73 msgid "An entry with that slug already exists for this user." @@ -210,7 +211,7 @@ msgstr "" #: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." -msgstr "" +msgstr "شما فقط قادر به ویرایش پروفایل خود می‌باشید." #: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." @@ -218,21 +219,21 @@ msgstr "شما در حال ویرایش نمایه کاربر دیگری هست #: mediagoblin/edit/views.py:210 msgid "Profile changes saved" -msgstr "" +msgstr "تغییرات در پروفایل شما ذخیره گردید" #: mediagoblin/edit/views.py:243 msgid "Account settings saved" -msgstr "" +msgstr "تنظیمات حساب کاربری شما ذخیره گردید" #: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." -msgstr "" +msgstr "شما نیاز دارید تا حذف شدن حساب کاربری خود را تایید نمایید." #: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" -msgstr "" +msgstr "شما در حال حاضر یک مجموعه با نام \"%s\" دارید!" #: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." @@ -240,15 +241,15 @@ msgstr "" #: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." -msgstr "" +msgstr "شما در حال ویرایش مجموعه‌ی شخص دیگری هستید، لطفا با احتیاط عمل نمایید." #: mediagoblin/edit/views.py:373 msgid "Your email address has been verified." -msgstr "" +msgstr "آدرس ایمیل شما تایید گردید." #: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" -msgstr "" +msgstr "رمز عبور اشتباه است" #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" @@ -287,7 +288,7 @@ msgstr "" #: mediagoblin/media_types/__init__.py:78 #: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" -msgstr "" +msgstr "شرمنده، نوع فایل چندرسانه‌ای شما قابل پشتیبانی نیست :(" #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" @@ -303,23 +304,23 @@ msgstr "" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" -msgstr "" +msgstr "این حساب کاربری را ببند" #: mediagoblin/moderation/forms.py:23 msgid "Send the user a message" -msgstr "" +msgstr "یک پیغام برای این کاربر بفرستید" #: mediagoblin/moderation/forms.py:24 msgid "Delete the content" -msgstr "" +msgstr "محتوا را حذف کن" #: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 msgid "User will be banned until:" -msgstr "" +msgstr "این حساب کاربری تا این زمان بسته باشد:" #: mediagoblin/moderation/forms.py:57 msgid "Why are you banning this User?" -msgstr "" +msgstr "چرا شما این حساب کاربری را می‌بندید؟" #: mediagoblin/moderation/forms.py:109 msgid "What action will you take to resolve the report?" @@ -335,7 +336,7 @@ msgstr "" #: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 msgid "commented on your post" -msgstr "" +msgstr "بر روی ارسال شما نظری گذاشته است" #: mediagoblin/notifications/views.py:35 #, python-format @@ -345,7 +346,7 @@ msgstr "" #: mediagoblin/notifications/views.py:48 #, python-format msgid "You will not receive notifications for comments on %s." -msgstr "" +msgstr "شما اعلانات مربوط به نظرات جدید در %s را دریافت نخواهید کرد." #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." @@ -353,7 +354,7 @@ msgstr "" #: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 msgid "No request token found." -msgstr "" +msgstr "رشته‌ی تایید هویت درخواستی یافت نگردید." #: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 @@ -386,15 +387,15 @@ msgstr "آدرس ایمیل" #: mediagoblin/plugins/basic_auth/forms.py:39 msgid "Username or Email" -msgstr "" +msgstr "نام کاربری یا آدرس ایمیل" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "مرا به خاطر داشته باش" #: mediagoblin/plugins/basic_auth/forms.py:51 msgid "Username or email" -msgstr "" +msgstr "نام کاربری یا آدرس ایمیل" #: mediagoblin/plugins/basic_auth/views.py:54 msgid "" @@ -404,56 +405,56 @@ msgstr "" #: mediagoblin/plugins/basic_auth/views.py:65 msgid "Couldn't find someone with that username." -msgstr "" +msgstr "سیستم قادر به یافتن شخصی با نام کاربری ارائه شده نمی باشد." #: mediagoblin/plugins/basic_auth/views.py:68 msgid "" "An email has been sent with instructions on how to change your password." -msgstr "" +msgstr "یک ایمیل که نحوه‌ی تغییر رمز عبور شما را شرح داده است، ارسال گردید." #: mediagoblin/plugins/basic_auth/views.py:75 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." -msgstr "" +msgstr "سیستم نمی‌تواند ایمیل بازیابی رمز عبور شما را ارسال نماید، به دلیل آن‌که نام کاربری شما فعال نیست یا ایمیلی که با آن ثبت‌نام نموده‌اید هنوز تایید نشده است." #: mediagoblin/plugins/basic_auth/views.py:123 msgid "The user id is incorrect." -msgstr "" +msgstr "نام کاربری اشتباه است." #: mediagoblin/plugins/basic_auth/views.py:139 msgid "You can now log in using your new password." -msgstr "" +msgstr "شما هم‌اکنون می‌توانید با رمز عبور جدید خود وارد سیستم گردید." #: mediagoblin/plugins/basic_auth/views.py:163 msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your account." -msgstr "" +msgstr "حساب کاربری شما دیگر فعال نیست. لطفا با مدیر سیستم جهت فعال‌سازی حساب کاربری خود تماس بگیرید." #: mediagoblin/plugins/basic_auth/views.py:215 msgid "Your password was changed successfully" -msgstr "" +msgstr "رمز عبور شما با موفقیت تغییر یافت" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 msgid "Set your new password" -msgstr "" +msgstr "رمز عبور جدید خود را تنظیم نمایید" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 msgid "Set password" -msgstr "" +msgstr "رمز عبور خود را تنظیم نمایید" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" -msgstr "" +msgstr "تغییر رمز عبور کاربر %(username)s" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 msgid "Save" -msgstr "" +msgstr "ذخیره" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 msgid "Don't have an account yet?" @@ -470,24 +471,24 @@ msgstr "" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 msgid "Recover password" -msgstr "" +msgstr "بازیابی رمز عبور" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:34 msgid "Send instructions" -msgstr "" +msgstr "ارسال دستورالعمل" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html:22 msgid "Forgot your password?" -msgstr "" +msgstr "رمز عبور خود را فراموش نموده‌اید؟" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" -msgstr "" +msgstr "محل" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:52 #, python-format msgid "View on OpenStreetMap" -msgstr "" +msgstr "بر روی OpenStreetMap ببنید" #: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 msgid "Sign in to create an account!" @@ -495,23 +496,23 @@ msgstr "" #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" -msgstr "" +msgstr "اجازه" #: mediagoblin/plugins/oauth/forms.py:30 msgid "Deny" -msgstr "" +msgstr "منع" #: mediagoblin/plugins/oauth/forms.py:34 msgid "Name" -msgstr "" +msgstr "نام" #: mediagoblin/plugins/oauth/forms.py:35 msgid "The name of the OAuth client" -msgstr "" +msgstr "نام در کلاینت OAuth" #: mediagoblin/plugins/oauth/forms.py:36 msgid "Description" -msgstr "" +msgstr "توضیح" #: mediagoblin/plugins/oauth/forms.py:38 msgid "" @@ -521,7 +522,7 @@ msgstr "" #: mediagoblin/plugins/oauth/forms.py:40 msgid "Type" -msgstr "" +msgstr "نوع" #: mediagoblin/plugins/oauth/forms.py:45 msgid "" @@ -535,7 +536,7 @@ msgstr "" #: mediagoblin/plugins/oauth/forms.py:52 msgid "Redirect URI" -msgstr "" +msgstr "آدرس بازگشت" #: mediagoblin/plugins/oauth/forms.py:54 msgid "" @@ -565,77 +566,77 @@ msgstr "" #: mediagoblin/templates/mediagoblin/submit/start.html:39 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" -msgstr "" +msgstr "اضافه نمودن" #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 msgid "Sorry, an account is already registered to that OpenID." -msgstr "" +msgstr "شرمنده، یک حساب کاربری در حال حاضر با OpenID مد نظر شما ثبت گردیده است." #: mediagoblin/plugins/openid/forms.py:38 msgid "OpenID" -msgstr "" +msgstr "OpenID" #: mediagoblin/plugins/openid/views.py:48 msgid "Sorry, the OpenID server could not be found" -msgstr "" +msgstr "شرمنده، سرور OpenID نمی‌تواند یافت شود" #: mediagoblin/plugins/openid/views.py:61 #, python-format msgid "No OpenID service was found for %s" -msgstr "" +msgstr "خدمات OpenID برای %s یافت نگردید." #: mediagoblin/plugins/openid/views.py:106 #, python-format msgid "Verification of %s failed: %s" -msgstr "" +msgstr "تایید %s با شکست روبرو گردید: %s" #: mediagoblin/plugins/openid/views.py:117 msgid "Verification cancelled" -msgstr "" +msgstr "درخواست تایید لغو گردید" #: mediagoblin/plugins/openid/views.py:314 msgid "Your OpenID url was saved successfully." -msgstr "" +msgstr "آدرس OpenID شما با موفقیت ذخیره گردید." #: mediagoblin/plugins/openid/views.py:338 #: mediagoblin/plugins/openid/views.py:393 msgid "You can't delete your only OpenID URL unless you have a password set" -msgstr "" +msgstr "شما نمی‌توانید تنها آدرس OpenID خود را تا زمانی که رمز عبوری برای آن تنظیم نموده‌اید، حذف نمایید" #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 msgid "That OpenID is not registered to this account." -msgstr "" +msgstr "OpenID مد نظر شما برای این حساب کاربری ثبت نگردیده است." #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "" +msgstr "OpenID با موفقیت حذف گردید." #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:34 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:23 msgid "Add an OpenID" -msgstr "" +msgstr "یک OpenID اضافه نمایید" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:34 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:23 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:31 msgid "Delete an OpenID" -msgstr "" +msgstr "یک OpenID را حذف نمایید" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 #: mediagoblin/templates/mediagoblin/user_pages/media.html:83 msgid "Delete" -msgstr "" +msgstr "حذف نمودن" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" -msgstr "" +msgstr "OpenIDها" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 @@ -654,23 +655,23 @@ msgstr "ورود با خطا انجام شد!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "وارد شوید تا یک حساب کاربری ایجاد نمایید!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "یا توسط رمز عبور وارد شوید!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "" +msgstr "یا توسط OpenID وارد شوید!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" -msgstr "" +msgstr "یا توسط OpenID ثبت‌نام نمایید!" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "" +msgstr "شرمنده، یک حساب کاربری در حال حاضر توسط آدرس ایمیل مد نظر شما ثبت گردیده است." #: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." @@ -697,11 +698,11 @@ msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 msgid "Delete a Persona email address" -msgstr "" +msgstr "حذف یک آدرس ایمیل از سرویس Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 msgid "Add a Persona email address" -msgstr "" +msgstr "اضافه کردن یک آدرس ایمیل از سیستم Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 msgid "Persona's" @@ -709,11 +710,11 @@ msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" -msgstr "" +msgstr "یا توسط Persona وارد شوید!" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 msgid "Or register with Persona!" -msgstr "" +msgstr "یا به وسیله‌ی سیستم Persona ثبت‌نام نمایید!" #: mediagoblin/processing/__init__.py:420 msgid "Invalid file given for media type." @@ -721,11 +722,11 @@ msgstr "فایلی نا معتبر برای نوع رسانه داده شده." #: mediagoblin/processing/__init__.py:427 msgid "Copying to public storage failed." -msgstr "" +msgstr "کپی به فضای ذخیره‌سازی عمومی با شکست مواجه شد." #: mediagoblin/processing/__init__.py:435 msgid "An acceptable processing file was not found" -msgstr "" +msgstr "یک فایل قابل قبول جهت پردازش یافت نشد" #: mediagoblin/submit/forms.py:30 msgid "Max file size: {0} mb" @@ -753,7 +754,7 @@ msgstr "هورا!ثبت شد!" #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" -msgstr "" +msgstr "مجموعه‌ی \"%s\" اضافه گردید!" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." @@ -779,12 +780,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/base.html:81 msgid "Verify your email!" -msgstr "" +msgstr "آدرس ایمیل خود را تایید نمایید!" #: mediagoblin/templates/mediagoblin/base.html:88 #: mediagoblin/templates/mediagoblin/base.html:96 msgid "log out" -msgstr "" +msgstr "خروج" #: mediagoblin/templates/mediagoblin/base.html:115 #, python-format @@ -793,7 +794,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/base.html:122 msgid "Change account settings" -msgstr "" +msgstr "تغییر تنظیمات حساب کاربری" #: mediagoblin/templates/mediagoblin/base.html:126 #: mediagoblin/templates/mediagoblin/base.html:147 @@ -806,17 +807,17 @@ msgstr "پنل رسیدگی به رسانه ها" #: mediagoblin/templates/mediagoblin/base.html:135 msgid "Log out" -msgstr "" +msgstr "خارج شدن" #: mediagoblin/templates/mediagoblin/base.html:138 #: mediagoblin/templates/mediagoblin/user_pages/user.html:112 msgid "Add media" -msgstr "" +msgstr "اضافه کردن فایل" #: mediagoblin/templates/mediagoblin/base.html:141 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" -msgstr "" +msgstr "یک مجموعه‌ی جدید اضافه نمایید" #: mediagoblin/templates/mediagoblin/base.html:151 msgid "User management panel" @@ -828,60 +829,60 @@ msgstr "" #: mediagoblin/templates/mediagoblin/root.html:32 msgid "Most recent media" -msgstr "" +msgstr "فایل‌های چندرسانه‌ای جدیدا اضافه شده" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" -msgstr "" +msgstr "اجازه" #: mediagoblin/templates/mediagoblin/api/authorize.html:26 #: mediagoblin/templates/mediagoblin/api/authorize.html:53 msgid "Authorize" -msgstr "" +msgstr "اجازه دادن" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "" +msgstr "شما وارد سیستم شده‌اید به عنوان" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " -msgstr "" +msgstr "می‌خواهید این اجازه را بدهید" #: mediagoblin/templates/mediagoblin/api/authorize.html:37 msgid "an unknown application" -msgstr "" +msgstr "یک برنامه‌ی ناشناخته" #: mediagoblin/templates/mediagoblin/api/authorize.html:39 msgid " to access your account? " -msgstr "" +msgstr "تا به حساب کاربری شما دسترسی داشته باشد؟" #: mediagoblin/templates/mediagoblin/api/authorize.html:41 msgid "Applications with access to your account can: " -msgstr "" +msgstr "برنامه‌هایی که به حساب کاربری شما دسترسی دارند می‌توانند:" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" -msgstr "" +msgstr "یک فایل چندرسانه‌ای به عنوان خودتان ارسال کنید" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, media, etc...)" -msgstr "" +msgstr "اطلاعات خود را ببینید (مثلا پروفایل، فایل‌های چندرسانه‌ای و ...)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" -msgstr "" +msgstr "اطلاعات خود را تغییر دهید" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "" +msgstr "مراحل دسترسی دادن به پایان رسید" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "" +msgstr "مراحل دسترسی دادن کامل گردید" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "" +msgstr "یک نسخه از این بر روی دستگاه خود ایجاد کنید:" #: mediagoblin/templates/mediagoblin/auth/register.html:28 #: mediagoblin/templates/mediagoblin/auth/register.html:36 @@ -916,7 +917,7 @@ msgid "" "Released under the AGPL. Source code available." -msgstr "" +msgstr "منتشر شده تحت مجوز AGPL. کد منبع در دسترس می‌باشد." #: mediagoblin/templates/mediagoblin/bits/base_footer.html:30 msgid "Terms of Service" @@ -924,27 +925,27 @@ msgstr "" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:20 msgid "Explore" -msgstr "" +msgstr "گشتن" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" -msgstr "" +msgstr "سلام رفیق، به این سایت مدیا گوبلین خوش آمدید!" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." -msgstr "" +msgstr "این سایت با استفاده از سیستم آزاد MediaGoblin, an extraordinarily بنا نهاده شده است که به طور شگفت‌انگیزی از بهترین نرم‌افزارهای میزبانی فایل‌های چندرسانه‌ای است." #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." -msgstr "" +msgstr "برای این که بتوانید فایل چندرسانه‌ای خود را اضافه نمایید، نظر بدهید و خیلی موارد دیگر می‌توانید با حساب کاربری مدیاگوبلین خود وارد شوید." #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 msgid "Don't have one yet? It's easy!" -msgstr "" +msgstr "هنوز حساب کاربری ندارید؟ ساختنش آسان است!" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" @@ -974,12 +975,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/media.html:191 #: mediagoblin/templates/mediagoblin/user_pages/media.html:207 msgid "Attachments" -msgstr "" +msgstr "پیوست‌ها" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media.html:213 msgid "Add attachment" -msgstr "" +msgstr "پیوستی اضافه نمایید" #: mediagoblin/templates/mediagoblin/edit/attachments.html:61 #: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 @@ -1004,22 +1005,22 @@ msgstr "ذخیره تغییرات" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "" +msgstr "تغییر آدرس ایمیل کاربر %(username)s" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" -msgstr "" +msgstr "ایا مطمئن هستید که می‌خواهید حساب کاربری '%(user_name)s' و تمام فایل‌ها و نظرات مربوط به وی حذف گردد؟" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 msgid "Yes, really delete my account" -msgstr "" +msgstr "بله، لطفا اکانت من را حذف کن" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 msgid "Delete permanently" -msgstr "" +msgstr "به طور کامل حذف نمایید" #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 @@ -1035,11 +1036,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:54 msgid "Delete my account" -msgstr "" +msgstr "اکانت من را حذف کن" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 msgid "Email" -msgstr "" +msgstr "آدرس ایمیل" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format @@ -1068,7 +1069,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" -msgstr "" +msgstr "نظرات جدید" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 @@ -1083,7 +1084,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 msgid "Mark all read" -msgstr "" +msgstr "همه را به عنوان خوانده شده نشانه‌گذاری کن" #: mediagoblin/templates/mediagoblin/listings/collection.html:30 #: mediagoblin/templates/mediagoblin/listings/collection.html:35 @@ -1091,46 +1092,46 @@ msgstr "" #: mediagoblin/templates/mediagoblin/listings/tag.html:35 #, python-format msgid "Media tagged with: %(tag_name)s" -msgstr "" +msgstr "نشانه‌گذاری شده با عبارات: %(tag_name)s" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:74 msgid "Download" -msgstr "" +msgstr "دانلود" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 msgid "Original" -msgstr "" +msgstr "اصلی" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:44 msgid "" "Sorry, this audio will not work because \n" "\tyour web browser does not support HTML5 \n" "\taudio." -msgstr "" +msgstr "شرمنده، این فایل صوتی کار نخواهد کرد به دلیل آن که مرورگر وب شما از استاندارد HTML5 جهت پخش فایل‌های صوتی پشتیبانی نمی‌نماید." #: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 msgid "" "You can get a modern web browser that \n" "\tcan play the audio at \n" "\t http://getfirefox.com!" -msgstr "" +msgstr "شما می‌توانید یک مرورگر وب بسیار عالی که قادر به پخش فایل‌های صوتی است را از \n این‌جا دریافت نمایید!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:80 msgid "Original file" -msgstr "" +msgstr "فایل اصلی" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 msgid "WebM file (Vorbis codec)" -msgstr "" +msgstr "فایل WebM (کدک (رمزگشای) Vorbis)" #: mediagoblin/templates/mediagoblin/media_displays/image.html:36 msgid "Created" -msgstr "" +msgstr "ایجاد گردید" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 @@ -1145,7 +1146,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" -msgstr "" +msgstr "فایل PDF" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 msgid "Perspective" @@ -1153,15 +1154,15 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" -msgstr "" +msgstr "جلو" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" -msgstr "" +msgstr "بالا" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" -msgstr "" +msgstr "کنار" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" @@ -1169,15 +1170,15 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" -msgstr "" +msgstr "حالت دانلود!" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" -msgstr "" +msgstr "نوع فایل" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" -msgstr "" +msgstr "ارتقاع مورد" #: mediagoblin/templates/mediagoblin/media_displays/video.html:63 msgid "" @@ -1195,7 +1196,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:88 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "فایل با فرمت WebM (کدک VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 msgid "" @@ -1205,17 +1206,17 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:33 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 msgid "Media in-processing" -msgstr "" +msgstr "فایل مورد نظر در حال پردازش می‌باشد" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" -msgstr "" +msgstr "هیچ فایلی در حال پردازش نیست" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:62 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 msgid "These uploads failed to process:" -msgstr "" +msgstr "فایل‌های آپلود شده‌ی زیر نتوانستند پردزاش شوند:" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 @@ -1224,12 +1225,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:93 msgid "Last 10 successful uploads" -msgstr "" +msgstr "آخرین فایل‌هایی که با موفقیت آپلود شده‌اند" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" -msgstr "" +msgstr "هنوز هیچ موردی برای پردازش وجود ندارد!" #: mediagoblin/templates/mediagoblin/moderation/report.html:27 msgid "Sorry, no such report found." @@ -1396,16 +1397,16 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 msgid "No users found." -msgstr "" +msgstr "هیچ کاربری یافت نشد." #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" -msgstr "" +msgstr "یک مجموعه اضافه نمایید" #: mediagoblin/templates/mediagoblin/submit/start.html:28 #: mediagoblin/templates/mediagoblin/submit/start.html:35 msgid "Add your media" -msgstr "" +msgstr "فایل چندرسانه‌ای خود را اضافه نمایید" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format @@ -1415,12 +1416,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 #, python-format msgid "%(collection_title)s by %(username)s" -msgstr "" +msgstr "%(collection_title)s ایجاد شده توسط %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media.html:79 msgid "Edit" -msgstr "" +msgstr "ویرایش" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 @@ -1431,21 +1432,21 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" -msgstr "" +msgstr "آیا مطمئن هستید می‌خواهید %(media_title)s را از مجموعه‌ی %(collection_title)s حذف نمایید؟" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 msgid "Remove" -msgstr "" +msgstr "حذف نمودن" #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 #, python-format msgid "%(username)s's collections" -msgstr "" +msgstr "مجموعه‌های %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:28 #, python-format msgid "%(username)s's collections" -msgstr "" +msgstr "مجموعه‌های %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 #, python-format @@ -1457,14 +1458,14 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 #, python-format msgid "%(username)s's media" -msgstr "" +msgstr "چندرسانه‌ای‌های %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:38 #, python-format msgid "" "%(username)s's media with tag %(tag)s" -msgstr "" +msgstr "فایل‌های چند رسانه‌ای کاربر %(username)s با تگ %(tag)s" #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 #, python-format @@ -1478,42 +1479,42 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" -msgstr "" +msgstr "یک نظر بنویسید" #: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" -msgstr "" +msgstr "به این مورد نظری بدهید" #: mediagoblin/templates/mediagoblin/user_pages/media.html:112 msgid "Comment Preview" -msgstr "" +msgstr "پیش‌نمایش نظر" #: mediagoblin/templates/mediagoblin/user_pages/media.html:166 msgid "Added" -msgstr "" +msgstr "اضافه گردید" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format msgid "Add “%(media_title)s” to a collection" -msgstr "" +msgstr "“%(media_title)s” را به مجموعه اضافه کن" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 msgid "+" -msgstr "" +msgstr "+" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:58 msgid "Add a new collection" -msgstr "" +msgstr "یک مجموعه‌ی جدید ا ضافه نمایید" #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 msgid "" "You can track the state of media being processed for your gallery here." -msgstr "" +msgstr "شما می‌توانید وضعیت پردازش فایل چندرسانه‌ای را که به مجموعه‌ی خود اضافه نموده‌اید را در این‌جا ببینید." #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 msgid "Your last 10 successful uploads" -msgstr "" +msgstr "آخرین ۱۰ ارسال موفق شما" #: mediagoblin/templates/mediagoblin/user_pages/report.html:21 msgid "

File a Report

" @@ -1549,7 +1550,7 @@ msgstr "نمایه %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/user.html:52 msgid "Here's a spot to tell others about yourself." -msgstr "" +msgstr "این‌جا مکانی است که شما می‌توانید به دیگران در مورد خود بگویید." #: mediagoblin/templates/mediagoblin/user_pages/user.html:56 #: mediagoblin/templates/mediagoblin/user_pages/user.html:73 @@ -1558,11 +1559,11 @@ msgstr "ویرایش نمایه" #: mediagoblin/templates/mediagoblin/user_pages/user.html:61 msgid "This user hasn't filled in their profile (yet)." -msgstr "" +msgstr "این کاربر هنوز پروفایل خودر ا پر ننموده است." #: mediagoblin/templates/mediagoblin/user_pages/user.html:80 msgid "Browse collections" -msgstr "" +msgstr "گشتن در مجموعه‌ها" #: mediagoblin/templates/mediagoblin/user_pages/user.html:93 #, python-format @@ -1573,22 +1574,22 @@ msgstr "نمایش تمامی رسانه های %(username)s" msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." -msgstr "" +msgstr "این‌جا مکانی است که فایل‌های شما نمایش داده خواهد شد، اما به نظر می‌رسد که شما هنوز هیچ چیزی را اضافه ننمودید." #: mediagoblin/templates/mediagoblin/user_pages/user.html:118 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." -msgstr "" +msgstr "به نظر می‌رسد که هنوز هیچ فایل چندرسانه‌ای وجود ندارد..." #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 msgid "Email verification needed" -msgstr "" +msgstr "تایید ایمیل شما مورد نیاز است" #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." -msgstr "" +msgstr "تقریبا تمام شد! اکانت شما به فعال شدن نیاز دارد." #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:48 msgid "" @@ -1607,7 +1608,7 @@ msgstr "باز ارسال ایمیل تاییدیه" msgid "" "Someone has registered an account with this username, but it still has to be" " activated." -msgstr "" +msgstr "شخص دیگری اکانتی با نام انتخابی شما ثبت‌نام نموده است، اما هنوز آن را تایید ننموده است." #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:68 #, python-format @@ -1618,51 +1619,51 @@ msgstr "اگر شما آن کاربر هستید و ایمیل تایید خود #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr "(حذف نمودن)" #: mediagoblin/templates/mediagoblin/utils/collections.html:21 msgid "Collected in" -msgstr "" +msgstr "جمع شده در" #: mediagoblin/templates/mediagoblin/utils/collections.html:40 msgid "Add to a collection" -msgstr "" +msgstr "به مجموعه اضافه کنید" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" -msgstr "" +msgstr "آیکون خوراک (فید)" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:23 msgid "Atom feed" -msgstr "" +msgstr "خوراک (فید) با فُرمت Atom" #: mediagoblin/templates/mediagoblin/utils/license.html:25 msgid "All rights reserved" -msgstr "" +msgstr "تمامی حقوق محفوظ است" #: mediagoblin/templates/mediagoblin/utils/pagination.html:39 msgid "← Newer" -msgstr "" +msgstr "جدیدتر ←" #: mediagoblin/templates/mediagoblin/utils/pagination.html:45 msgid "Older →" -msgstr "" +msgstr "→ قدیمی‌تر" #: mediagoblin/templates/mediagoblin/utils/pagination.html:48 msgid "Go to page:" -msgstr "" +msgstr "برو به صفحه‌ی " #: mediagoblin/templates/mediagoblin/utils/prev_next.html:28 #: mediagoblin/templates/mediagoblin/utils/prev_next.html:33 msgid "newer" -msgstr "" +msgstr "جدیدتر" #: mediagoblin/templates/mediagoblin/utils/prev_next.html:39 #: mediagoblin/templates/mediagoblin/utils/prev_next.html:44 msgid "older" -msgstr "" +msgstr "قدیمی‌تر" #: mediagoblin/templates/mediagoblin/utils/report.html:25 msgid "Report media" @@ -1670,11 +1671,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/utils/tags.html:20 msgid "Tagged with" -msgstr "" +msgstr "تگ شده با" #: mediagoblin/tools/exif.py:83 msgid "Could not read the image file." -msgstr "" +msgstr "قادر به خواندن تصویر نمی‌باشد." #: mediagoblin/tools/response.py:38 msgid "Oops!" @@ -1682,19 +1683,19 @@ msgstr "اوه" #: mediagoblin/tools/response.py:39 msgid "An error occured" -msgstr "" +msgstr "یک خطا رخ داد" #: mediagoblin/tools/response.py:53 msgid "Bad Request" -msgstr "" +msgstr "درخواست نامعتبر" #: mediagoblin/tools/response.py:55 msgid "The request sent to the server is invalid, please double check it" -msgstr "" +msgstr "درخواست ارائه شده به سرور نادرست است، لطفا مجددا چک نمایید" #: mediagoblin/tools/response.py:63 msgid "Operation not allowed" -msgstr "" +msgstr "شما اجازه‌ی انجام این عملیات را ندارید" #: mediagoblin/tools/response.py:64 msgid "" @@ -1712,31 +1713,31 @@ msgstr "" #: mediagoblin/tools/timesince.py:62 msgid "year" -msgstr "" +msgstr "سال" #: mediagoblin/tools/timesince.py:63 msgid "month" -msgstr "" +msgstr "ماه" #: mediagoblin/tools/timesince.py:64 msgid "week" -msgstr "" +msgstr "هفته" #: mediagoblin/tools/timesince.py:65 msgid "day" -msgstr "" +msgstr "روز" #: mediagoblin/tools/timesince.py:66 msgid "hour" -msgstr "" +msgstr "ساعت" #: mediagoblin/tools/timesince.py:67 msgid "minute" -msgstr "" +msgstr "دقیقه" #: mediagoblin/user_pages/forms.py:23 msgid "Comment" -msgstr "" +msgstr "نظر" #: mediagoblin/user_pages/forms.py:25 msgid "" @@ -1746,23 +1747,23 @@ msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" -msgstr "" +msgstr "من از پاک کردن این مورد کاملا مطمئن هستم" #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" -msgstr "" +msgstr "من مطمئن هستم که می‌خواهم این مورد را از این مجموعه حذف نمایم" #: mediagoblin/user_pages/forms.py:39 msgid "Collection" -msgstr "" +msgstr "مجموعه" #: mediagoblin/user_pages/forms.py:40 msgid "-- Select --" -msgstr "" +msgstr "-- انتخاب کنید --" #: mediagoblin/user_pages/forms.py:42 msgid "Include a note" -msgstr "" +msgstr "یک یادداشت بگذارید" #: mediagoblin/user_pages/forms.py:49 msgid "" @@ -1773,68 +1774,68 @@ msgstr "" #: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 msgid "Reason for Reporting" -msgstr "" +msgstr "دلیل شما برای گزارش؟" #: mediagoblin/user_pages/views.py:178 msgid "Sorry, comments are disabled." -msgstr "" +msgstr "شرمنده، امکان نظردهی غیرفعال گردیده است." #: mediagoblin/user_pages/views.py:183 msgid "Oops, your comment was empty." -msgstr "" +msgstr "اووه، متن نظر شما خالی بود." #: mediagoblin/user_pages/views.py:189 msgid "Your comment has been posted!" -msgstr "" +msgstr "نظر شما با موفقیت ارسال گردید!" #: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." -msgstr "" +msgstr "لطفا مقادیر ورودی خود را بررسی نموده و مجددا تلاش نمایید." #: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" -msgstr "" +msgstr "شما مجبور هستید که یک مجموعه را انتخاب یا اضافه نمایید" #: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" -msgstr "" +msgstr "\"%s\" در حال حاضر در مجموعه‌ی \"%s\"" #: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" -msgstr "" +msgstr "\"%s\" به مجموعه‌ی \"%s\" اضافه گردیده است" #: mediagoblin/user_pages/views.py:307 msgid "You deleted the media." -msgstr "" +msgstr "شما چندرسانه‌ای مورد نظر را پاک نمودید." #: mediagoblin/user_pages/views.py:319 msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" +msgstr "این چندرسانه‌ای حذف نگردیده است به دلیل آن‌که شما اطمینان خود را تایید ننمودید." #: mediagoblin/user_pages/views.py:326 msgid "You are about to delete another user's media. Proceed with caution." -msgstr "" +msgstr "شما در حال حذف نمودن فایل‌های کاربر دیگری است. با احتیاط عمل نمایید." #: mediagoblin/user_pages/views.py:399 msgid "You deleted the item from the collection." -msgstr "" +msgstr "شما فایل مورد نظر را از مجموعه حذف نموده‌اید." #: mediagoblin/user_pages/views.py:403 msgid "The item was not removed because you didn't check that you were sure." -msgstr "" +msgstr "فایل مورد نظر به دلیل عدم تایید اطمینان شما حذف نگردید." #: mediagoblin/user_pages/views.py:411 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." -msgstr "" +msgstr "شما در حال حذف نمودن موردی از مجموعه‌ی شخص دیگری هستید، لطفا با احتیاط عمل نمایید." #: mediagoblin/user_pages/views.py:443 #, python-format msgid "You deleted the collection \"%s\"" -msgstr "" +msgstr "شما مجموعه‌ی \"%s\" را حذف نمودید" #: mediagoblin/user_pages/views.py:450 msgid "" diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po index c0734f2d..022ef84c 100644 --- a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po @@ -9,7 +9,8 @@ # Bibit , 2013 # Fubik, 2013 # joehillen , 2011 -# hellpe , 2013 +# Laurent Pointecouteau , 2013 +# loic_le.ninan, 2014 # MarkTraceur , 2011 # maxineb , 2011 # joar , 2011 @@ -19,8 +20,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-06-17 21:15+0000\n" +"Last-Translator: loic_le.ninan\n" "Language-Team: French (http://www.transifex.com/projects/p/mediagoblin/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,11 +32,11 @@ msgstr "" #: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." -msgstr "L'inscription n'est pas activée sur ce serveur, désolé." +msgstr "Désolé, l'inscription n'est pas activée sur ce serveur." #: mediagoblin/decorators.py:315 msgid "Sorry, reporting is disabled on this instance." -msgstr "" +msgstr "Désolé, le signalement est désactivé sur ce serveur. " #: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 @@ -44,23 +45,23 @@ msgstr "Désolé, l'authentification est désactivée sur ce serveur." #: mediagoblin/auth/tools.py:43 msgid "Invalid User name or email address." -msgstr "Nom d'utilisateur ou adresse de courriel invalide." +msgstr "Nom d'utilisateur ou adresse e-mail invalide." #: mediagoblin/auth/tools.py:44 msgid "This field does not take email addresses." -msgstr "Ce champ n'accepte pas les adresses email." +msgstr "Ce champ n'accepte pas les adresses e-mail." #: mediagoblin/auth/tools.py:45 msgid "This field requires an email address." -msgstr "Ce champ nécessite une adresse email." +msgstr "Ce champ nécessite une adresse e-mail." #: mediagoblin/auth/tools.py:116 msgid "Sorry, a user with that name already exists." -msgstr "Un utilisateur existe déjà avec ce nom, désolé." +msgstr "Désolé, un autre utilisateur utilise déjà ce nom." #: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 msgid "Sorry, a user with that email address already exists." -msgstr "Désolé, il existe déjà un utilisateur ayant cette adresse e-mail." +msgstr "Désolé, un autre utilisateur se sert déjà de cette adresse e-mail." #: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 #: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 @@ -71,7 +72,7 @@ msgstr "La clé de vérification ou l'identifiant de l'utilisateur est incorrect msgid "" "Your email address has been verified. You may now login, edit your profile, " "and submit images!" -msgstr "Votre adresse e-mail a bien été vérifiée. Vous pouvez maintenant vous identifier, modifier votre profil, et soumettre des images !" +msgstr "Votre adresse e-mail a été vérifiée. Vous pouvez maintenant vous identifier, renseigner votre profil, et ajouter des images !" #: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" @@ -79,7 +80,7 @@ msgstr "La clé de vérification ou le nom d'utilisateur est incorrect." #: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" -msgstr "Vous devez être authentifié afin que nous sachions à qui envoyer l'e-mail !" +msgstr "Vous devez être identifié afin que nous sachions à qui envoyer l'e-mail !" #: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" @@ -97,7 +98,7 @@ msgstr "Titre" #: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 msgid "Description of this work" -msgstr "Descriptif pour ce travail" +msgstr "Description de ce média" #: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 #: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 @@ -105,29 +106,29 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "Vous pouvez utiliser\n \n Markdown pour le formattage." +msgstr "Vous pouvez utiliser\n \n Markdown pour la mise en page." #: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 msgid "Tags" -msgstr "Tags" +msgstr "Mots-clés" #: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." -msgstr "Séparez les champs avec des virgules." +msgstr "Séparez les mots-clés avec des virgules." #: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 msgid "Slug" -msgstr "Légende" +msgstr "Référence" #: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 msgid "The slug can't be empty" -msgstr "La légende ne peut pas être laissée vide." +msgstr "La référence doit être renseignée." #: mediagoblin/edit/forms.py:42 msgid "" "The title part of this media's address. You usually don't need to change " "this." -msgstr "Le titre présent dans l'URL du média. Vous n'avez généralement pas besoin de le modifier" +msgstr "Le texte utilisé dans l'URL de ce média. Vous n'avez généralement pas besoin de le modifier. " #: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 @@ -136,7 +137,7 @@ msgstr "Licence" #: mediagoblin/edit/forms.py:52 msgid "Bio" -msgstr "Bio" +msgstr "Biographie" #: mediagoblin/edit/forms.py:58 msgid "Website" @@ -144,15 +145,15 @@ msgstr "Site web" #: mediagoblin/edit/forms.py:60 msgid "This address contains errors" -msgstr "Cette adresse contiens des erreurs" +msgstr "Cette adresse contient des erreurs" #: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" -msgstr "Me prévenir par email lorsque d'autres commentent mes médias" +msgstr "Me prévenir par e-mail lorsqu'on commente mes médias" #: mediagoblin/edit/forms.py:67 msgid "Enable insite notifications about events." -msgstr "Activer les notifications sur le site concernant les évènements." +msgstr "Activer les notifications d'évènements sur le site." #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -160,11 +161,11 @@ msgstr "Préférence de licence" #: mediagoblin/edit/forms.py:75 msgid "This will be your default license on upload forms." -msgstr "Cette licence sera appliquée par défaut à vos contributions." +msgstr "Cette licence sera sélectionnée par défaut lors de vos ajouts de médias." #: mediagoblin/edit/forms.py:88 msgid "The title can't be empty" -msgstr "Le titre ne peut être vide" +msgstr "Le titre doit être renseigné" #: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 @@ -175,11 +176,11 @@ msgstr "Description de cette collection" msgid "" "The title part of this collection's address. You usually don't need to " "change this." -msgstr "Le titre affiché dans l'URL de la collection. Vous n'avez généralement pas besoin d'y toucher." +msgstr "Le texte utilisé dans l'URL de cette collection. Vous n'avez généralement pas besoin de le modifier." #: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" -msgstr "Ancien mot de passe." +msgstr "Ancien mot de passe" #: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." @@ -191,7 +192,7 @@ msgstr "Nouveau mot de passe" #: mediagoblin/edit/forms.py:117 msgid "New email address" -msgstr "Nouvelle adresse email" +msgstr "Nouvelle adresse e-mail" #: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -203,11 +204,11 @@ msgstr "Mot de passe" #: mediagoblin/edit/forms.py:123 msgid "Enter your password to prove you own this account." -msgstr "Entrez votre mot de passe pour prouver que vous possédez ce compte." +msgstr "Entrez votre mot de passe pour prouver que vous êtes bien le propriétaire de ce compte." #: mediagoblin/edit/views.py:73 msgid "An entry with that slug already exists for this user." -msgstr "Une entrée avec la même légende existe déjà pour cet utilisateur." +msgstr "Un média portant la même référence existe déjà pour cet utilisateur." #: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." @@ -216,7 +217,7 @@ msgstr "Vous vous apprêtez à modifier le média d'un autre utilisateur. Veuill #: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" -msgstr "Vous avez ajouté la pièce jointe %s !" +msgstr "Vous avez ajouté la pièce jointe “%s” !" #: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." @@ -228,11 +229,11 @@ msgstr "Vous vous apprêtez à modifier le profil d'un utilisateur. Veuillez pre #: mediagoblin/edit/views.py:210 msgid "Profile changes saved" -msgstr "Les changements apportés au profile ont étés sauvegardés" +msgstr "Les modifications du profil ont été enregistrées" #: mediagoblin/edit/views.py:243 msgid "Account settings saved" -msgstr "Les changements des préférences du compte ont étés sauvegardés" +msgstr "Les préférences du compte ont été enregistrées" #: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." @@ -242,19 +243,19 @@ msgstr "Vous devez confirmer la suppression de votre compte." #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" -msgstr "Vous avez déjà une collection appelée \"%s\" !" +msgstr "Vous possédez déjà une collection intitulée “%s” !" #: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." -msgstr "Une collection avec la même légende existe déjà pour cet utilisateur." +msgstr "Une collection portant la même référence existe déjà pour cet utilisateur." #: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." -msgstr "Vous éditez la collection d'un autre utilisateurs. Faites attention." +msgstr "Vous vous apprêtez à modifier la collection d'un autre utilisateur. Veuillez prendre garde." #: mediagoblin/edit/views.py:373 msgid "Your email address has been verified." -msgstr "Votre adresse email a bien été validée." +msgstr "Votre adresse e-mail a été vérifiée." #: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" @@ -262,7 +263,7 @@ msgstr "Mauvais mot de passe" #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" -msgstr "Impossible de lier le thème... Aucun thème associé\n" +msgstr "Impossible de lier le thème... Aucun thème configuré\n" #: mediagoblin/gmg_commands/assetlink.py:73 msgid "No asset directory for this theme\n" @@ -270,12 +271,12 @@ msgstr "Aucun répertoire \"asset\" pour ce thème\n" #: mediagoblin/gmg_commands/assetlink.py:76 msgid "However, old link directory symlink found; removed.\n" -msgstr "" +msgstr "Cependant, un ancien lien vers le dossier a été trouvé; supprimé. \n" #: mediagoblin/gmg_commands/assetlink.py:112 #, python-format msgid "Could not link \"%s\": %s exists and is not a symlink\n" -msgstr "Ne peut pas lier \"%s\" : %s existe et n'est pas un lien symbolique\n" +msgstr "Impossible de lier \"%s\" : %s existe et n'est pas un lien symbolique\n" #: mediagoblin/gmg_commands/assetlink.py:119 #, python-format @@ -285,19 +286,19 @@ msgstr "Saute \"%s\"; déjà défini.\n" #: mediagoblin/gmg_commands/assetlink.py:124 #, python-format msgid "Old link found for \"%s\"; removing.\n" -msgstr "Vieux lien trouvé pour \"%s\"; suppression.\n" +msgstr "Ancien lien trouvé pour \"%s\"; suppression.\n" #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " "or somesuch.
Make sure to permit the settings of cookies for this " "domain." -msgstr "Cookie CSRF non présent. Cela est vraisemblablement l’œuvre d'un bloqueur de cookies ou autres.
Veuillez vous assurer d'autoriser les cookies pour ce domaine." +msgstr "Cookie CSRF non présent. Cela est vraisemblablement l’œuvre d'un bloqueur de cookies ou assimilé.
Veuillez vous assurer d'autoriser les cookies pour ce domaine." #: mediagoblin/media_types/__init__.py:78 #: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" -msgstr "Désolé, mais je ne prends pas en charge cette extension de fichier :(" +msgstr "Désolé, mais je ne prends pas en charge ce type de fichier :(" #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" @@ -309,53 +310,53 @@ msgstr "L'encodage de la vidéo à échoué" #: mediagoblin/moderation/forms.py:21 msgid "Take away privilege" -msgstr "" +msgstr "Révoquer un privilège" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" -msgstr "" +msgstr "Bannir l'utilisateur" #: mediagoblin/moderation/forms.py:23 msgid "Send the user a message" -msgstr "" +msgstr "Envoyer un message à l'utilisateur" #: mediagoblin/moderation/forms.py:24 msgid "Delete the content" -msgstr "" +msgstr "Supprimer le contenu" #: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 msgid "User will be banned until:" -msgstr "" +msgstr "L'utilisateur sera banni jusqu'à : " #: mediagoblin/moderation/forms.py:57 msgid "Why are you banning this User?" -msgstr "" +msgstr "Pour quelle raison bannissez-vous cet utilisateur ? " #: mediagoblin/moderation/forms.py:109 msgid "What action will you take to resolve the report?" -msgstr "" +msgstr "Quelle action envisagez-vous pour ce signalement ? " #: mediagoblin/moderation/forms.py:115 msgid "What privileges will you take away?" -msgstr "" +msgstr "Quels privilèges souhaitez-vous révoquer ? " #: mediagoblin/moderation/tools.py:91 msgid "Warning from" -msgstr "" +msgstr "Avertissement de" #: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 msgid "commented on your post" -msgstr "a commenté votre post" +msgstr "a commenté votre message" #: mediagoblin/notifications/views.py:35 #, python-format msgid "Subscribed to comments on %s!" -msgstr "Inscrit aux commentaires sur %s !" +msgstr "Vous serez notifié pour les commentaires sur “%s” !" #: mediagoblin/notifications/views.py:48 #, python-format msgid "You will not receive notifications for comments on %s." -msgstr "Vous ne recevrez pas de notifications pour les commentaires sur %s." +msgstr "Vous ne serez pas notifié pour les commentaires sur “%s”." #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." @@ -363,22 +364,22 @@ msgstr "Doit fournir un oauth_token." #: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 msgid "No request token found." -msgstr "" +msgstr "Aucun jeton d'authentification n'a été trouvé dans la requête. " #: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." -msgstr "" +msgstr "Désolé, la taille du fichier est trop importante. " #: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." -msgstr "" +msgstr "Désolé, publier ce fichier vous fera dépasser votre limite d'ajout de médias. " #: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." -msgstr "" +msgstr "Désolé, vous avez atteint votre limite d'ajout de médias. " #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 @@ -396,21 +397,21 @@ msgstr "Adresse e-mail" #: mediagoblin/plugins/basic_auth/forms.py:39 msgid "Username or Email" -msgstr "Nom d'utilisateur ou email" +msgstr "Nom d'utilisateur ou adresse e-mail" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "Rester connecter" +msgstr "Rester connecté" #: mediagoblin/plugins/basic_auth/forms.py:51 msgid "Username or email" -msgstr "Nom d'utilisateur ou email" +msgstr "Nom d'utilisateur ou adresse e-mail" #: mediagoblin/plugins/basic_auth/views.py:54 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." -msgstr "Si cette adresse email (sensible à la casse !) est enregistrée, un email a été envoyé avec les instructions pour changer votre mot de passe." +msgstr "Si cette adresse e-mail (sensible à la casse !) est enregistrée, un e-mail a été envoyé avec les instructions pour changer votre mot de passe." #: mediagoblin/plugins/basic_auth/views.py:65 msgid "Couldn't find someone with that username." @@ -419,13 +420,13 @@ msgstr "Nom d'utilisateur introuvable." #: mediagoblin/plugins/basic_auth/views.py:68 msgid "" "An email has been sent with instructions on how to change your password." -msgstr "Un email contenant les instructions pour changer votre mot de passe viens de vous être envoyé" +msgstr "Un e-mail contenant les instructions pour changer votre mot de passe vient de vous être envoyé. " #: mediagoblin/plugins/basic_auth/views.py:75 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." -msgstr "Impossible d'envoyer un email de récupération de mot de passe : votre compte est inactif ou bien l'email de votre compte n'a pas été vérifiée." +msgstr "Impossible d'envoyer un e-mail de récupération de mot de passe : votre compte est inactif ou bien l'adresse e-mail associée n'a pas été vérifiée. " #: mediagoblin/plugins/basic_auth/views.py:123 msgid "The user id is incorrect." @@ -433,17 +434,17 @@ msgstr "L'identifiant de l'utilisateur est incorrect." #: mediagoblin/plugins/basic_auth/views.py:139 msgid "You can now log in using your new password." -msgstr "Vous pouvez maintenant vous connecter avec votre nouveau mot de passe." +msgstr "Vous pouvez maintenant vous identifier avec votre nouveau mot de passe." #: mediagoblin/plugins/basic_auth/views.py:163 msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your account." -msgstr "" +msgstr "Vous n'êtes plus un utilisateur actif. Merci de contacter l'administrateur pour qu'il réactive votre compte. " #: mediagoblin/plugins/basic_auth/views.py:215 msgid "Your password was changed successfully" -msgstr "Votre mot de passe a correctement été changé" +msgstr "Votre mot de passe a été modifié avec succès" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 @@ -452,18 +453,18 @@ msgstr "Enregistrez votre nouveau mot de passe" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 msgid "Set password" -msgstr "Enregistrez votre mot de passe" +msgstr "Enregistrer le mot de passe" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" -msgstr "Changement du mot de passe de %(username)s" +msgstr "Modification du mot de passe de %(username)s" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 msgid "Save" -msgstr "Sauvegarder" +msgstr "Enregistrer" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 msgid "Don't have an account yet?" @@ -475,7 +476,7 @@ msgstr "Créez-en un ici !" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 msgid "Change your password." -msgstr "" +msgstr "Changez votre mot de passe. " #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 @@ -492,16 +493,16 @@ msgstr "Vous avez oublié votre mot de passe ?" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" -msgstr "Position" +msgstr "Emplacement" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:52 #, python-format msgid "View on OpenStreetMap" -msgstr "Regarder sur OpenStreetMap" +msgstr "Localiser avec OpenStreetMap" #: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 msgid "Sign in to create an account!" -msgstr "" +msgstr "Identifiez-vous pour créer un compte ! " #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" @@ -527,7 +528,7 @@ msgstr "Description" msgid "" "This will be visible to users allowing your\n" " application to authenticate as them." -msgstr "" +msgstr "Ceci sera visible aux utilisateurs qui autorisent votre \napplication à s'authentifier en leur nom. " #: mediagoblin/plugins/oauth/forms.py:40 msgid "Type" @@ -545,25 +546,25 @@ msgstr "Confidentiel - Le client peut envoyer des requêtes à #: mediagoblin/plugins/oauth/forms.py:52 msgid "Redirect URI" -msgstr "URL de redirection" +msgstr "URI de redirection" #: mediagoblin/plugins/oauth/forms.py:54 msgid "" "The redirect URI for the applications, this field\n" " is required for public clients." -msgstr "L'URI de redirection pour l'application, ce champ est requis pour les clients publics" +msgstr "L'URI de redirection pour l'application, ce champ est obligatoire pour les clients publics. " #: mediagoblin/plugins/oauth/forms.py:66 msgid "This field is required for public clients" -msgstr "Ce champ est requis pour les clients publics" +msgstr "Ce champ est obligatoire pour les clients publics" #: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" -msgstr "Le client {0} as été enregistré !" +msgstr "Le client {0} a été enregistré !" #: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 msgid "OAuth client connections" -msgstr "" +msgstr "Connexions de clients OAuth" #: mediagoblin/plugins/oauth/templates/oauth/client/list.html:22 msgid "Your OAuth clients" @@ -617,11 +618,11 @@ msgstr "Vous ne pouvez pas supprimer votre seul URL OpenID sauf si vous avez dé #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 msgid "That OpenID is not registered to this account." -msgstr "Cet OpenID n'est pas relié à ce compte." +msgstr "Cet OpenID n'est pas lié à ce compte." #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "OpenID a été correctement supprimé." +msgstr "OpenID a été retiré avec succès." #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 @@ -641,11 +642,11 @@ msgstr "Supprimer un OpenID" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 #: mediagoblin/templates/mediagoblin/user_pages/media.html:83 msgid "Delete" -msgstr "Effacer" +msgstr "Supprimer" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" -msgstr "" +msgstr "OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 @@ -660,19 +661,19 @@ msgstr "S'identifier" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 #: mediagoblin/templates/mediagoblin/auth/login.html:39 msgid "Logging in failed!" -msgstr "La connexion a échoué!" +msgstr "L'identification a échoué !" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "Identifiez-vous pour créer un compte !" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "Ou se connecter avec un mot de passe !" +msgstr "Ou s'identifier avec un mot de passe !" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "Ou se connecter avec OpenID !" +msgstr "Ou s'identifier avec OpenID !" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" @@ -680,46 +681,46 @@ msgstr "Ou s'enregistrer avec OpenID !" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "Désolé, un compte est déjà enregistré avec cet email Persona." +msgstr "Désolé, un compte est déjà enregistré avec cet e-mail Persona." #: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." -msgstr "L'adresse email Persona a correctement été supprimée." +msgstr "L'adresse e-mail Persona a été retirée avec succès." #: mediagoblin/plugins/persona/views.py:144 msgid "" "You can't delete your only Persona email address unless you have a password " "set." -msgstr "Vous ne pouvez pas supprimer votre seul email Persona sauf si vous avez défini un mot de passe." +msgstr "Vous ne pouvez pas supprimer votre seul e-mail Persona sauf si vous avez défini un mot de passe." #: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." -msgstr "Cette adresse email Persona n'est pas liée à ce compte." +msgstr "Cette adresse e-mail Persona n'est pas liée à ce compte." #: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." -msgstr "Désolé, un compte est déjà enregistré avec cette adresse email Persona." +msgstr "Désolé, un compte est déjà enregistré avec cette adresse e-mail Persona." #: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." -msgstr "Votre adresse email Persona a bien été enregistrée." +msgstr "Votre adresse e-mail Persona a été enregistrée avec succès." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 msgid "Delete a Persona email address" -msgstr "Supprimer une adresse email Persona" +msgstr "Supprimer une adresse e-mail Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 msgid "Add a Persona email address" -msgstr "Ajouter une adresse email Persona" +msgstr "Ajouter une adresse e-mail Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 msgid "Persona's" -msgstr "" +msgstr "Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" -msgstr "Ou se connecter avec Persona !" +msgstr "Ou s'identifier avec Persona !" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 msgid "Or register with Persona!" @@ -735,11 +736,11 @@ msgstr "La copie vers le stockage public a échoué." #: mediagoblin/processing/__init__.py:435 msgid "An acceptable processing file was not found" -msgstr "" +msgstr "Aucun fichier pouvant être traité n'a été trouvé" #: mediagoblin/submit/forms.py:30 msgid "Max file size: {0} mb" -msgstr "" +msgstr "Taille maximale de fichier : {0} Mo" #: mediagoblin/submit/forms.py:34 msgid "File" @@ -750,11 +751,11 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Vous pouvez utiliser \n\nMarkdown pour la mise en page." #: mediagoblin/submit/views.py:55 msgid "You must provide a file." -msgstr "Il vous faut fournir un fichier." +msgstr "Vous devez fournir un fichier." #: mediagoblin/submit/views.py:69 msgid "Woohoo! Submitted!" @@ -763,29 +764,29 @@ msgstr "Youhou, c'est envoyé !" #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" -msgstr "Collection \"%s\" ajoutée !" +msgstr "Collection “%s” ajoutée !" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." -msgstr "" +msgstr "Vous êtes banni. " #: mediagoblin/templates/mediagoblin/banned.html:24 #: mediagoblin/templates/mediagoblin/error.html:24 msgid "Image of goblin stressing out" -msgstr "" +msgstr "Image d'un goblin stressé" #: mediagoblin/templates/mediagoblin/banned.html:26 msgid "You have been banned" -msgstr "" +msgstr "Vous avez été banni" #: mediagoblin/templates/mediagoblin/banned.html:28 #, python-format msgid "until %(until_when)s" -msgstr "" +msgstr "jusqu'au %(until_when)s" #: mediagoblin/templates/mediagoblin/banned.html:30 msgid "indefinitely" -msgstr "" +msgstr "à perpétuité" #: mediagoblin/templates/mediagoblin/base.html:81 msgid "Verify your email!" @@ -794,7 +795,7 @@ msgstr "Vérifiez votre adresse e-mail !" #: mediagoblin/templates/mediagoblin/base.html:88 #: mediagoblin/templates/mediagoblin/base.html:96 msgid "log out" -msgstr "Déconnexion" +msgstr "se déconnecter" #: mediagoblin/templates/mediagoblin/base.html:115 #, python-format @@ -803,7 +804,7 @@ msgstr "Compte de %(user_name)s" #: mediagoblin/templates/mediagoblin/base.html:122 msgid "Change account settings" -msgstr "Changer les paramètres du compte" +msgstr "Modifier les préférences du compte" #: mediagoblin/templates/mediagoblin/base.html:126 #: mediagoblin/templates/mediagoblin/base.html:147 @@ -812,7 +813,7 @@ msgstr "Changer les paramètres du compte" #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26 msgid "Media processing panel" -msgstr "Panneau pour le traitement des médias" +msgstr "Panneau de traitement des médias" #: mediagoblin/templates/mediagoblin/base.html:135 msgid "Log out" @@ -830,15 +831,15 @@ msgstr "Créer une nouvelle collection" #: mediagoblin/templates/mediagoblin/base.html:151 msgid "User management panel" -msgstr "" +msgstr "Panneau de gestion des utilisateurs" #: mediagoblin/templates/mediagoblin/base.html:155 msgid "Report management panel" -msgstr "" +msgstr "Panneau de gestion des signalements" #: mediagoblin/templates/mediagoblin/root.html:32 msgid "Most recent media" -msgstr "Tout derniers media" +msgstr "Tout derniers médias" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" @@ -851,7 +852,7 @@ msgstr "Autoriser" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "Vous êtes connecté en tant que" +msgstr "Vous êtes identifié en tant que" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " @@ -871,11 +872,11 @@ msgstr "Les applications ayant accès à votre compte peuvent :" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" -msgstr "Poster un nouveau média sous votre nom" +msgstr "Ajouter de nouveaux médias en votre nom" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, media, etc...)" -msgstr "Voir vos informations (profile, médias, etc...)" +msgstr "Voir vos informations (profil, médias, etc)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" @@ -883,15 +884,15 @@ msgstr "Modifier vos informations" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "" +msgstr "Autorisation terminée" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "" +msgstr "Autorisation terminée" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "Copier-coller ceci dans votre client :" +msgstr "Copiez-collez ceci dans votre client :" #: mediagoblin/templates/mediagoblin/auth/register.html:28 #: mediagoblin/templates/mediagoblin/auth/register.html:36 @@ -930,7 +931,7 @@ msgstr "Disponible sous la licence MediaGoblin, an " "extraordinarily great piece of media hosting software." -msgstr "Ce site fait tourner MediaGoblin, un logiciel d'hébergement de média extraordinairement génial." +msgstr "Ce site utilise MediaGoblin, un logiciel de partage de média particulièrement génial." #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." -msgstr "Pour ajouter vos propres médias, commenter, et bien plus encore, vous pouvez vous connecter avec votre compte MediaGoblin" +msgstr "Pour ajouter vos propres médias, commenter, et bien plus encore, vous pouvez vous identifier avec votre compte MediaGoblin. " #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 msgid "Don't have one yet? It's easy!" @@ -978,7 +979,7 @@ msgstr "Logo MediaGoblin" #: mediagoblin/templates/mediagoblin/edit/attachments.html:35 #, python-format msgid "Editing attachments for %(media_title)s" -msgstr "Éditer les pièces jointes de %(media_title)s" +msgstr "Modification des pièces jointes de “%(media_title)s”" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 #: mediagoblin/templates/mediagoblin/user_pages/media.html:191 @@ -1014,12 +1015,12 @@ msgstr "Enregistrer les modifications" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "Changement de l'email de %(username)s" +msgstr "Changement de l'adresse e-mail de %(username)s" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" -msgstr "Réellement supprimer l'utilisateur \"%(user_name)s\" et tous les médias/commentaires liés ?" +msgstr "Voulez-vous vraiment supprimer l'utilisateur “%(user_name)s” et tous les médias/commentaires liés ?" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 msgid "Yes, really delete my account" @@ -1035,13 +1036,13 @@ msgstr "Supprimer définitivement" #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format msgid "Editing %(media_title)s" -msgstr "Modification de %(media_title)s" +msgstr "Modification de “%(media_title)s”" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40 #, python-format msgid "Changing %(username)s's account settings" -msgstr "Changement des préférences du compte de %(username)s" +msgstr "Modification des préférences du compte de %(username)s" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:54 msgid "Delete my account" @@ -1049,12 +1050,12 @@ msgstr "Supprimer mon compte" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 msgid "Email" -msgstr "Email" +msgstr "E-mail" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" -msgstr "Modification de %(collection_title)s" +msgstr "Modification de “%(collection_title)s”" #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:34 @@ -1074,7 +1075,7 @@ msgid "" "\n" "If you are not %(username)s or didn't request an email change, you can ignore\n" "this email." -msgstr "Bonjour,\n\nNous voulons vérifier que vous êtes %(username)s. Si cela est bien le cas, veuillez suivre le lien ci-dessous pour vérifier votre nouvelle adresse email.\n\n%(verification_url)s\n\nSi vous n'êtes pas %(username)s ou n'avez pas demandé un changement d'adresse email, vous pouvez ignorer cet email." +msgstr "Bonjour,\n\nNous voulons vérifier que vous êtes %(username)s. Si cela est bien le cas, veuillez suivre le lien ci-dessous pour vérifier votre nouvelle adresse e-mail.\n\n%(verification_url)s\n\nSi vous n'êtes pas %(username)s ou n'avez pas demandé un changement d'adresse e-mail, vous pouvez ignorer cet e-mail." #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" @@ -1093,7 +1094,7 @@ msgstr "Il y a %(formatted_time)s" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 msgid "Mark all read" -msgstr "Marquer tous lus" +msgstr "Tout marquer comme lu" #: mediagoblin/templates/mediagoblin/listings/collection.html:30 #: mediagoblin/templates/mediagoblin/listings/collection.html:35 @@ -1101,7 +1102,7 @@ msgstr "Marquer tous lus" #: mediagoblin/templates/mediagoblin/listings/tag.html:35 #, python-format msgid "Media tagged with: %(tag_name)s" -msgstr "Médias taggés avec : %(tag_name)s " +msgstr "Médias étiquetés avec : %(tag_name)s " #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 @@ -1119,14 +1120,14 @@ msgid "" "Sorry, this audio will not work because \n" "\tyour web browser does not support HTML5 \n" "\taudio." -msgstr "Désolé, mais ce fichier audio ne se lancera pas car\nvotre navigateur web ne supporte pas l'audio HTML5." +msgstr "Désolé, ce fichier sonore ne sera pas joué car \n\tvotre navigateur web ne prend pas en charge \n\tle son au standard HTML5." #: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 msgid "" "You can get a modern web browser that \n" "\tcan play the audio at \n" "\t http://getfirefox.com!" -msgstr "Vous pouvez obtenir un navigateur à jour capable de lire cette vidéo sur \n\t http://getfirefox.com!" +msgstr "Vous pouvez obtenir un navigateur web à jour \n\tcapable de jouer les sons sur \n\t http://getfirefox.com !" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 @@ -1136,7 +1137,7 @@ msgstr "Fichier original" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 msgid "WebM file (Vorbis codec)" -msgstr "fichier WebM (codec Vorbis)" +msgstr "Fichier WebM (codec Vorbis)" #: mediagoblin/templates/mediagoblin/media_displays/image.html:36 msgid "Created" @@ -1151,7 +1152,7 @@ msgstr "Créé" #: mediagoblin/templates/mediagoblin/user_pages/media.html:65 #, python-format msgid "Image for %(media_title)s" -msgstr "Image de %(media_title)s" +msgstr "Image de “%(media_title)s”" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" @@ -1159,11 +1160,11 @@ msgstr "Fichier PDF" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 msgid "Perspective" -msgstr "" +msgstr "Perspective" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" -msgstr "" +msgstr "De face" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" @@ -1194,14 +1195,14 @@ msgid "" "Sorry, this video will not work because\n" " your web browser does not support HTML5 \n" " video." -msgstr "Désolé, cette vidéo ne marchera pas parce que votre navigateur web ne supporte pas les vidéos HTML5." +msgstr "Désolé, ce fichier vidéo ne sera pas lu car\n votre navigateur web ne prend pas en charge \n la vidéo au standard HTML5." #: mediagoblin/templates/mediagoblin/media_displays/video.html:66 msgid "" "You can get a modern web browser that \n" " can play this video at \n" " http://getfirefox.com!" -msgstr "Vous pouvez télécharger un navigateur web moderne qui peut lire cette vidéo à http://getfirefox.com !" +msgstr "Vous pouvez obtenir un navigateur web à jour \n capable de lire les vidéos sur \n http://getfirefox.com !" #: mediagoblin/templates/mediagoblin/media_displays/video.html:88 msgid "WebM file (VP8/Vorbis)" @@ -1210,53 +1211,53 @@ msgstr "Fichier WebM (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 msgid "" "Here you can track the state of media being processed on this instance." -msgstr "Ici, vous pouvez suivre l'état des médias en cours de traitement par cette instance." +msgstr "Ici, vous pouvez suivre la progression des médias en cours de traitement sur ce serveur. " #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:33 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 msgid "Media in-processing" -msgstr "Médias en transformation" +msgstr "Médias en cours de traitement" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" -msgstr "Aucun média en transformation" +msgstr "Aucun média en cours de traitement" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:62 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 msgid "These uploads failed to process:" -msgstr "Le traitement de ces ajouts a échoué :" +msgstr "Le traitement de ces fichiers a échoué :" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" -msgstr "Aucune entrée ayant échoué !" +msgstr "Aucun échec !" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:93 msgid "Last 10 successful uploads" -msgstr "10 derniers envois terminés" +msgstr "10 derniers médias traités avec succès" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" -msgstr "Aucune entrée traitée jusqu'à présent !" +msgstr "Aucun média traité, pour le moment !" #: mediagoblin/templates/mediagoblin/moderation/report.html:27 msgid "Sorry, no such report found." -msgstr "" +msgstr "Désolé, ce signalement n'a pas été trouvé. " #: mediagoblin/templates/mediagoblin/moderation/report.html:32 msgid "Return to Reports Panel" -msgstr "" +msgstr "Retourner au Panneau des signalements" #: mediagoblin/templates/mediagoblin/moderation/report.html:33 #: mediagoblin/templates/mediagoblin/user_pages/media.html:155 msgid "Report" -msgstr "" +msgstr "Signalement" #: mediagoblin/templates/mediagoblin/moderation/report.html:36 msgid "Reported comment" -msgstr "" +msgstr "Commentaire signalé" #: mediagoblin/templates/mediagoblin/moderation/report.html:81 #, python-format @@ -1264,7 +1265,7 @@ msgid "" "\n" " ❖ Reported media by %(user_name)s\n" " " -msgstr "" +msgstr "\n ❖ Média signalé par %(user_name)s\n " #: mediagoblin/templates/mediagoblin/moderation/report.html:90 #, python-format @@ -1274,63 +1275,63 @@ msgid "" " %(user_name)s\n" " HAS BEEN DELETED\n" " " -msgstr "" +msgstr "\nLE CONTENU PUBLIE PAR\n %(user_name)s\nA ETE SUPPRIME" #: mediagoblin/templates/mediagoblin/moderation/report.html:130 msgid "Resolve" -msgstr "" +msgstr "Résoudre" #: mediagoblin/templates/mediagoblin/moderation/report.html:134 #: mediagoblin/templates/mediagoblin/moderation/report.html:153 msgid "Resolve This Report" -msgstr "" +msgstr "Résoudre ce signalement" #: mediagoblin/templates/mediagoblin/moderation/report.html:145 msgid "Status" -msgstr "" +msgstr "Statut" #: mediagoblin/templates/mediagoblin/moderation/report.html:147 msgid "RESOLVED" -msgstr "" +msgstr "RESOLU" #: mediagoblin/templates/mediagoblin/moderation/report.html:155 msgid "You cannot take action against an administrator" -msgstr "" +msgstr "Vous ne pouvez pas agir contre un administrateur" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 msgid "Report panel" -msgstr "" +msgstr "Panneau des signalements" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 msgid "" "\n" " Here you can look up open reports that have been filed by users.\n" " " -msgstr "" +msgstr "\n Ici vous pouvez superviser les signalements remplis par les utilisateurs.\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:35 msgid "Active Reports Filed" -msgstr "" +msgstr "Signalements actifs" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 msgid "Offender" -msgstr "" +msgstr "Utilisateur mis en cause" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 msgid "When Reported" -msgstr "" +msgstr "Signalé le" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Reported By" -msgstr "" +msgstr "Signalé par" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Reason" -msgstr "" +msgstr "Raison" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 #, python-format @@ -1338,7 +1339,7 @@ msgid "" "\n" " Comment Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Signalement de commentaire #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 #, python-format @@ -1346,23 +1347,23 @@ msgid "" "\n" " Media Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Signalement de média #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 msgid "No open reports found." -msgstr "" +msgstr "Aucun signalement en attente de résolution n'a été trouvé. " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "Closed Reports" -msgstr "" +msgstr "Signalements résolus" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 msgid "Resolved" -msgstr "" +msgstr "Résolu" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Action Taken" -msgstr "" +msgstr "Action réalisée" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 #, python-format @@ -1370,43 +1371,43 @@ msgid "" "\n" " Closed Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Signalement résolu #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 msgid "No closed reports found." -msgstr "" +msgstr "Aucun signalement résolu n'a été trouvé. " #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" -msgstr "" +msgstr "Panneau des utilisateurs" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:29 msgid "" "\n" " Here you can look up users in order to take punitive actions on them.\n" " " -msgstr "" +msgstr "\n Ici vous pouvez superviser les utilisateurs afin de prendre des mesures punitives contre eux.\n " #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 msgid "Active Users" -msgstr "" +msgstr "Utilisateurs actifs" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 msgid "ID" -msgstr "" +msgstr "ID" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" -msgstr "" +msgstr "Inscrit le" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 msgid "# of Comments Posted" -msgstr "" +msgstr "# de commentaires postés" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 msgid "No users found." -msgstr "" +msgstr "Aucun utilisateur trouvé. " #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -1420,28 +1421,28 @@ msgstr "Ajoutez votre média" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" -msgstr "%(collection_title)s (collection de %(username)s)" +msgstr "“%(collection_title)s” (collection de %(username)s)" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 #, python-format msgid "%(collection_title)s by %(username)s" -msgstr "%(collection_title)s de %(username)s" +msgstr "“%(collection_title)s” de %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media.html:79 msgid "Edit" -msgstr "Éditer" +msgstr "Modifier" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format msgid "Really delete %(title)s?" -msgstr "Voulez-vous vraiment supprimer %(title)s ?" +msgstr "Voulez-vous vraiment supprimer “%(title)s” ?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" -msgstr "Voulez vous vraiment retirer %(media_title)s de %(collection_title)s ?" +msgstr "Voulez-vous vraiment retirer “%(media_title)s” de “%(collection_title)s” ?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 msgid "Remove" @@ -1462,19 +1463,19 @@ msgstr "Collections de %(username)s" msgid "" "Hi %(username)s,\n" "%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n" -msgstr "Bonjour %(username)s,\n%(comment_author)s a commenté votre post (%(comment_url)s) sur %(instance_name)s\n" +msgstr "Bonjour %(username)s,\n%(comment_author)s a commenté votre message (%(comment_url)s) sur %(instance_name)s\n" #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 #, python-format msgid "%(username)s's media" -msgstr "Medias de %(username)s" +msgstr "Médias de %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:38 #, python-format msgid "" "%(username)s's media with tag %(tag)s" -msgstr "Media de %(username)s avec le tag %(tag)s" +msgstr "Médias de %(username)s avec le mot-clé “%(tag)s”" #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 #, python-format @@ -1519,23 +1520,23 @@ msgstr "Ajouter une nouvelle collection" #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 msgid "" "You can track the state of media being processed for your gallery here." -msgstr "Vous pouvez suivre l'état des médias en cours de traitement pour votre galerie ici." +msgstr "Vous pouvez suivre la progression de vos médias en cours de traitement ici." #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 msgid "Your last 10 successful uploads" -msgstr "Vos 10 derniers envois réussis" +msgstr "Vos 10 derniers médias traités avec succès" #: mediagoblin/templates/mediagoblin/user_pages/report.html:21 msgid "

File a Report

" -msgstr "" +msgstr "

Remplir un signalement

" #: mediagoblin/templates/mediagoblin/user_pages/report.html:24 msgid "Reporting this Comment" -msgstr "" +msgstr "Signaler ce commentaire" #: mediagoblin/templates/mediagoblin/user_pages/report.html:60 msgid "Reporting this Media Entry" -msgstr "" +msgstr "Signaler ce média" #: mediagoblin/templates/mediagoblin/user_pages/report.html:72 #, python-format @@ -1544,22 +1545,22 @@ msgid "" " ❖ Published by %(username)s\n" " " -msgstr "" +msgstr "\n ❖ Publié par %(username)s\n " #: mediagoblin/templates/mediagoblin/user_pages/report.html:81 msgid "File Report " -msgstr "" +msgstr "Remplir un signalement" #: mediagoblin/templates/mediagoblin/user_pages/user.html:34 #: mediagoblin/templates/mediagoblin/user_pages/user.html:45 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 #, python-format msgid "%(username)s's profile" -msgstr "profil de %(username)s" +msgstr "Profil de %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/user.html:52 msgid "Here's a spot to tell others about yourself." -msgstr "Voici un endroit pour parler aux autres de vous-même." +msgstr "C'est ici que vous pouvez vous présenter. " #: mediagoblin/templates/mediagoblin/user_pages/user.html:56 #: mediagoblin/templates/mediagoblin/user_pages/user.html:73 @@ -1568,7 +1569,7 @@ msgstr "Modifier le profil" #: mediagoblin/templates/mediagoblin/user_pages/user.html:61 msgid "This user hasn't filled in their profile (yet)." -msgstr "Cet utilisateur n'a pas (encore) rempli son profil." +msgstr "Cet utilisateur n'a pas (encore) renseigné son profil." #: mediagoblin/templates/mediagoblin/user_pages/user.html:80 msgid "Browse collections" @@ -1583,22 +1584,22 @@ msgstr "Voir tous les médias de %(username)s" msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." -msgstr "C'est là où vos médias apparaîssent, mais vous ne semblez pas avoir encore ajouté quoi que ce soit." +msgstr "C'est ici que vos médias s'afficheront, mais vous n'avez rien ajouté pour le moment." #: mediagoblin/templates/mediagoblin/user_pages/user.html:118 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." -msgstr "Il ne semble pas y avoir de média là, pour l'instant ..." +msgstr "Il n'y a pas de média ici pour le moment..." #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 msgid "Email verification needed" -msgstr "Vérification d'email nécessaire" +msgstr "Vérification d'e-mail nécessaire" #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." -msgstr "Presque fini ! Votre compte a encore besoin d'être activé." +msgstr "Presque fini ! Votre compte a maintenant besoin d'être activé." #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:48 msgid "" @@ -1617,7 +1618,7 @@ msgstr "Renvoyer l'e-mail de vérification" msgid "" "Someone has registered an account with this username, but it still has to be" " activated." -msgstr "Quelqu'un a enregistré un compte avec ce nom, mais il doit encore être activé." +msgstr "Quelqu'un a déjà enregistré un compte avec ce nom, mais celui-ci n'a pas encore été activé." #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:68 #, python-format @@ -1628,11 +1629,11 @@ msgstr "Si c'est de vous qu'il s'agit, mais que vous avez perdu l'e-mail de vér #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "(supprimer)" +msgstr "(retirer)" #: mediagoblin/templates/mediagoblin/utils/collections.html:21 msgid "Collected in" -msgstr "" +msgstr "Dans les collections" #: mediagoblin/templates/mediagoblin/utils/collections.html:40 msgid "Add to a collection" @@ -1641,12 +1642,12 @@ msgstr "Ajouter à une collection" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" -msgstr "icone de flux" +msgstr "icône de flux" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:23 msgid "Atom feed" -msgstr "flux Atom" +msgstr "Flux Atom" #: mediagoblin/templates/mediagoblin/utils/license.html:25 msgid "All rights reserved" @@ -1654,11 +1655,11 @@ msgstr "Tous droits réservés" #: mediagoblin/templates/mediagoblin/utils/pagination.html:39 msgid "← Newer" -msgstr "← Le plus récent" +msgstr "← Plus récent" #: mediagoblin/templates/mediagoblin/utils/pagination.html:45 msgid "Older →" -msgstr "Le plus vieux →" +msgstr "Plus ancien →" #: mediagoblin/templates/mediagoblin/utils/pagination.html:48 msgid "Go to page:" @@ -1667,20 +1668,20 @@ msgstr "Aller à la page :" #: mediagoblin/templates/mediagoblin/utils/prev_next.html:28 #: mediagoblin/templates/mediagoblin/utils/prev_next.html:33 msgid "newer" -msgstr "le plus récent" +msgstr "plus récent" #: mediagoblin/templates/mediagoblin/utils/prev_next.html:39 #: mediagoblin/templates/mediagoblin/utils/prev_next.html:44 msgid "older" -msgstr "le plus vieux" +msgstr "plus ancien" #: mediagoblin/templates/mediagoblin/utils/report.html:25 msgid "Report media" -msgstr "" +msgstr "Signaler le média" #: mediagoblin/templates/mediagoblin/utils/tags.html:20 msgid "Tagged with" -msgstr "Taggé avec" +msgstr "Etiqueté avec" #: mediagoblin/tools/exif.py:83 msgid "Could not read the image file." @@ -1688,7 +1689,7 @@ msgstr "Impossible de lire l'image." #: mediagoblin/tools/response.py:38 msgid "Oops!" -msgstr "Zut !" +msgstr "Oups !" #: mediagoblin/tools/response.py:39 msgid "An error occured" @@ -1756,11 +1757,11 @@ msgstr "Vous pouvez utiliser \n" " Markdown for formatting." -msgstr "Vous pouvez utiliser\n\nMarkdown pour le formatage." +msgstr "Vous pouvez utiliser\n\nMarkdown pour la mise en page." #: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 msgid "Reason for Reporting" -msgstr "" +msgstr "Raison du signalement" #: mediagoblin/user_pages/views.py:178 msgid "Sorry, comments are disabled." @@ -1795,7 +1796,7 @@ msgstr "Oups, votre commentaire était vide." #: mediagoblin/user_pages/views.py:189 msgid "Your comment has been posted!" -msgstr "Votre commentaire a été posté !" +msgstr "Votre commentaire a été ajouté !" #: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." @@ -1808,50 +1809,50 @@ msgstr "Vous devez sélectionner ou ajouter une collection" #: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" -msgstr "\"%s\" est déjà dans la collection \"%s\"" +msgstr "“%s” est déjà dans la collection “%s”" #: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" -msgstr "\"%s\" as été ajouté à la collection \"%s\"" +msgstr "“%s” a été ajouté à la collection “%s”" #: mediagoblin/user_pages/views.py:307 msgid "You deleted the media." -msgstr "Vous avez supprimé le media." +msgstr "Vous avez supprimé le média." #: mediagoblin/user_pages/views.py:319 msgid "The media was not deleted because you didn't check that you were sure." -msgstr "Ce media n'a pas été supprimé car vous n'avez pas confirmer que vous étiez sur." +msgstr "Ce média n'a pas été supprimé car vous n'avez pas coché la case de confirmation. " #: mediagoblin/user_pages/views.py:326 msgid "You are about to delete another user's media. Proceed with caution." -msgstr "Vous êtes sur le point de supprimer des médias d'un autre utilisateur. Procédez avec prudence." +msgstr "Vous vous apprêtez à supprimer le média d'un autre utilisateur. Veuillez prendre garde." #: mediagoblin/user_pages/views.py:399 msgid "You deleted the item from the collection." -msgstr "Vous avez supprimé cet élément de la collection." +msgstr "Vous avez retiré cet élément de la collection." #: mediagoblin/user_pages/views.py:403 msgid "The item was not removed because you didn't check that you were sure." -msgstr "L'élément n'as pas été supprimé car vous n'avez pas confirmé votre certitude." +msgstr "L'élément n'a pas été retiré car vous n'avez pas coché la case de confirmation." #: mediagoblin/user_pages/views.py:411 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." -msgstr "Vous vous apprêtez à supprimer un élément de la collection d'un autre utilisateur. Procédez avec attention." +msgstr "Vous vous apprêtez à supprimer un élément de la collection d'un autre utilisateur. Veuillez prendre garde. " #: mediagoblin/user_pages/views.py:443 #, python-format msgid "You deleted the collection \"%s\"" -msgstr "Vous avez supprimé la collection \"%s\"" +msgstr "Vous avez supprimé la collection “%s”" #: mediagoblin/user_pages/views.py:450 msgid "" "The collection was not deleted because you didn't check that you were sure." -msgstr "La collection n'as pas été supprimée car vous n'avez pas confirmé votre certitude" +msgstr "La collection n'a pas été supprimée car vous n'avez pas coché la case de confirmation. " #: mediagoblin/user_pages/views.py:458 msgid "" "You are about to delete another user's collection. Proceed with caution." -msgstr "Vous vous apprêtez à supprimer la collection d'un autre utilisateur. Procédez avec attention." +msgstr "Vous vous apprêtez à supprimer la collection d'un autre utilisateur. Veuillez prendre garde." diff --git a/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..cda25d3b --- /dev/null +++ b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,1847 @@ +# Translations template for PROJECT. +# Copyright (C) 2013 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# Translators: +# Adrián Chaves Fernández , 2014 +msgid "" +msgstr "" +"Project-Id-Version: GNU MediaGoblin\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2013-12-03 13:23-0600\n" +"PO-Revision-Date: 2014-01-25 11:05+0000\n" +"Last-Translator: Adrián Chaves Fernández \n" +"Language-Team: Galician (http://www.transifex.com/projects/p/mediagoblin/language/gl/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.6\n" +"Language: gl\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +msgid "Sorry, registration is disabled on this instance." +msgstr "Neste sitio non se permite rexistrar novas contas." + +#: mediagoblin/decorators.py:315 +msgid "Sorry, reporting is disabled on this instance." +msgstr "Neste sitio non se permite denunciar." + +#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/plugins/persona/views.py:77 +msgid "Sorry, authentication is disabled on this instance." +msgstr "Neste sitio non se permite autenticarse." + +#: mediagoblin/auth/tools.py:43 +msgid "Invalid User name or email address." +msgstr "O nome de usuario ou enderezo de correo fornecidos son incorrectos." + +#: mediagoblin/auth/tools.py:44 +msgid "This field does not take email addresses." +msgstr "Non pode introducir enderezos de correo neste campo." + +#: mediagoblin/auth/tools.py:45 +msgid "This field requires an email address." +msgstr "Ten que introducir un enderezo de correo neste campo." + +#: mediagoblin/auth/tools.py:116 +msgid "Sorry, a user with that name already exists." +msgstr "Xa existe un usuario con ese nome." + +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +msgid "Sorry, a user with that email address already exists." +msgstr "Xa existe un usuario con ese enderezo de correo." + +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 +#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +msgid "The verification key or user id is incorrect." +msgstr "A chave de verificación ou o identificador do usuario son incorrectos." + +#: mediagoblin/auth/views.py:161 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "Verificouse o seu enderezo de correo. Pode acceder ao sitio, editar o seu perfil, e enviar imaxes!" + +#: mediagoblin/auth/views.py:167 +msgid "The verification key or user id is incorrect" +msgstr "A chave de verificación ou o identificador do usuario son incorrectos." + +#: mediagoblin/auth/views.py:185 +msgid "You must be logged in so we know who to send the email to!" +msgstr "Primeiro debe acceder ao sitio para que saibamos a quen enviarlle o correo!" + +#: mediagoblin/auth/views.py:193 +msgid "You've already verified your email address!" +msgstr "Xa verificamos o seu enderezo de correo!" + +#: mediagoblin/auth/views.py:203 +msgid "Resent your verification email." +msgstr "Volver enviar o correo de verificación." + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 +#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/user_pages/forms.py:45 +msgid "Title" +msgstr "Título" + +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +msgid "Description of this work" +msgstr "Descrición da obra" + +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "Pode usar\n \n Markdown para dar formato." + +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +msgid "Tags" +msgstr "Etiquetas" + +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +msgid "Separate tags by commas." +msgstr "Separe as etiquetas mediante comas («,»)." + +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +msgid "Slug" +msgstr "Código" + +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +msgid "The slug can't be empty" +msgstr "O código non pode quedar baleiro." + +#: mediagoblin/edit/forms.py:42 +msgid "" +"The title part of this media's address. You usually don't need to change " +"this." +msgstr "A parte do título no enderezo a esta obra. Normalmente non necesita modificalo." + +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/templates/mediagoblin/utils/license.html:20 +msgid "License" +msgstr "Licenza" + +#: mediagoblin/edit/forms.py:52 +msgid "Bio" +msgstr "Biografía" + +#: mediagoblin/edit/forms.py:58 +msgid "Website" +msgstr "Sitio web" + +#: mediagoblin/edit/forms.py:60 +msgid "This address contains errors" +msgstr "O enderezo contén erros." + +#: mediagoblin/edit/forms.py:65 +msgid "Email me when others comment on my media" +msgstr "Recibir unha notificación por correo cando alguén comente a miña obra." + +#: mediagoblin/edit/forms.py:67 +msgid "Enable insite notifications about events." +msgstr "Activar as notificacións no sitio web sobre acontecementos." + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Preferencias de licenza" + +#: mediagoblin/edit/forms.py:75 +msgid "This will be your default license on upload forms." +msgstr "Esta será a súa licenza predeterminada nos formularios de envío de obras." + +#: mediagoblin/edit/forms.py:88 +msgid "The title can't be empty" +msgstr "O título non pode quedar baleiro." + +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/user_pages/forms.py:48 +msgid "Description of this collection" +msgstr "Descrición da colección" + +#: mediagoblin/edit/forms.py:97 +msgid "" +"The title part of this collection's address. You usually don't need to " +"change this." +msgstr "A parte do título no enderezo a esta colección. Normalmente non necesita modificalo." + +#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +msgid "Old password" +msgstr "Contrasinal vello" + +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +msgid "Enter your old password to prove you own this account." +msgstr "Introduza o contrasinal vello para demostrar que é o dono desta conta." + +#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +msgid "New password" +msgstr "Novo contrasinal" + +#: mediagoblin/edit/forms.py:117 +msgid "New email address" +msgstr "Novo enderezo de correo" + +#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/plugins/ldap/forms.py:39 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Contrasinal" + +#: mediagoblin/edit/forms.py:123 +msgid "Enter your password to prove you own this account." +msgstr "Introduza o contrasinal para demostrar que é o dono desta conta." + +#: mediagoblin/edit/views.py:73 +msgid "An entry with that slug already exists for this user." +msgstr "O seu usuario xa ten unha obra con ese código." + +#: mediagoblin/edit/views.py:91 +msgid "You are editing another user's media. Proceed with caution." +msgstr "Está a editar unha obra doutro usuario. Teña coidado." + +#: mediagoblin/edit/views.py:161 +#, python-format +msgid "You added the attachment %s!" +msgstr "Anexou %s!" + +#: mediagoblin/edit/views.py:188 +msgid "You can only edit your own profile." +msgstr "Só pode editar o seu propio perfil." + +#: mediagoblin/edit/views.py:194 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "Está a editar o perfil doutro usuario Teña coidado." + +#: mediagoblin/edit/views.py:210 +msgid "Profile changes saved" +msgstr "Gardáronse os cambios no perfil." + +#: mediagoblin/edit/views.py:243 +msgid "Account settings saved" +msgstr "Gardouse a configuración da conta." + +#: mediagoblin/edit/views.py:277 +msgid "You need to confirm the deletion of your account." +msgstr "Debe confirmar a eliminación da súa conta." + +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:242 +#, python-format +msgid "You already have a collection called \"%s\"!" +msgstr "Xa ten unha colección chamada «%s»!" + +#: mediagoblin/edit/views.py:317 +msgid "A collection with that slug already exists for this user." +msgstr "O seu usuario xa ten unha colección con ese código." + +#: mediagoblin/edit/views.py:332 +msgid "You are editing another user's collection. Proceed with caution." +msgstr "Está a editar unha colección doutro usuario Teña coidado." + +#: mediagoblin/edit/views.py:373 +msgid "Your email address has been verified." +msgstr "Verificouse o seu enderezo de correo." + +#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +msgid "Wrong password" +msgstr "O contrasinal é incorrecto." + +#: mediagoblin/gmg_commands/assetlink.py:60 +msgid "Cannot link theme... no theme set\n" +msgstr "Non é posíbel ligar co tema, non se definiu ningún tema.\n" + +#: mediagoblin/gmg_commands/assetlink.py:73 +msgid "No asset directory for this theme\n" +msgstr "Falta o directorio de recursos, «asset», deste tema.\n" + +#: mediagoblin/gmg_commands/assetlink.py:76 +msgid "However, old link directory symlink found; removed.\n" +msgstr "Porén, atopouse unha ligazón simbólica ao directorio vello de ligazóns, e eliminouse.\n" + +#: mediagoblin/gmg_commands/assetlink.py:112 +#, python-format +msgid "Could not link \"%s\": %s exists and is not a symlink\n" +msgstr "Non foi posíbel ligar «%s»: %s xa existe e non é unha ligazóns simbólica.\n" + +#: mediagoblin/gmg_commands/assetlink.py:119 +#, python-format +msgid "Skipping \"%s\"; already set up.\n" +msgstr "Saltándose «%s», xa está configurada.\n" + +#: mediagoblin/gmg_commands/assetlink.py:124 +#, python-format +msgid "Old link found for \"%s\"; removing.\n" +msgstr "Atopouse unha ligazón vella para «%s», e eliminouse.\n" + +#: mediagoblin/meddleware/csrf.py:134 +msgid "" +"CSRF cookie not present. This is most likely the result of a cookie blocker " +"or somesuch.
Make sure to permit the settings of cookies for this " +"domain." +msgstr "Falta a cookie «CSRF». A causa máis probábel do problema é un bloqueador de cookies ou algo similar.
Asegúrese de permitir definir cookies a este sitio web." + +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 +msgid "Sorry, I don't support that file type :(" +msgstr "Ese tipo de ficheiro non é compatíbel." + +#: mediagoblin/media_types/pdf/processing.py:142 +msgid "unoconv failing to run, check log file" +msgstr "Non puido executarse «unoconv», comprobe o rexistro." + +#: mediagoblin/media_types/video/processing.py:44 +msgid "Video transcoding failed" +msgstr "Fallou a transcodificación do vídeo." + +#: mediagoblin/moderation/forms.py:21 +msgid "Take away privilege" +msgstr "Retirar un privilexio" + +#: mediagoblin/moderation/forms.py:22 +msgid "Ban the user" +msgstr "Prohibir o acceso" + +#: mediagoblin/moderation/forms.py:23 +msgid "Send the user a message" +msgstr "Enviar unha mensaxe" + +#: mediagoblin/moderation/forms.py:24 +msgid "Delete the content" +msgstr "Eliminar o contido" + +#: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 +msgid "User will be banned until:" +msgstr "O usuario terá prohibido o acceso ata:" + +#: mediagoblin/moderation/forms.py:57 +msgid "Why are you banning this User?" +msgstr "Por que lle vai prohibir o acceso a este usuario?" + +#: mediagoblin/moderation/forms.py:109 +msgid "What action will you take to resolve the report?" +msgstr "Que vai facer para resolver a denuncia?" + +#: mediagoblin/moderation/forms.py:115 +msgid "What privileges will you take away?" +msgstr "Que privilexios vai retirarlle?" + +#: mediagoblin/moderation/tools.py:91 +msgid "Warning from" +msgstr "Aviso de" + +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 +msgid "commented on your post" +msgstr "comentou na súa publicación." + +#: mediagoblin/notifications/views.py:35 +#, python-format +msgid "Subscribed to comments on %s!" +msgstr "Subscrito aos comentarios de %s!" + +#: mediagoblin/notifications/views.py:48 +#, python-format +msgid "You will not receive notifications for comments on %s." +msgstr "Non recibirá notificacións sobre comentarios de %s." + +#: mediagoblin/oauth/views.py:239 +msgid "Must provide an oauth_token." +msgstr "Debe fornecer un «auth_token»." + +#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +msgid "No request token found." +msgstr "Non se atopou o código da solicitude." + +#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/submit/views.py:78 +msgid "Sorry, the file size is too big." +msgstr "O ficheiro é grande de máis." + +#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/submit/views.py:81 +msgid "Sorry, uploading this file will put you over your upload limit." +msgstr "O tamaño do ficheiro é superior ao que resta do seu límite de envío." + +#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/submit/views.py:87 +msgid "Sorry, you have reached your upload limit." +msgstr "Chegou ao seu límite de envío." + +#: mediagoblin/plugins/basic_auth/forms.py:24 +#: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:76 +msgid "Username" +msgstr "Nome de usuario" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/ldap/forms.py:28 mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Enderezo de correo" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Nome de usuario ou enderezo de correo" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "Non pechar a sesión." + +#: mediagoblin/plugins/basic_auth/forms.py:51 +msgid "Username or email" +msgstr "Nome de usuario ou enderezo de correo" + +#: mediagoblin/plugins/basic_auth/views.py:54 +msgid "" +"If that email address (case sensitive!) is registered an email has been sent" +" with instructions on how to change your password." +msgstr "Se o enderezo de correo está rexistrado (ollo coas maiúsculas e as minúsculas), recibirá unha mensaxe con instrucións para cambiar o contrasinal." + +#: mediagoblin/plugins/basic_auth/views.py:65 +msgid "Couldn't find someone with that username." +msgstr "Non se atopou ningún usuario con ese nome." + +#: mediagoblin/plugins/basic_auth/views.py:68 +msgid "" +"An email has been sent with instructions on how to change your password." +msgstr "Recibirá unha mensaxe con instrucións para cambiar o contrasinal." + +#: mediagoblin/plugins/basic_auth/views.py:75 +msgid "" +"Could not send password recovery email as your username is inactive or your " +"account's email address has not been verified." +msgstr "Non foi posíbel enviar o correo de recuperación do contrasinal porque o seu nome de usuario está inactivo ou non verificou o enderezo de correo da súa conta." + +#: mediagoblin/plugins/basic_auth/views.py:123 +msgid "The user id is incorrect." +msgstr "O identificador do usuario é incorrecto." + +#: mediagoblin/plugins/basic_auth/views.py:139 +msgid "You can now log in using your new password." +msgstr "Xa pode acceder co seu novo contrasinal." + +#: mediagoblin/plugins/basic_auth/views.py:163 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your account." +msgstr "O seu usuario xa non está activo. Contacte co administrador do sistema para reactivar a súa conta." + +#: mediagoblin/plugins/basic_auth/views.py:215 +msgid "Your password was changed successfully" +msgstr "O seu contrasinal cambiouse correctamente." + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 +msgid "Set your new password" +msgstr "Establecer o seu novo contrasinal" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 +msgid "Set password" +msgstr "Establecer o contrasinal" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 +#, python-format +msgid "Changing %(username)s's password" +msgstr "Cambiando o contrasinal de %(username)s" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:40 +msgid "Save" +msgstr "Gardar" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 +msgid "Don't have an account yet?" +msgstr "Aínda non ten conta?" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:24 +msgid "Create one here!" +msgstr "Cree unha!" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 +msgid "Change your password." +msgstr "Cambiar o contrasinal." + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 +msgid "Recover password" +msgstr "Recuperar o contrasinal" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:34 +msgid "Send instructions" +msgstr "Enviar instrucións" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html:22 +msgid "Forgot your password?" +msgstr "Esqueceu o contrasinal?" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 +msgid "Location" +msgstr "Lugar" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:52 +#, python-format +msgid "View on OpenStreetMap" +msgstr "Ver en OpenStreetMap" + +#: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 +msgid "Sign in to create an account!" +msgstr "Acceda para crear unha conta!" + +#: mediagoblin/plugins/oauth/forms.py:29 +msgid "Allow" +msgstr "Permitir" + +#: mediagoblin/plugins/oauth/forms.py:30 +msgid "Deny" +msgstr "Denegar" + +#: mediagoblin/plugins/oauth/forms.py:34 +msgid "Name" +msgstr "Nome" + +#: mediagoblin/plugins/oauth/forms.py:35 +msgid "The name of the OAuth client" +msgstr "Nome do cliente de OAuth." + +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Descrición" + +#: mediagoblin/plugins/oauth/forms.py:38 +msgid "" +"This will be visible to users allowing your\n" +" application to authenticate as them." +msgstr "Os usuarios que permitan ao seu programa autenticarse coma eles poderán ver isto." + +#: mediagoblin/plugins/oauth/forms.py:40 +msgid "Type" +msgstr "Tipo" + +#: mediagoblin/plugins/oauth/forms.py:45 +msgid "" +"Confidential - The client can\n" +" make requests to the GNU MediaGoblin instance that can not be\n" +" intercepted by the user agent (e.g. server-side client).
\n" +" Public - The client can't make confidential\n" +" requests to the GNU MediaGoblin instance (e.g. client-side\n" +" JavaScript client)." +msgstr "Confidencial: O cliente pode realizar solicitudes á instancia de GNU MediaGoblin que non poderán ser interceptadas polo «axente do usuario» (por exemplo, o cliente do lado do servidor).
Público: O cliente non pode realizar solicitudes confidenciais á instancia de GNU MediaGoblin (por exemplo, o cliente en JavaScript do lado do cliente)." + +#: mediagoblin/plugins/oauth/forms.py:52 +msgid "Redirect URI" +msgstr "URI de redirección" + +#: mediagoblin/plugins/oauth/forms.py:54 +msgid "" +"The redirect URI for the applications, this field\n" +" is required for public clients." +msgstr "O URI de redirección para os programas, este campo é obrigatorio para todos os clientes públicos." + +#: mediagoblin/plugins/oauth/forms.py:66 +msgid "This field is required for public clients" +msgstr "O campo é obrigatorio para os clientes públicos." + +#: mediagoblin/plugins/oauth/views.py:55 +msgid "The client {0} has been registered!" +msgstr "Rexistrouse o cliente {0}!" + +#: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 +msgid "OAuth client connections" +msgstr "Conexións de clientes de OAuth" + +#: mediagoblin/plugins/oauth/templates/oauth/client/list.html:22 +msgid "Your OAuth clients" +msgstr "Clientes de OAuth seus" + +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Engadir" + +#: mediagoblin/plugins/openid/__init__.py:97 +#: mediagoblin/plugins/openid/views.py:268 +#: mediagoblin/plugins/openid/views.py:297 +msgid "Sorry, an account is already registered to that OpenID." +msgstr "Xa hai unha conta rexistrada con ese OpenID." + +#: mediagoblin/plugins/openid/forms.py:38 +msgid "OpenID" +msgstr "OpenID" + +#: mediagoblin/plugins/openid/views.py:48 +msgid "Sorry, the OpenID server could not be found" +msgstr "Non se atopou o servidor de OpenID." + +#: mediagoblin/plugins/openid/views.py:61 +#, python-format +msgid "No OpenID service was found for %s" +msgstr "Non se atopou ningún servizo de OpenID para %s." + +#: mediagoblin/plugins/openid/views.py:106 +#, python-format +msgid "Verification of %s failed: %s" +msgstr "Non foi posíbel verificar %s: %s" + +#: mediagoblin/plugins/openid/views.py:117 +msgid "Verification cancelled" +msgstr "Cancelouse a verificación." + +#: mediagoblin/plugins/openid/views.py:314 +msgid "Your OpenID url was saved successfully." +msgstr "O seu URL de OpenID gardouse correctamente." + +#: mediagoblin/plugins/openid/views.py:338 +#: mediagoblin/plugins/openid/views.py:393 +msgid "You can't delete your only OpenID URL unless you have a password set" +msgstr "Non pode eliminar o seu único URL de OpenID salvo que estableza previamente un contrasinal." + +#: mediagoblin/plugins/openid/views.py:343 +#: mediagoblin/plugins/openid/views.py:402 +msgid "That OpenID is not registered to this account." +msgstr "Ese OpenID non está rexistrado con esta conta." + +#: mediagoblin/plugins/openid/views.py:385 +msgid "OpenID was successfully removed." +msgstr "O OpenID eliminouse correctamente." + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:34 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:23 +msgid "Add an OpenID" +msgstr "Engadir un OpenID" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:34 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:31 +msgid "Delete an OpenID" +msgstr "Eliminar un OpenID" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 +msgid "Delete" +msgstr "Eliminar" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 +msgid "OpenID's" +msgstr "OpenIDs" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 +#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:47 +msgid "Log in" +msgstr "Acceder" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Fallou o acceso!" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 +msgid "Log in to create an account!" +msgstr "Acceda para crear unha conta!" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 +msgid "Or login with a password!" +msgstr "Ou acceda cun contrasinal!" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 +msgid "Or login with OpenID!" +msgstr "Ou acceda con OpenID!" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 +msgid "Or register with OpenID!" +msgstr "Ou rexístrese con OpenID!" + +#: mediagoblin/plugins/persona/__init__.py:90 +msgid "Sorry, an account is already registered to that Persona email." +msgstr "Xa hai unha conta rexistrada con ese enderezo de correo de Persona." + +#: mediagoblin/plugins/persona/views.py:138 +msgid "The Persona email address was successfully removed." +msgstr "O enderezo de correo da Persona eliminouse correctamente." + +#: mediagoblin/plugins/persona/views.py:144 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "Non pode eliminar o seu único enderezo de correo de Persona salvo que estableza previamente un contrasinal." + +#: mediagoblin/plugins/persona/views.py:149 +msgid "That Persona email address is not registered to this account." +msgstr "O enderezo de correo de Persona non está rexistrado para esta conta." + +#: mediagoblin/plugins/persona/views.py:176 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "Xa hai unha conta rexistrada con ese enderezo de correo de Persona." + +#: mediagoblin/plugins/persona/views.py:192 +msgid "Your Persona email address was saved successfully." +msgstr "O enderezo de correo da Persona gardouse correctamente." + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 +msgid "Delete a Persona email address" +msgstr "Eliminar un enderezo de correo de Persona" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 +msgid "Add a Persona email address" +msgstr "Engadir un enderezo de correo de Persona" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 +msgid "Persona's" +msgstr "Personas" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 +msgid "Or login with Persona!" +msgstr "Ou acceda con Persona!" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 +msgid "Or register with Persona!" +msgstr "Ou rexístrese con Persona!" + +#: mediagoblin/processing/__init__.py:420 +msgid "Invalid file given for media type." +msgstr "O ficheiro non se corresponde co tipo de contido." + +#: mediagoblin/processing/__init__.py:427 +msgid "Copying to public storage failed." +msgstr "Non foi posíbel copiar no almacenamento público." + +#: mediagoblin/processing/__init__.py:435 +msgid "An acceptable processing file was not found" +msgstr "Non se atopou un ficheiro de procesamento aceptábel." + +#: mediagoblin/submit/forms.py:30 +msgid "Max file size: {0} mb" +msgstr "Tamaño máximo: {0} MiB" + +#: mediagoblin/submit/forms.py:34 +msgid "File" +msgstr "Ficheiro" + +#: mediagoblin/submit/forms.py:41 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "Pode usar\n \n Markdown para dar formato." + +#: mediagoblin/submit/views.py:55 +msgid "You must provide a file." +msgstr "Debe fornecer un ficheiro." + +#: mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Si! Enviado!" + +#: mediagoblin/submit/views.py:138 +#, python-format +msgid "Collection \"%s\" added!" +msgstr "Engadiuse a colección «%s»!" + +#: mediagoblin/templates/mediagoblin/banned.html:20 +msgid "You are Banned." +msgstr "Ten prohibido o acceso." + +#: mediagoblin/templates/mediagoblin/banned.html:24 +#: mediagoblin/templates/mediagoblin/error.html:24 +msgid "Image of goblin stressing out" +msgstr "Imaxe de trasno tenso." + +#: mediagoblin/templates/mediagoblin/banned.html:26 +msgid "You have been banned" +msgstr "Ten prohibido o acceso" + +#: mediagoblin/templates/mediagoblin/banned.html:28 +#, python-format +msgid "until %(until_when)s" +msgstr "ata %(until_when)s" + +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "de maneira indefinida" + +#: mediagoblin/templates/mediagoblin/base.html:81 +msgid "Verify your email!" +msgstr "Verifique o seu enderezo de correo!" + +#: mediagoblin/templates/mediagoblin/base.html:88 +#: mediagoblin/templates/mediagoblin/base.html:96 +msgid "log out" +msgstr "Saír" + +#: mediagoblin/templates/mediagoblin/base.html:115 +#, python-format +msgid "%(user_name)s's account" +msgstr "Conta de %(user_name)s" + +#: mediagoblin/templates/mediagoblin/base.html:122 +msgid "Change account settings" +msgstr "Cambiar a configuración da conta" + +#: mediagoblin/templates/mediagoblin/base.html:126 +#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26 +msgid "Media processing panel" +msgstr "Panel de procesamento de contidos" + +#: mediagoblin/templates/mediagoblin/base.html:135 +msgid "Log out" +msgstr "Saír" + +#: mediagoblin/templates/mediagoblin/base.html:138 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +msgid "Add media" +msgstr "Engadir contidos" + +#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 +msgid "Create new collection" +msgstr "Crear unha colección nova" + +#: mediagoblin/templates/mediagoblin/base.html:151 +msgid "User management panel" +msgstr "Panel de xestión de usuarios" + +#: mediagoblin/templates/mediagoblin/base.html:155 +msgid "Report management panel" +msgstr "Panel de xestión de denuncias" + +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Últimos contidos" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:21 +msgid "Authorization" +msgstr "Autorización" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:26 +#: mediagoblin/templates/mediagoblin/api/authorize.html:53 +msgid "Authorize" +msgstr "Autorizar " + +#: mediagoblin/templates/mediagoblin/api/authorize.html:29 +msgid "You are logged in as" +msgstr "Accedeu como" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:33 +msgid "Do you want to authorize " +msgstr "Quere autorizar " + +#: mediagoblin/templates/mediagoblin/api/authorize.html:37 +msgid "an unknown application" +msgstr "un programa descoñecido" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:39 +msgid " to access your account? " +msgstr " a acceder á súa conta? " + +#: mediagoblin/templates/mediagoblin/api/authorize.html:41 +msgid "Applications with access to your account can: " +msgstr "Os programas con acceso á súa conta poden: " + +#: mediagoblin/templates/mediagoblin/api/authorize.html:43 +msgid "Post new media as you" +msgstr "Publicar novos contidos da súa parte." + +#: mediagoblin/templates/mediagoblin/api/authorize.html:44 +msgid "See your information (e.g profile, media, etc...)" +msgstr "Acceder á súa información (perfil, contidos, etc.)." + +#: mediagoblin/templates/mediagoblin/api/authorize.html:45 +msgid "Change your information" +msgstr "Cambiar a súa información." + +#: mediagoblin/templates/mediagoblin/api/oob.html:21 +msgid "Authorization Finished" +msgstr "Rematouse a autorización" + +#: mediagoblin/templates/mediagoblin/api/oob.html:26 +msgid "Authorization Complete" +msgstr "Completouse a autorización" + +#: mediagoblin/templates/mediagoblin/api/oob.html:28 +msgid "Copy and paste this into your client:" +msgstr "Copie isto e pégueo no seu cliente:" + +#: mediagoblin/templates/mediagoblin/auth/register.html:28 +#: mediagoblin/templates/mediagoblin/auth/register.html:36 +msgid "Create an account!" +msgstr "Crear unha conta!" + +#: mediagoblin/templates/mediagoblin/auth/register.html:41 +msgid "Create" +msgstr "Crear" + +#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to activate your GNU MediaGoblin account, open the following URL in\n" +"your web browser:\n" +"\n" +"%(verification_url)s" +msgstr "Ola, %(username)s.\n\nPara activar a súa conta de GNU MediaGoblin, abra a seguinte ligazón no seu navegador web:\n\n%(verification_url)s" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:21 +#, python-format +msgid "" +"Powered by MediaGoblin, a GNU project." +msgstr "Construído con MediaGoblin, un proxecto de GNU." + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:24 +#, python-format +msgid "" +"Released under the AGPL. Source code available." +msgstr "Publicado coa licenza AGPL. O código fonte está dispoñíbel." + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:30 +msgid "Terms of Service" +msgstr "Condicións de uso" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:20 +msgid "Explore" +msgstr "Explorar" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +msgid "Hi there, welcome to this MediaGoblin site!" +msgstr "Ola, benvido a este sitio MediaGoblin!" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +msgid "" +"This site is running MediaGoblin, an " +"extraordinarily great piece of media hosting software." +msgstr "O sitio está construído con MediaGoblin, unha marabilla de software de aloxamento de contidos." + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +msgid "" +"To add your own media, place comments, and more, you can log in with your " +"MediaGoblin account." +msgstr "Para engadir contidos seus, comentar e máis cousas, acceda empregando unha conta de MediaGoblin." + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +msgid "Don't have one yet? It's easy!" +msgstr "Aínda non ten? Non hai problema!" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +msgid "" +"\n" +" >Create an account at this site\n" +" or" +msgstr "\n >Cree unha conta neste sitio\n ou" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +msgid "" +"\n" +" Set up MediaGoblin on your own server" +msgstr "\n monte MediaGoblin no seu propio servidor" + +#: mediagoblin/templates/mediagoblin/bits/logo.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 +msgid "MediaGoblin logo" +msgstr "Logo de MediaGoblin" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:23 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:35 +#, python-format +msgid "Editing attachments for %(media_title)s" +msgstr "Editando os anexos de %(media_title)s" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +msgid "Attachments" +msgstr "Anexos" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +msgid "Add attachment" +msgstr "Engadir un anexo" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Cancelar" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:63 +#: mediagoblin/templates/mediagoblin/edit/edit.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 +msgid "Save changes" +msgstr "Gardar os cambios" + +#: mediagoblin/templates/mediagoblin/edit/change_email.html:23 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:33 +#, python-format +msgid "Changing %(username)s's email" +msgstr "Cambiando o enderezo de correo de %(username)s" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 +#, python-format +msgid "Really delete user '%(user_name)s' and all related media/comments?" +msgstr "Está seguro de que quere eliminar o usuario «%(user_name)s» e todos os seus contidos e comentarios?" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 +msgid "Yes, really delete my account" +msgstr "Eliminar a miña conta" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Eliminar permanentemente" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit.html:35 +#, python-format +msgid "Editing %(media_title)s" +msgstr "Editando %(media_title)s" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:40 +#, python-format +msgid "Changing %(username)s's account settings" +msgstr "Cambiando a configuración da conta de %(username)s" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:54 +msgid "Delete my account" +msgstr "Eliminar a miña conta" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 +msgid "Email" +msgstr "Correo electrónico" + +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 +#, python-format +msgid "Editing %(collection_title)s" +msgstr "Editando %(collection_title)s" + +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:34 +#, python-format +msgid "Editing %(username)s's profile" +msgstr "Editando o perfil de %(username)s" + +#: mediagoblin/templates/mediagoblin/edit/verification.txt:19 +#, python-format +msgid "" +"Hi,\n" +"\n" +"We wanted to verify that you are %(username)s. If this is the case, then \n" +"please follow the link below to verify your new email address.\n" +"\n" +"%(verification_url)s\n" +"\n" +"If you are not %(username)s or didn't request an email change, you can ignore\n" +"this email." +msgstr "Ola.\n\nQueremos verificar que vostede é efectivamente %(username)s. De ser o caso, abra a seguinte ligazón nun navegador web para verificar o seu novo enderezo de correo.\n\n%(verification_url)s\n\nSe non é %(username)s ou non solicitou un cambio de enderezo de correo, simplemente ignore esta mensaxe." + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 +msgid "New comments" +msgstr "Comentarios novos" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 +#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 +#: mediagoblin/templates/mediagoblin/moderation/report.html:55 +#: mediagoblin/templates/mediagoblin/moderation/report.html:117 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/user_pages/report.html:48 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "Hai %(formatted_time)s" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 +msgid "Mark all read" +msgstr "Marcalo todo como lido" + +#: mediagoblin/templates/mediagoblin/listings/collection.html:30 +#: mediagoblin/templates/mediagoblin/listings/collection.html:35 +#: mediagoblin/templates/mediagoblin/listings/tag.html:30 +#: mediagoblin/templates/mediagoblin/listings/tag.html:35 +#, python-format +msgid "Media tagged with: %(tag_name)s" +msgstr "Contido etiquetado con: %(tag_name)s" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:74 +msgid "Download" +msgstr "Descargar" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 +msgid "Original" +msgstr "Orixinal" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:44 +msgid "" +"Sorry, this audio will not work because \n" +"\tyour web browser does not support HTML5 \n" +"\taudio." +msgstr "Este son non vai funcionar porque o seu navegador web non é compatíbel coa funcionalidade de son de HTML5." + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 +msgid "" +"You can get a modern web browser that \n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "Pode obter un navegador web moderno capaz de reproducir o son en \n\t http://getfirefox.com!" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:80 +msgid "Original file" +msgstr "Ficheiro orixinal" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 +msgid "WebM file (Vorbis codec)" +msgstr "Ficheiro WebM (códec Vorbis)" + +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +msgid "Created" +msgstr "Creado" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#, python-format +msgid "Image for %(media_title)s" +msgstr "Imaxe de %(media_title)s" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 +msgid "PDF file" +msgstr "Ficheiro PDF" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +msgid "Perspective" +msgstr "Perspectiva" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +msgid "Front" +msgstr "Frontal" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +msgid "Top" +msgstr "Superior" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +msgid "Side" +msgstr "Lateral" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +msgid "WebGL" +msgstr "WebGL" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +msgid "Download model" +msgstr "Descargar o modelo" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +msgid "File Format" +msgstr "Formato do ficheiro" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +msgid "Object Height" +msgstr "Altura do obxecto" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:63 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "Este vídeo non vai funcionar porque o seu navegador web non é compatíbel coa funcionalidade de vídeo de HTML5." + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:66 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "Pode obter un navegador web moderno capaz de reproducir o vídeo en \n\t http://getfirefox.com!" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:88 +msgid "WebM file (VP8/Vorbis)" +msgstr "Ficheiro WebM (códec VP8/Vorbis)" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 +msgid "" +"Here you can track the state of media being processed on this instance." +msgstr "Aquí pode comprobar o estado de contidos que se están a procesar neste sitio web." + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:33 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 +msgid "Media in-processing" +msgstr "Contido procesándose" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 +msgid "No media in-processing" +msgstr "Non hai contidos procesándose" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 +msgid "These uploads failed to process:" +msgstr "Non foi posíbel procesar os seguintes envíos:" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 +msgid "No failed entries!" +msgstr "Non houbo erros!" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:93 +msgid "Last 10 successful uploads" +msgstr "Últimos 10 envíos sen erros" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 +msgid "No processed entries, yet!" +msgstr "Aínda non hai entradas de procesamento!" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:27 +msgid "Sorry, no such report found." +msgstr "Non se atopou a denuncia." + +#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +msgid "Return to Reports Panel" +msgstr "Volver ao panel de denuncias" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +msgid "Report" +msgstr "Denuncia" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +msgid "Reported comment" +msgstr "Comentario denunciado" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#, python-format +msgid "" +"\n" +" ❖ Reported media by %(user_name)s\n" +" " +msgstr "\n ❖ Contido denunciado por %(user_name)s\n " + +#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#, python-format +msgid "" +"\n" +" CONTENT BY\n" +" %(user_name)s\n" +" HAS BEEN DELETED\n" +" " +msgstr "\n ELIMINOUSE\n O CONTIDO DE\n %(user_name)s " + +#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +msgid "Resolve" +msgstr "Resolver" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:134 +#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +msgid "Resolve This Report" +msgstr "Resolver esta denuncia" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +msgid "Status" +msgstr "Estado" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +msgid "RESOLVED" +msgstr "RESOLTA" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +msgid "You cannot take action against an administrator" +msgstr "Non pode emprender accións contra un administrador." + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 +msgid "Report panel" +msgstr "Panel de denuncias" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 +msgid "" +"\n" +" Here you can look up open reports that have been filed by users.\n" +" " +msgstr "\n Aquí pode buscar denuncias sen resolver abertas polos usuarios.\n " + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:35 +msgid "Active Reports Filed" +msgstr "Denuncias activas abertas" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +msgid "Offender" +msgstr "Denunciado" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 +msgid "When Reported" +msgstr "Data da denuncia" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +msgid "Reported By" +msgstr "Denunciante" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +msgid "Reason" +msgstr "Motivo" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#, python-format +msgid "" +"\n" +" Comment Report #%(report_id)s\n" +" " +msgstr "\n Denuncia de comentario #%(report_id)s\n " + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#, python-format +msgid "" +"\n" +" Media Report #%(report_id)s\n" +" " +msgstr "\n Denuncia de contido #%(report_id)s\n " + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +msgid "No open reports found." +msgstr "Non se atoparon denuncias sen resolver." + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +msgid "Closed Reports" +msgstr "Denuncias pechadas" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +msgid "Resolved" +msgstr "Resolta" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +msgid "Action Taken" +msgstr "Medida adoptada" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#, python-format +msgid "" +"\n" +" Closed Report #%(report_id)s\n" +" " +msgstr "\n Denuncia pechada #%(report_id)s\n " + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +msgid "No closed reports found." +msgstr "Non se atoparon denuncias pechadas." + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 +msgid "User panel" +msgstr "Panel de usuarios" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:29 +msgid "" +"\n" +" Here you can look up users in order to take punitive actions on them.\n" +" " +msgstr "\n Aquí pode buscar usuarios para tomar medidas de castigo contra eles.\n " + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 +msgid "Active Users" +msgstr "Usuarios activos" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "Identificador" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 +msgid "When Joined" +msgstr "Data de creación" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 +msgid "# of Comments Posted" +msgstr "Comentarios publicados" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 +msgid "No users found." +msgstr "Non se atoparon usuarios." + +#: mediagoblin/templates/mediagoblin/submit/collection.html:26 +msgid "Add a collection" +msgstr "Engadir unha colección" + +#: mediagoblin/templates/mediagoblin/submit/start.html:28 +#: mediagoblin/templates/mediagoblin/submit/start.html:35 +msgid "Add your media" +msgstr "Engada contidos seus" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 +#, python-format +msgid "%(collection_title)s (%(username)s's collection)" +msgstr "%(collection_title)s (colección de %(username)s)" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 +#, python-format +msgid "%(collection_title)s by %(username)s" +msgstr "%(collection_title)s, de %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 +msgid "Edit" +msgstr "Editar" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Está seguro de que quere eliminar %(title)s?" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#, python-format +msgid "Really remove %(media_title)s from %(collection_title)s?" +msgstr "Está seguro de que quere retirar %(media_title)s de %(collection_title)s?" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +msgid "Remove" +msgstr "Retirar" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 +#, python-format +msgid "%(username)s's collections" +msgstr "Coleccións de %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:28 +#, python-format +msgid "%(username)s's collections" +msgstr "Coleccións de %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n" +msgstr "Ola, %(username)s.\n%(comment_author)s deixou un comentario na súa publicación (%(comment_url)s) en %(instance_name)s.\n" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 +#, python-format +msgid "%(username)s's media" +msgstr "Contidos de %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:38 +#, python-format +msgid "" +"%(username)s's media with tag %(tag)s" +msgstr "Contidos de %(username)s etiquetado con %(tag)s" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#, python-format +msgid "%(username)s's media" +msgstr "Contidos de %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:38 +#, python-format +msgid "❖ Browsing media by %(username)s" +msgstr "❖ Explorando os contidos de %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 +msgid "Add a comment" +msgstr "Engadir un comentario" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 +msgid "Add this comment" +msgstr "Engadir o comentario" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "Vista previa" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 +msgid "Added" +msgstr "Engadido" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 +#, python-format +msgid "Add “%(media_title)s” to a collection" +msgstr "Engadir «%(media_title)s» a unha colección" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 +msgid "+" +msgstr "+" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:58 +msgid "Add a new collection" +msgstr "Engadir unha colección nova" + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 +msgid "" +"You can track the state of media being processed for your gallery here." +msgstr "Aquí pode comprobar o estado de contidos que se están a procesar para a súa galería." + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 +msgid "Your last 10 successful uploads" +msgstr "Últimos 10 envíos seus sen erros" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:21 +msgid "

File a Report

" +msgstr "

Poña unha denuncia

" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:24 +msgid "Reporting this Comment" +msgstr "Denunciando o comentario" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:60 +msgid "Reporting this Media Entry" +msgstr "Denunciando o contido" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:72 +#, python-format +msgid "" +"\n" +" ❖ Published by %(username)s\n" +" " +msgstr "\n ❖ Publicado por %(username)s\n " + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:81 +msgid "File Report " +msgstr "Poñer a denuncia " + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Perfil de %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +msgid "Here's a spot to tell others about yourself." +msgstr "Aquí pode falarlle aos demais de vostede." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 +msgid "Edit profile" +msgstr "Editar o perfil" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Este usuario aínda non completou o seu perfil." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 +msgid "Browse collections" +msgstr "Explorar as coleccións" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#, python-format +msgid "View all of %(username)s's media" +msgstr "Ver os contidos de %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +msgid "" +"This is where your media will appear, but you don't seem to have added " +"anything yet." +msgstr "Aquí aparecerán os seus contidos, pero parece que aínda non engadiu ningún." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 +#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 +msgid "There doesn't seem to be any media here yet..." +msgstr "Parece que aínda non hai ningún contido aquí…" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Ten que verificar o seu enderezo de correo" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 +msgid "Almost done! Your account still needs to be activated." +msgstr "Xa case está! Só lle falta activar a súa conta." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:48 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "Debería chegarlle un correo en cuestión de segundos con instrucións." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:52 +msgid "In case it doesn't:" +msgstr "Se non lle chega:" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:55 +msgid "Resend verification email" +msgstr "Enviar o correo de verificación outra vez" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:63 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" activated." +msgstr "Alguén rexistrou xa unha conta con este nome de usuario, pero aínda ten que activala." + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:68 +#, python-format +msgid "" +"If you are that person but you've lost your verification email, you can log in and resend it." +msgstr "Se esa persoa é vostede pero perdeu a mensaxe de verificación do seu enderezo de correo, pode acceder e volvela enviar." + +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 +msgid "(remove)" +msgstr "(retirar)" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:21 +msgid "Collected in" +msgstr "Parte de" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:40 +msgid "Add to a collection" +msgstr "Engadir a unha colección" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 +msgid "feed icon" +msgstr "Icona de fonte de novas" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:23 +msgid "Atom feed" +msgstr "Fonte de novas Atom" + +#: mediagoblin/templates/mediagoblin/utils/license.html:25 +msgid "All rights reserved" +msgstr "Todos os dereitos reservados" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:39 +msgid "← Newer" +msgstr "← Máis novo" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:45 +msgid "Older →" +msgstr "Máis vello →" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:48 +msgid "Go to page:" +msgstr "Ir á páxina:" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:28 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:33 +msgid "newer" +msgstr "máis novo" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:39 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:44 +msgid "older" +msgstr "máis vello" + +#: mediagoblin/templates/mediagoblin/utils/report.html:25 +msgid "Report media" +msgstr "Denunciar o contido" + +#: mediagoblin/templates/mediagoblin/utils/tags.html:20 +msgid "Tagged with" +msgstr "Etiquetado con" + +#: mediagoblin/tools/exif.py:83 +msgid "Could not read the image file." +msgstr "Non foi posíbel ler o ficheiro da imaxe." + +#: mediagoblin/tools/response.py:38 +msgid "Oops!" +msgstr "Ups!" + +#: mediagoblin/tools/response.py:39 +msgid "An error occured" +msgstr "Produciuse un erro." + +#: mediagoblin/tools/response.py:53 +msgid "Bad Request" +msgstr "Petición incorrecta" + +#: mediagoblin/tools/response.py:55 +msgid "The request sent to the server is invalid, please double check it" +msgstr "A petición enviada ao servidor é incorrecta, compróbea." + +#: mediagoblin/tools/response.py:63 +msgid "Operation not allowed" +msgstr "Operación non permitida" + +#: mediagoblin/tools/response.py:64 +msgid "" +"Sorry Dave, I can't let you do that!

You have tried to perform a " +"function that you are not allowed to. Have you been trying to delete all " +"user accounts again?" +msgstr "Intentou utilizar unha función para a que non ten permisos. Que foi, volveu intentar eliminar todas as contas de usuario outra vez?" + +#: mediagoblin/tools/response.py:72 +msgid "" +"There doesn't seem to be a page at this address. Sorry!

If you're sure" +" the address is correct, maybe the page you're looking for has been moved or" +" deleted." +msgstr "Non existe ningunha páxina con este enderezo.

Se está seguro de que o enderezo é correcto, pode ser que a páxina se cambiase de enderezo ou se eliminase." + +#: mediagoblin/tools/timesince.py:62 +msgid "year" +msgstr "ano" + +#: mediagoblin/tools/timesince.py:63 +msgid "month" +msgstr "mes" + +#: mediagoblin/tools/timesince.py:64 +msgid "week" +msgstr "semana" + +#: mediagoblin/tools/timesince.py:65 +msgid "day" +msgstr "día" + +#: mediagoblin/tools/timesince.py:66 +msgid "hour" +msgstr "hora" + +#: mediagoblin/tools/timesince.py:67 +msgid "minute" +msgstr "minuto" + +#: mediagoblin/user_pages/forms.py:23 +msgid "Comment" +msgstr "Comentario" + +#: mediagoblin/user_pages/forms.py:25 +msgid "" +"You can use Markdown for formatting." +msgstr "Pode usar Markdown para dar formato." + +#: mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Quero eliminalo, estou seguro" + +#: mediagoblin/user_pages/forms.py:35 +msgid "I am sure I want to remove this item from the collection" +msgstr "Quero retiralo da colección, estou seguro" + +#: mediagoblin/user_pages/forms.py:39 +msgid "Collection" +msgstr "Colección" + +#: mediagoblin/user_pages/forms.py:40 +msgid "-- Select --" +msgstr "(seleccionar)" + +#: mediagoblin/user_pages/forms.py:42 +msgid "Include a note" +msgstr "Incluír unha nota" + +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "Pode usar\n \n Markdown para dar formato." + +#: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 +msgid "Reason for Reporting" +msgstr "Motivo da denuncia" + +#: mediagoblin/user_pages/views.py:178 +msgid "Sorry, comments are disabled." +msgstr "Os comentarios están desactivados." + +#: mediagoblin/user_pages/views.py:183 +msgid "Oops, your comment was empty." +msgstr "O comentario estaba baleiro." + +#: mediagoblin/user_pages/views.py:189 +msgid "Your comment has been posted!" +msgstr "Publicouse o comentario!" + +#: mediagoblin/user_pages/views.py:225 +msgid "Please check your entries and try again." +msgstr "Comprobe as entradas e vólvao intentar." + +#: mediagoblin/user_pages/views.py:265 +msgid "You have to select or add a collection" +msgstr "Ten que seleccionar ou engadir unha colección." + +#: mediagoblin/user_pages/views.py:276 +#, python-format +msgid "\"%s\" already in collection \"%s\"" +msgstr "«%s» xa está na colección «%s»" + +#: mediagoblin/user_pages/views.py:282 +#, python-format +msgid "\"%s\" added to collection \"%s\"" +msgstr "«%s» engadiuse á colección «%s»" + +#: mediagoblin/user_pages/views.py:307 +msgid "You deleted the media." +msgstr "Eliminou o contido." + +#: mediagoblin/user_pages/views.py:319 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Non se eliminou o contido porque non confirmou que estaba seguro." + +#: mediagoblin/user_pages/views.py:326 +msgid "You are about to delete another user's media. Proceed with caution." +msgstr "Está a piques de eliminar un contido doutro usuario. Teña coidado." + +#: mediagoblin/user_pages/views.py:399 +msgid "You deleted the item from the collection." +msgstr "Eliminou o elemento da colección." + +#: mediagoblin/user_pages/views.py:403 +msgid "The item was not removed because you didn't check that you were sure." +msgstr "Non se retirou o elemento porque non confirmou que estaba seguro." + +#: mediagoblin/user_pages/views.py:411 +msgid "" +"You are about to delete an item from another user's collection. Proceed with" +" caution." +msgstr "Está a piques de retirar un elemento da colección doutro usuario Teña coidado." + +#: mediagoblin/user_pages/views.py:443 +#, python-format +msgid "You deleted the collection \"%s\"" +msgstr "Eliminou a colección «%s»" + +#: mediagoblin/user_pages/views.py:450 +msgid "" +"The collection was not deleted because you didn't check that you were sure." +msgstr "Non se eliminou a colección porque non confirmou que estaba seguro." + +#: mediagoblin/user_pages/views.py:458 +msgid "" +"You are about to delete another user's collection. Proceed with caution." +msgstr "Está a piques de eliminar unha colección doutro usuario Teña coidado." diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po index a88cb020..99ed0cd7 100644 --- a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po @@ -4,14 +4,15 @@ # # Translators: # Avery , 2011 +# ayleph , 2014 # parlegon , 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-05-23 22:31+0000\n" +"Last-Translator: ayleph \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/mediagoblin/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -170,7 +171,7 @@ msgstr "" #: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" -msgstr "" +msgstr "旧パスワード" #: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." @@ -178,7 +179,7 @@ msgstr "" #: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" -msgstr "" +msgstr "新パスワード" #: mediagoblin/edit/forms.py:117 msgid "New email address" @@ -376,7 +377,7 @@ msgstr "" #: mediagoblin/plugins/persona/forms.py:24 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:76 msgid "Username" -msgstr "ユーザネーム" +msgstr "ユーザーID" #: mediagoblin/plugins/basic_auth/forms.py:32 #: mediagoblin/plugins/ldap/forms.py:28 mediagoblin/plugins/openid/forms.py:31 @@ -387,7 +388,7 @@ msgstr "メールアドレス" #: mediagoblin/plugins/basic_auth/forms.py:39 msgid "Username or Email" -msgstr "" +msgstr "ユーザーIDまたはメールアドレス" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" @@ -395,7 +396,7 @@ msgstr "" #: mediagoblin/plugins/basic_auth/forms.py:51 msgid "Username or email" -msgstr "" +msgstr "ユーザーIDまたはメールアドレス" #: mediagoblin/plugins/basic_auth/views.py:54 msgid "" @@ -434,7 +435,7 @@ msgstr "" #: mediagoblin/plugins/basic_auth/views.py:215 msgid "Your password was changed successfully" -msgstr "" +msgstr "パスワードの変更が完了しました。" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 @@ -466,7 +467,7 @@ msgstr "ここで作成!" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 msgid "Change your password." -msgstr "" +msgstr "パスワードを変更します。" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 @@ -651,7 +652,7 @@ msgstr "ログイン" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 #: mediagoblin/templates/mediagoblin/auth/login.html:39 msgid "Logging in failed!" -msgstr "" +msgstr "ログインに失敗しました。" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" @@ -785,7 +786,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/base.html:88 #: mediagoblin/templates/mediagoblin/base.html:96 msgid "log out" -msgstr "" +msgstr "ログアウト" #: mediagoblin/templates/mediagoblin/base.html:115 #, python-format @@ -807,7 +808,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/base.html:135 msgid "Log out" -msgstr "" +msgstr "ログアウト" #: mediagoblin/templates/mediagoblin/base.html:138 #: mediagoblin/templates/mediagoblin/user_pages/user.html:112 @@ -1150,19 +1151,19 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 msgid "Perspective" -msgstr "" +msgstr "透視図" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" -msgstr "" +msgstr "正面図" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" -msgstr "" +msgstr "上面図" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" -msgstr "" +msgstr "側面図" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" @@ -1645,11 +1646,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/utils/pagination.html:39 msgid "← Newer" -msgstr "" +msgstr "←前へ" #: mediagoblin/templates/mediagoblin/utils/pagination.html:45 msgid "Older →" -msgstr "" +msgstr "次へ→" #: mediagoblin/templates/mediagoblin/utils/pagination.html:48 msgid "Go to page:" diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po index 1bf3ef84..31f9abff 100644 --- a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po @@ -3,19 +3,19 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: -# osc , 2013 -# Rafael Ferreira , 2013 -# osc , 2011 +# Farid Abdelnour , 2013 +# Rafael Ferreira , 2013-2014 +# Farid Abdelnour , 2011 # ufa , 2011 -# Canopus, 2013 -# Canopus, 2013 +# Vinicius, 2013 +# Vinicius, 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-01-07 09:26+0000\n" +"Last-Translator: Rafael Ferreira \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mediagoblin/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,16 +30,16 @@ msgstr "Desculpa, o registro está desativado neste momento." #: mediagoblin/decorators.py:315 msgid "Sorry, reporting is disabled on this instance." -msgstr "" +msgstr "Desculpe, criação de relatório está desabilitado nessa instância." #: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." -msgstr "" +msgstr "Desculpe, autenticação está desabilitada nessa instância." #: mediagoblin/auth/tools.py:43 msgid "Invalid User name or email address." -msgstr "Nome de usuário ou email inválido." +msgstr "Nome de usuário ou email inválidos." #: mediagoblin/auth/tools.py:44 msgid "This field does not take email addresses." @@ -55,22 +55,22 @@ msgstr "Desculpe, um usuário com este nome já existe." #: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 msgid "Sorry, a user with that email address already exists." -msgstr "Desculpe, um usuário com esse email já está cadastrado" +msgstr "Desculpe, um usuário com esse endereço de email já está cadastrado." #: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 #: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "A chave de verificação ou ID de usuário estão incorretos." #: mediagoblin/auth/views.py:161 msgid "" "Your email address has been verified. You may now login, edit your profile, " "and submit images!" -msgstr "O seu endereço de e-mail foi verificado. Você pode agora fazer login, editar seu perfil, e enviar imagens!" +msgstr "O seu endereço de email foi verificado. Você pode agora fazer login, editar seu perfil, e enviar imagens!" #: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" -msgstr "A chave de verificação ou nome usuário estão incorretos." +msgstr "A chave de verificação ou ID de usuário estão incorretos." #: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" @@ -143,11 +143,11 @@ msgstr "Este endereço contém erros" #: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" -msgstr "Me enviar um email quando outras pessoas comentarem em minhas mídias" +msgstr "Me enviar um email quando outras pessoas comentarem minhas mídias" #: mediagoblin/edit/forms.py:67 msgid "Enable insite notifications about events." -msgstr "" +msgstr "Habilitar notificações instantâneas sobre eventos." #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -202,7 +202,7 @@ msgstr "Digite sua senha para provar que esta conta é sua." #: mediagoblin/edit/views.py:73 msgid "An entry with that slug already exists for this user." -msgstr "Uma entrada com esse arquivo já existe para esse usuário" +msgstr "Uma entrada com esse arquivo já existe para esse usuário." #: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." @@ -219,7 +219,7 @@ msgstr "Você só pode editar o seu próprio perfil." #: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." -msgstr "Você está editando um perfil de usuário. Tenha cuidado." +msgstr "Você está editando um perfil do usuário. Tenha cuidado." #: mediagoblin/edit/views.py:210 msgid "Profile changes saved" @@ -261,16 +261,16 @@ msgstr "Não é possível fazer link de tema... nenhum tema definido\n" #: mediagoblin/gmg_commands/assetlink.py:73 msgid "No asset directory for this theme\n" -msgstr "" +msgstr "Nenhum diretório ativo para esse tema\n" #: mediagoblin/gmg_commands/assetlink.py:76 msgid "However, old link directory symlink found; removed.\n" -msgstr "" +msgstr "Porém, link simbólico antigo de diretório foi encontrado; removido.\n" #: mediagoblin/gmg_commands/assetlink.py:112 #, python-format msgid "Could not link \"%s\": %s exists and is not a symlink\n" -msgstr "" +msgstr "Não foi possível vincular \"%s\": %s existe e não é um link simbólico\n" #: mediagoblin/gmg_commands/assetlink.py:119 #, python-format @@ -280,7 +280,7 @@ msgstr "Pulando \"%s\"; já configurado.\n" #: mediagoblin/gmg_commands/assetlink.py:124 #, python-format msgid "Old link found for \"%s\"; removing.\n" -msgstr "" +msgstr "Link antigo encontrado para \"%s\"; removendo.\n" #: mediagoblin/meddleware/csrf.py:134 msgid "" @@ -296,7 +296,7 @@ msgstr "Desculpe, não tenho suporte a este tipo de arquivo :(" #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" -msgstr "" +msgstr "unoconv falhando na execução, verifique o arquivo de log" #: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" @@ -304,7 +304,7 @@ msgstr "Conversão do vídeo falhou" #: mediagoblin/moderation/forms.py:21 msgid "Take away privilege" -msgstr "" +msgstr "Retirar privilégio" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" @@ -316,7 +316,7 @@ msgstr "Enviar uma mensagem ao usuário" #: mediagoblin/moderation/forms.py:24 msgid "Delete the content" -msgstr "" +msgstr "Excluir o conteúdo" #: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 msgid "User will be banned until:" @@ -324,15 +324,15 @@ msgstr "O usuário será banido até:" #: mediagoblin/moderation/forms.py:57 msgid "Why are you banning this User?" -msgstr "Por quê você está banindo esse usuário?" +msgstr "Por que você está banindo esse usuário?" #: mediagoblin/moderation/forms.py:109 msgid "What action will you take to resolve the report?" -msgstr "" +msgstr "Qual ação você tomará para resolver o relatório?" #: mediagoblin/moderation/forms.py:115 msgid "What privileges will you take away?" -msgstr "" +msgstr "Que privilégios você vai retirar?" #: mediagoblin/moderation/tools.py:91 msgid "Warning from" @@ -354,21 +354,21 @@ msgstr "Você não irá receber notificações de comentários em %s." #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." -msgstr "" +msgstr "Deve fornecer um oauth_token." #: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 msgid "No request token found." -msgstr "" +msgstr "Nenhum token de requisição encontrado." #: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." -msgstr "" +msgstr "Desculpe, o tamanho arquivo é grande demais." #: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." -msgstr "" +msgstr "Desculpe, o envio desse arquivo vai deixar você acima do seu limita de envio." #: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 @@ -395,7 +395,7 @@ msgstr "Nome de usuário ou email" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "Mantenha-me Conectado" +msgstr "Mantenha-me conectado" #: mediagoblin/plugins/basic_auth/forms.py:51 msgid "Username or email" @@ -420,11 +420,11 @@ msgstr "Um email foi enviado com instruções para trocar sua senha." msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." -msgstr "Não foi possível enviar o email de recuperação de senha, pois seu nome de usuário está inativo ou o email da sua conta não foi confirmado." +msgstr "Não foi possível enviar o email de recuperação de senha, pois seu nome de usuário está inativo ou endereço de email da sua conta não foi confirmado." #: mediagoblin/plugins/basic_auth/views.py:123 msgid "The user id is incorrect." -msgstr "" +msgstr "O ID de usuário está incorreto." #: mediagoblin/plugins/basic_auth/views.py:139 msgid "You can now log in using your new password." @@ -434,11 +434,11 @@ msgstr "Agora você pode entrar usando sua nova senha." msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your account." -msgstr "" +msgstr "Você não é mais um usuário ativo. Por favor, contate o administrador do sistema para reativar sua conta." #: mediagoblin/plugins/basic_auth/views.py:215 msgid "Your password was changed successfully" -msgstr "Sua senha foi alterada com sucesso." +msgstr "Sua senha foi alterada com sucesso" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 @@ -470,7 +470,7 @@ msgstr "Crie uma aqui!" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 msgid "Change your password." -msgstr "" +msgstr "Alterar sua senha" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 @@ -479,7 +479,7 @@ msgstr "Recuperar senha" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:34 msgid "Send instructions" -msgstr "Mandar instruções" +msgstr "Enviar instruções" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html:22 msgid "Forgot your password?" @@ -496,7 +496,7 @@ msgstr "Ver no OpenStreetMap" #: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 msgid "Sign in to create an account!" -msgstr "" +msgstr "Registre-se para criar uma conta!" #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" @@ -522,7 +522,7 @@ msgstr "Descrição" msgid "" "This will be visible to users allowing your\n" " application to authenticate as them." -msgstr "" +msgstr "Isso estará visível a outros usuários\npermitindo seu aplicativo autenticá-lo." #: mediagoblin/plugins/oauth/forms.py:40 msgid "Type" @@ -536,17 +536,17 @@ msgid "" " Public - The client can't make confidential\n" " requests to the GNU MediaGoblin instance (e.g. client-side\n" " JavaScript client)." -msgstr "" +msgstr "Confidencial - O cliente pode\nfazer requisições para a instância do GNU MediaGoblin\nque não podem ser interceptadas pelo \"user agent\"\n(ex.: cliente do lado do servidor).
\nPúblico - O cliente não pode fazer\nrequisições confidenciais para a instância do\nGNU MediaGoblin (ex.: cliente JavaScript do lado do\nservidor)." #: mediagoblin/plugins/oauth/forms.py:52 msgid "Redirect URI" -msgstr "Redirecionar URI" +msgstr "URI de Redirecionamento" #: mediagoblin/plugins/oauth/forms.py:54 msgid "" "The redirect URI for the applications, this field\n" " is required for public clients." -msgstr "" +msgstr "A URI de redirecionamento para os aplicativos,\nesse campo é necessário para clientes públicos." #: mediagoblin/plugins/oauth/forms.py:66 msgid "This field is required for public clients" @@ -558,7 +558,7 @@ msgstr "O cliente {0} foi registrado!" #: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 msgid "OAuth client connections" -msgstr "" +msgstr "Conexões de cliente OAuth" #: mediagoblin/plugins/oauth/templates/oauth/client/list.html:22 msgid "Your OAuth clients" @@ -607,7 +607,7 @@ msgstr "O endereço do seu OpenID foi salvo com sucesso." #: mediagoblin/plugins/openid/views.py:338 #: mediagoblin/plugins/openid/views.py:393 msgid "You can't delete your only OpenID URL unless you have a password set" -msgstr "" +msgstr "Você não pode excluir sua única URL do OpenID, a menos que você tenha uma senha definida" #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 @@ -636,11 +636,11 @@ msgstr "Deletar um OpenID" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 #: mediagoblin/templates/mediagoblin/user_pages/media.html:83 msgid "Delete" -msgstr "Apagar" +msgstr "Excluir" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" -msgstr "" +msgstr "OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 @@ -655,7 +655,7 @@ msgstr "Entrar" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 #: mediagoblin/templates/mediagoblin/auth/login.html:39 msgid "Logging in failed!" -msgstr "Autenticação falhou" +msgstr "Autenticação falhou!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" @@ -675,7 +675,7 @@ msgstr "Ou registre com OpenID!" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "" +msgstr "Desculpe, uma conta já está registada a esse email Persona." #: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." @@ -685,7 +685,7 @@ msgstr "O endereço de email Persona foi removido com sucesso." msgid "" "You can't delete your only Persona email address unless you have a password " "set." -msgstr "" +msgstr "Você não pode excluir seu único email Persona, a menos que tenha uma senha definida." #: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." @@ -710,7 +710,7 @@ msgstr "Adicionar um endereço de email Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 msgid "Persona's" -msgstr "" +msgstr "Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" @@ -722,7 +722,7 @@ msgstr "Ou registre com Persona!" #: mediagoblin/processing/__init__.py:420 msgid "Invalid file given for media type." -msgstr "Arquivo inválido para esse tipo de mídia" +msgstr "Arquivo inválido para esse tipo de mídia." #: mediagoblin/processing/__init__.py:427 msgid "Copying to public storage failed." @@ -730,11 +730,11 @@ msgstr "Falha ao copiar para armazenamento público." #: mediagoblin/processing/__init__.py:435 msgid "An acceptable processing file was not found" -msgstr "" +msgstr "Um arquivo de processamento aceitável não foi encontrado" #: mediagoblin/submit/forms.py:30 msgid "Max file size: {0} mb" -msgstr "Tamanho máximo de arquivo: {0} mb" +msgstr "Tamanho máximo de arquivo: {0} MB" #: mediagoblin/submit/forms.py:34 msgid "File" @@ -762,7 +762,7 @@ msgstr "Coleção \"%s\" adicionada!" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." -msgstr "" +msgstr "Você está banido." #: mediagoblin/templates/mediagoblin/banned.html:24 #: mediagoblin/templates/mediagoblin/error.html:24 @@ -771,7 +771,7 @@ msgstr "Imagem do goblin se estressando" #: mediagoblin/templates/mediagoblin/banned.html:26 msgid "You have been banned" -msgstr "" +msgstr "Você foi banido" #: mediagoblin/templates/mediagoblin/banned.html:28 #, python-format @@ -829,11 +829,11 @@ msgstr "Painel de gerenciamento de usuário" #: mediagoblin/templates/mediagoblin/base.html:155 msgid "Report management panel" -msgstr "" +msgstr "Painel de gerenciamento de relatório" #: mediagoblin/templates/mediagoblin/root.html:32 msgid "Most recent media" -msgstr "Mídia mais recente" +msgstr "Mídias mais recentes" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" @@ -866,11 +866,11 @@ msgstr "Aplicativos com acesso à sua conta podem:" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" -msgstr "" +msgstr "Publicar nova mídia como você" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, media, etc...)" -msgstr "" +msgstr "Veja suas informações (ex.: perfil, mídia, etc.)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" @@ -967,7 +967,7 @@ msgstr "\n%(user_name)s\n" " " -msgstr "" +msgstr "\n ❖ Mídia relatada por %(user_name)s\n " #: mediagoblin/templates/mediagoblin/moderation/report.html:90 #, python-format @@ -1269,58 +1269,58 @@ msgid "" " %(user_name)s\n" " HAS BEEN DELETED\n" " " -msgstr "" +msgstr "\n CONTEÚDO DE\n %(user_name)s\n FOI EXCLUÍDO\n " #: mediagoblin/templates/mediagoblin/moderation/report.html:130 msgid "Resolve" -msgstr "" +msgstr "Resolver" #: mediagoblin/templates/mediagoblin/moderation/report.html:134 #: mediagoblin/templates/mediagoblin/moderation/report.html:153 msgid "Resolve This Report" -msgstr "" +msgstr "Resolver esse relatório" #: mediagoblin/templates/mediagoblin/moderation/report.html:145 msgid "Status" -msgstr "" +msgstr "Status" #: mediagoblin/templates/mediagoblin/moderation/report.html:147 msgid "RESOLVED" -msgstr "" +msgstr "RESOLVIDO" #: mediagoblin/templates/mediagoblin/moderation/report.html:155 msgid "You cannot take action against an administrator" -msgstr "" +msgstr "Você não pode aplicar uma ação contra um administrador" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 msgid "Report panel" -msgstr "" +msgstr "Painel de relatórios" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 msgid "" "\n" " Here you can look up open reports that have been filed by users.\n" " " -msgstr "" +msgstr "\n Aqui você pode procurar por relatórios abertos que foram preenchidos por usuários.\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:35 msgid "Active Reports Filed" -msgstr "" +msgstr "Relatórios ativos" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 msgid "Offender" -msgstr "" +msgstr "Ofensor" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 msgid "When Reported" -msgstr "" +msgstr "Relatado quando" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Reported By" -msgstr "" +msgstr "Relatador por" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 @@ -1333,7 +1333,7 @@ msgid "" "\n" " Comment Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Relatório de Comentário #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 #, python-format @@ -1341,23 +1341,23 @@ msgid "" "\n" " Media Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Relatório de Mídia #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 msgid "No open reports found." -msgstr "" +msgstr "Nenhum relatório aberto encontrado." #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "Closed Reports" -msgstr "" +msgstr "Relatórios fechados" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 msgid "Resolved" -msgstr "" +msgstr "Resolvido" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Action Taken" -msgstr "" +msgstr "Ação tomada" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 #, python-format @@ -1365,11 +1365,11 @@ msgid "" "\n" " Closed Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Relatórios Fechados #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 msgid "No closed reports found." -msgstr "" +msgstr "Nenhum relatório fechado encontrado." #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 @@ -1381,7 +1381,7 @@ msgid "" "\n" " Here you can look up users in order to take punitive actions on them.\n" " " -msgstr "" +msgstr "\n Aqui você pode procurar usuários para aplicar ações punitivas neles.\n " #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 msgid "Active Users" @@ -1389,15 +1389,15 @@ msgstr "Usuários Ativos" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 msgid "ID" -msgstr "" +msgstr "ID" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" -msgstr "" +msgstr "Quando entrou" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 msgid "# of Comments Posted" -msgstr "" +msgstr "# de comentários publicados" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 msgid "No users found." @@ -1431,7 +1431,7 @@ msgstr "Editar" #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format msgid "Really delete %(title)s?" -msgstr "Realmente apagar %(title)s ?" +msgstr "Realmente excluir %(title)s ?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 #, python-format @@ -1440,7 +1440,7 @@ msgstr "Realmente remover %(media_title)s de %(collection_title)s?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 msgid "Remove" -msgstr "Apagar" +msgstr "Remover" #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 #, python-format @@ -1514,7 +1514,7 @@ msgstr "Adicionar uma nova coleção" #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 msgid "" "You can track the state of media being processed for your gallery here." -msgstr "Você pode verificar como a mídia esta sendo processada para sua galeria aqui" +msgstr "Você pode verificar como a mídia esta sendo processada para sua galeria aqui." #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 msgid "Your last 10 successful uploads" @@ -1522,15 +1522,15 @@ msgstr "Seus últimos 10 envios bem sucedidos" #: mediagoblin/templates/mediagoblin/user_pages/report.html:21 msgid "

File a Report

" -msgstr "" +msgstr "

Preencha um Relatório

" #: mediagoblin/templates/mediagoblin/user_pages/report.html:24 msgid "Reporting this Comment" -msgstr "" +msgstr "Relatando esse comentário" #: mediagoblin/templates/mediagoblin/user_pages/report.html:60 msgid "Reporting this Media Entry" -msgstr "" +msgstr "Relatando esse registro de mídia" #: mediagoblin/templates/mediagoblin/user_pages/report.html:72 #, python-format @@ -1543,7 +1543,7 @@ msgstr "\n❖ Publicado por

You have tried to perform a " "function that you are not allowed to. Have you been trying to delete all " "user accounts again?" -msgstr "Me desculpe Dave, não posso deixar você fazer isso!

Você tentou executar uma função sem autorização. Por acaso estava novamente tentando deletar todas as contas de usuários?" +msgstr "Me desculpe Dave, não posso deixar você fazer isso!

Você tentou executar uma função sem autorização. Por acaso estava novamente tentando excluir todas as contas de usuários?" #: mediagoblin/tools/response.py:72 msgid "" "There doesn't seem to be a page at this address. Sorry!

If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "Parece que não há uma página com este endereço. Desculpe!

Se você tem certeza que este endereço está correto, talvez a página que esteja procurando tenha sido movida ou deletada." +msgstr "Parece que não há uma página com este endereço. Desculpe!

Se você tem certeza que este endereço está correto, talvez a página que esteja procurando tenha sido movida ou excluída." #: mediagoblin/tools/timesince.py:62 msgid "year" @@ -1751,7 +1751,7 @@ msgstr "Você pode usar , 2013 +# aleksejrs , 2013-2014 # aleksejrs , 2011-2012 # Yury Sakarinen, 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-02 09:28-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2013-12-03 13:23-0600\n" +"PO-Revision-Date: 2014-04-27 19:14+0000\n" "Last-Translator: aleksejrs \n" "Language-Team: Russian (http://www.transifex.com/projects/p/mediagoblin/language/ru/)\n" "MIME-Version: 1.0\n" @@ -301,7 +301,7 @@ msgstr "Перекодировка видео не удалась" #: mediagoblin/moderation/forms.py:21 msgid "Take away privilege" -msgstr "" +msgstr "Лишить полномочия" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" @@ -309,7 +309,7 @@ msgstr "Забанить этого пользователя" #: mediagoblin/moderation/forms.py:23 msgid "Send the user a message" -msgstr "" +msgstr "Отправить пользователю сообщение" #: mediagoblin/moderation/forms.py:24 msgid "Delete the content" @@ -329,7 +329,7 @@ msgstr "" #: mediagoblin/moderation/forms.py:115 msgid "What privileges will you take away?" -msgstr "" +msgstr "Каких полномочий лишить?" #: mediagoblin/moderation/tools.py:91 msgid "Warning from" @@ -656,11 +656,11 @@ msgstr "Авторизация неуспешна!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "Авторизуйтесь, чтобы создать учётную запись!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "Или войдите с помощью пароля!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" @@ -699,11 +699,11 @@ msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 msgid "Delete a Persona email address" -msgstr "" +msgstr "Удалить email-адрес Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 msgid "Add a Persona email address" -msgstr "" +msgstr "Добавить email-адрес Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 msgid "Persona's" @@ -731,7 +731,7 @@ msgstr "" #: mediagoblin/submit/forms.py:30 msgid "Max file size: {0} mb" -msgstr "" +msgstr "Макс. размер файла: {0} Мб." #: mediagoblin/submit/forms.py:34 msgid "File" @@ -742,7 +742,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Для разметки можете использовать язык\n\nMarkdown." #: mediagoblin/submit/views.py:55 msgid "You must provide a file." @@ -759,7 +759,7 @@ msgstr "Коллекция «%s» добавлена!" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." -msgstr "" +msgstr "Вы заблокированы." #: mediagoblin/templates/mediagoblin/banned.html:24 #: mediagoblin/templates/mediagoblin/error.html:24 @@ -768,16 +768,16 @@ msgstr "Изображение нервничающего гоблина" #: mediagoblin/templates/mediagoblin/banned.html:26 msgid "You have been banned" -msgstr "" +msgstr "Вас заблокировали" #: mediagoblin/templates/mediagoblin/banned.html:28 #, python-format msgid "until %(until_when)s" -msgstr "" +msgstr "до %(until_when)s" #: mediagoblin/templates/mediagoblin/banned.html:30 msgid "indefinitely" -msgstr "" +msgstr "на неопределённый срок" #: mediagoblin/templates/mediagoblin/base.html:81 msgid "Verify your email!" @@ -953,7 +953,7 @@ msgid "" "\n" " >Create an account at this site\n" " or" -msgstr "" +msgstr "\n >Создайте учётную запись на этом сайте\n или" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 msgid "" @@ -1006,7 +1006,7 @@ msgstr "Сохранить изменения" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "" +msgstr "Изменение email-адреса %(username)s" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format @@ -1066,7 +1066,7 @@ msgid "" "\n" "If you are not %(username)s or didn't request an email change, you can ignore\n" "this email." -msgstr "" +msgstr "Привет,\n\nМы хотели удостовериться, что Вы — %(username)s. Если это действительно\nвы, то пожалуйста, пройдите по ссылке ниже, чтобы подтвердить, что это\nваш новый email-адрес.\n\n%(verification_url)s\n\nЕсли вы не %(username)s или не запрашивали изменение адреса, можете не\nобращать внимания на это письмо." #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" @@ -1269,7 +1269,6 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report.html:130 -#: mediagoblin/templates/mediagoblin/moderation/user.html:128 msgid "Resolve" msgstr "" @@ -1369,133 +1368,6 @@ msgstr "" msgid "No closed reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:23 -#, python-format -msgid "User: %(username)s" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:39 -msgid "Sorry, no such user found." -msgstr "Извините, но такой пользователь не найден." - -#: mediagoblin/templates/mediagoblin/moderation/user.html:43 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Нужно подтверждение почтового адреса" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:45 -msgid "" -"Someone has registered an account with this username, but it still has\n" -" to be activated." -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:58 -msgid "Return to Users Panel" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:60 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Профиль пользователя %(username)s" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:62 -#, python-format -msgid "BANNED until %(expiration_date)s" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:66 -msgid "Banned Indefinitely" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:72 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Этот пользователь не заполнил свой профайл (пока)." - -#: mediagoblin/templates/mediagoblin/moderation/user.html:83 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Редактировать профиль" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:90 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "Смотреть коллекции" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:97 -#, python-format -msgid "Active Reports on %(username)s" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:104 -msgid "Report ID" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:105 -msgid "Reported Content" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:106 -msgid "Description of Report" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:114 -#, python-format -msgid "Report #%(report_number)s" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:121 -msgid "Reported Comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:123 -msgid "Reported Media Entry" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:134 -#, python-format -msgid "No active reports filed on %(username)s" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:141 -#, python-format -msgid "All reports on %(username)s" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:146 -#, python-format -msgid "All reports that %(username)s has filed" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:160 -msgid "Ban User" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:165 -msgid "UnBan User" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:173 -msgid "Privilege" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:174 -msgid "User Has Privilege" -msgstr "Есть у пользователя" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:181 -msgid "Yes" -msgstr "" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:183 -msgid "No" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1664,16 +1536,36 @@ msgid "" " ❖ Published by %(username)s\n" " " -msgstr "" +msgstr "\n ❖ Опубликовано %(username)s\n " #: mediagoblin/templates/mediagoblin/user_pages/report.html:81 msgid "File Report " msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Профиль пользователя %(username)s" + #: mediagoblin/templates/mediagoblin/user_pages/user.html:52 msgid "Here's a spot to tell others about yourself." msgstr "Здесь вы можете рассказать о себе." +#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 +msgid "Edit profile" +msgstr "Редактировать профиль" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Этот пользователь не заполнил свой профайл (пока)." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 +msgid "Browse collections" +msgstr "Смотреть коллекции" + #: mediagoblin/templates/mediagoblin/user_pages/user.html:93 #, python-format msgid "View all of %(username)s's media" @@ -1691,6 +1583,11 @@ msgstr "Ваши файлы появятся здесь, когда вы их д msgid "There doesn't seem to be any media here yet..." msgstr "Пока что тут файлов нет…" +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Нужно подтверждение почтового адреса" + #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Почти закончили! Теперь надо активировать ваш аккаунт." @@ -1847,7 +1744,7 @@ msgstr "Комментировать" msgid "" "You can use Markdown for formatting." -msgstr "" +msgstr "Поддерживается разметка на языке Markdown." #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po index b401851f..81fee12b 100644 --- a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po @@ -4,18 +4,18 @@ # # Translators: # martin, 2013 -# martin, 2012-2013 +# martin, 2012-2014 # Morten Juhl-Johansen Zölde-Fejér , 2012 # Olle Jonsson , 2012 -# ttrudslev , 2012 +# Tanja Trudslev , 2012 # martin, 2011-2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-01-09 18:22+0000\n" +"Last-Translator: martin\n" "Language-Team: Slovak (http://www.transifex.com/projects/p/mediagoblin/language/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -30,7 +30,7 @@ msgstr "Prepáč, registrácia na danej inštancii nie je povolená." #: mediagoblin/decorators.py:315 msgid "Sorry, reporting is disabled on this instance." -msgstr "" +msgstr "Prepáč, reportovanie je na tejto inštancii vypnuté." #: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 @@ -304,11 +304,11 @@ msgstr "Konvertovanie videa zlyhalo" #: mediagoblin/moderation/forms.py:21 msgid "Take away privilege" -msgstr "" +msgstr "Odobrať privilégiá" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" -msgstr "" +msgstr "Udeliť používateľovi BAN" #: mediagoblin/moderation/forms.py:23 msgid "Send the user a message" @@ -316,19 +316,19 @@ msgstr "" #: mediagoblin/moderation/forms.py:24 msgid "Delete the content" -msgstr "" +msgstr "Odstrániť obsah" #: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 msgid "User will be banned until:" -msgstr "" +msgstr "BAN používateľa potrvá do:" #: mediagoblin/moderation/forms.py:57 msgid "Why are you banning this User?" -msgstr "" +msgstr "Prečo chceš udeliť BAN tomuto používateľovi?" #: mediagoblin/moderation/forms.py:109 msgid "What action will you take to resolve the report?" -msgstr "" +msgstr "Čo spravíš pre vyriešenie daného reportu?" #: mediagoblin/moderation/forms.py:115 msgid "What privileges will you take away?" @@ -496,7 +496,7 @@ msgstr "Zobraziť na OpenStreetMap" #: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 msgid "Sign in to create an account!" -msgstr "" +msgstr "Prihlás sa pre vytvorenie účtu!" #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" @@ -780,7 +780,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/banned.html:30 msgid "indefinitely" -msgstr "" +msgstr "nekonečne" #: mediagoblin/templates/mediagoblin/base.html:81 msgid "Verify your email!" @@ -1311,11 +1311,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 msgid "Offender" -msgstr "" +msgstr "Vinník" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 msgid "When Reported" -msgstr "" +msgstr "Čas nahlásenia" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 @@ -1325,7 +1325,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Reason" -msgstr "" +msgstr "Dôvod" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 #, python-format @@ -1369,7 +1369,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 msgid "No closed reports found." -msgstr "" +msgstr "Žiadne vyriešené nahlásenia." #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 @@ -1522,7 +1522,7 @@ msgstr "Tvojich 10 posledných úspešných nahratí" #: mediagoblin/templates/mediagoblin/user_pages/report.html:21 msgid "

File a Report

" -msgstr "" +msgstr "

Nahlásiť

" #: mediagoblin/templates/mediagoblin/user_pages/report.html:24 msgid "Reporting this Comment" -- cgit v1.2.3 From 1c0293898c8084446239ab202824c02ba7c3431b Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 10 Jul 2014 12:33:32 -0500 Subject: Committing extracted and compiled translations --- mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo | Bin 38372 -> 53468 bytes mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po | 1039 ++++++++++++++----- mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo | Bin 37046 -> 52142 bytes mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po | 1033 ++++++++++++++----- mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo | Bin 35507 -> 36320 bytes mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo | Bin 0 -> 36019 bytes mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo | Bin 35285 -> 35542 bytes mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo | Bin 36071 -> 36930 bytes mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.mo | Bin 0 -> 40430 bytes mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po | 1068 +++++++++++++++----- mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo | Bin 35525 -> 50621 bytes mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po | 1033 ++++++++++++++----- mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo | Bin 37210 -> 37221 bytes mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo | Bin 35473 -> 42814 bytes mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo | Bin 37110 -> 37945 bytes mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo | Bin 0 -> 36335 bytes mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo | Bin 41044 -> 54495 bytes mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po | 1006 ++++++++++++------ mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo | Bin 34687 -> 49783 bytes mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po | 1031 ++++++++++++++----- mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo | Bin 37595 -> 52696 bytes mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po | 1045 ++++++++++++++----- mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo | Bin 36330 -> 51435 bytes mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po | 1049 ++++++++++++++----- mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo | Bin 35247 -> 35381 bytes mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo | Bin 36442 -> 51538 bytes mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po | 1035 ++++++++++++++----- mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo | Bin 35090 -> 50186 bytes mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po | 1033 ++++++++++++++----- mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo | Bin 33904 -> 49014 bytes mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po | 1037 ++++++++++++++----- mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo | Bin 36384 -> 51500 bytes mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po | 1037 ++++++++++++++----- mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo | Bin 35670 -> 36189 bytes mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo | Bin 36256 -> 51352 bytes mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po | 1033 ++++++++++++++----- mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo | Bin 44601 -> 43730 bytes mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo | Bin 36169 -> 36199 bytes mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo | Bin 34845 -> 49941 bytes mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po | 1029 ++++++++++++++----- mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo | Bin 37017 -> 52087 bytes mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po | 1037 ++++++++++++++----- mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo | Bin 34723 -> 49819 bytes mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po | 1029 ++++++++++++++----- mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo | Bin 34909 -> 50005 bytes mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po | 1031 ++++++++++++++----- mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo | Bin 34924 -> 50020 bytes mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po | 1031 ++++++++++++++----- mediagoblin/i18n/tr/LC_MESSAGES/mediagoblin.mo | Bin 15458 -> 15456 bytes mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo | Bin 35098 -> 50194 bytes mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po | 1035 ++++++++++++++----- mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo | Bin 34645 -> 49741 bytes mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po | 1029 ++++++++++++++----- mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo | Bin 34659 -> 49755 bytes mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po | 1029 ++++++++++++++----- mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo | Bin 33979 -> 49075 bytes mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po | 1037 ++++++++++++++----- .../i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo | Bin 34667 -> 49763 bytes .../i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po | 1029 ++++++++++++++----- mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo | Bin 33687 -> 48777 bytes mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po | 1039 ++++++++++++++----- 61 files changed, 18925 insertions(+), 5909 deletions(-) create mode 100644 mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo create mode 100644 mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.mo create mode 100644 mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo index 7c3411f7..fe38a383 100644 Binary files a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po index 8c0454d9..607276b0 100644 --- a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po @@ -1,25 +1,25 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: -# Jiyda , 2013 -# Majid Al-Dharrab , 2011 -# minaeid90 , 2013 +# Jiyda Mint Mohamed Moussa , 2013 +# Majid Al-Dharrab, 2011 +# Mena Rezk Eid , 2013 # OmarKH , 2011 # OsamaK , 2011 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/mediagoblin/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\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" @@ -52,12 +52,12 @@ msgstr "هذا الحقل يحتاج ايميل." msgid "Sorry, a user with that name already exists." msgstr "عذرًا، لقد اختار مستخدم آخر هذا الاسم." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "عذرًا، لقد اختار مستخدم آخر هذا الايميل." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -83,174 +83,185 @@ msgstr "لقد قمت بالفعل بالتحقق من عنوان البريد msgid "Resent your verification email." msgstr "أعدنا إرسال رسالة التحقق." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "العنوان" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "وصف هذا العمل." -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "بامكانك استخدام ⏎\n⏎\nMarkdown للإدراج." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "الوسوم" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "قم بفصل المحددات بفصلة." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "المسار" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "لا يمكن ترك المسار فارغًا" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "مقدمة عنوان هذه الميديا, غالبا لن تحتاج لتغيره." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "ترخيص" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "السيرة" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "الموقع الإلكتروني" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "العنوان يحتوي على اخطاء" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "ارسل لي رسالة عندما يقوم الاخرون بالتعليق على الميديا خاصتي" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "تفضيل رخصة" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "سوف تكون هذه رخصتك المبدئية في نماذج التحميل." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "لا يمكن ترك العنوان فارغًا" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "وصف هذه المجموعة" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "مقدمة عنوان هذه المجموعة, غالبا لن تحتاج لتغيره." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr " كلمة السر القديمة" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "قم بإدخال رقمك السري القديم حتى تثبت انك صاحب هذا الحساب." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "رقم سري جديد" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "كلمة السر" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "يوجد ملف آخر بهذا المسار لدى هذى المستخدم." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "أنت تحرّر وسائط مستخدم آخر. كن حذرًا أثناء العملية." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "لقد قمت بإضافة مرفقة %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "يمكنك فقط تعديل حسابك الخاص" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "أنت تحرّر ملف مستخدم آخر. كن حذرًا أثناء العملية." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "تم حفظ تغيرات حسابك" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "تم حفظ خصائص حسابك" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "يجب عليك تأكيد إلغاء حسابك." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "أنت لديك مجموعة تدعى \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "توجد مجموعة اخرى بهذا المسار لهذا المستخدم." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "أنت تعدل مجموعة مستخدم آخر. كن حذرًا أثناء العملية." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "كلمة سر خاطئة" @@ -281,6 +292,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -288,11 +362,147 @@ msgid "" "domain." msgstr "CSRF كوكيز غير موجودة, وهذا من الممكن ان يكون نتيجة لمانع الكوكيز او شئ من هذا القبيل.
تأكد من أنك قمت بالسماح لخصائص الكوكيز لهذا الميدان." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "عذرا, انا لا ادعم هذا النوع من الملفات :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "الوصف" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "أنا متأكد من رغبتي بحذف هذا العمل" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "يا سلام! نُشرَت!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "لم يتم إلغاء الميديا لأنك لم تقم بإختيار انك متأكد من ذلك." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "تعديل" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "إلغاء" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "أتود حقًا حذف %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "ألغِ" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "احذف نهائيًا" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "اضف" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -351,29 +561,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "أحدث الوسائط" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -497,6 +941,14 @@ msgstr "عرض في OpenStreetMap" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "سماح" @@ -513,10 +965,6 @@ msgstr "الاسم" msgid "The name of the OAuth client" msgstr "اسم العميل المنشِئ" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "الوصف" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -563,14 +1011,6 @@ msgstr "ارتباطات العميل المنشئ" msgid "Your OAuth clients" msgstr "عميلك المنشئ" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "اضف" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -630,13 +1070,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "إلغاء" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -644,7 +1077,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -750,10 +1183,6 @@ msgstr "" msgid "You must provide a file." msgstr "يجب أن تضع ملفًا." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "يا سلام! نُشرَت!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -781,26 +1210,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "تأكد من بريدك الإلكترونى!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "تسجيل خروج" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "%(user_name)s's حساب" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "تغيير خصائص الحساب" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -808,32 +1237,28 @@ msgstr "تغيير خصائص الحساب" msgid "Media processing panel" msgstr "لوحة معالجة الوسائط" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "تسجيل خروج" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "أضف وسائط" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "إنشاء مجموعة جديدة" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "أحدث الوسائط" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -930,37 +1355,37 @@ msgstr "" msgid "Explore" msgstr "استكشف" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "اهلا, مرحبا بك في موقع MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "هذا الموقع يقوم بتشغيل MediaGoblin, وهو برنامج استضافة ميديا فائق الروعة." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "لكي تضيف الميديا خاصتك, تضع التعليقات, والمزيد, يجب عليك الدخول بحساب MediaGoblin الخاص بك." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "ليس لديك واحد حتى الآن؟ انه سهل!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -975,27 +1400,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "تعديل المرفقات ل %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "مرفقات" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "أضف مرفقة" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "ألغِ" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1019,12 +1433,6 @@ msgstr "هل تريد فعلا إلغاء المستخدم '%(user_name)s' وك msgid "Yes, really delete my account" msgstr "نعم, قم بإلغاء حسابي" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "احذف نهائيًا" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1056,6 +1464,27 @@ msgstr "تحرير %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "تحرير ملف %(username)s الشخصي" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1076,10 +1505,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1137,12 +1568,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "صورة ل%(media_title)s" @@ -1151,35 +1584,35 @@ msgstr "صورة ل%(media_title)s" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "منظور" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "مقدمة" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "أعلى" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "جانب" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "تحميل نموذج" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "بنية الملف" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "طول الكائن" @@ -1239,20 +1672,20 @@ msgstr "لا يوجد مداخل مُعالجة بعد! " msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1260,7 +1693,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1270,24 +1703,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1308,7 +1742,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1317,16 +1751,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1334,7 +1768,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1342,23 +1776,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1366,10 +1800,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "يجب التحقق من البريد الإلكتروني" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "ملف %(username)s الشخصي" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "لم يعبئ هذا العضو بيانات ملفه بعد." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "حرِّر الملف الشخصي" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "تحديد مجموعة" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1411,6 +1977,26 @@ msgstr "إضافة مجموعة" msgid "Add your media" msgstr "اضف الميديا الخاصة بك" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "أضف تعليق" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "اضف هذا التعليق" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1421,23 +2007,27 @@ msgstr "%(collection_title)s (%(username)s's مجموعة)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s بواسطة %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "تعديل" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "أتود حقًا حذف %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "هل تريد فعلا إلغاء %(media_title)s من %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "إلغاء" @@ -1480,22 +2070,10 @@ msgstr "وسائط %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ اختيار الميديا بواسطة %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "أضف تعليق" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "اضف هذا التعليق" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1544,52 +2122,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "ملف %(username)s الشخصي" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "هذه زاوية لتخبر الآخرين فيها عن نفسك." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "حرِّر الملف الشخصي" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "لم يعبئ هذا العضو بيانات ملفه بعد." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "تحديد مجموعة" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "أظهِر كل وسائط %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "هنا ستظهر وسائطك، ولكن يبدو أنك لم تضف شيئًا بعد." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "لا يبدو أنه توجد أي وسائط هنا حتى الآن..." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "يجب التحقق من البريد الإلكتروني" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "أوشكنا على الانتهاء! ما زال حسابك بحاجة إلى التفعيل." @@ -1676,7 +2229,7 @@ msgstr "" msgid "Tagged with" msgstr "تحدد ب" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "لم نستطيع قراءة هذه الصورة." @@ -1748,10 +2301,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "أنا متأكد من رغبتي بحذف هذا العمل" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "أنا متأكد من أنني أريد إلغاء هذه المادة من المجموعة" @@ -1779,73 +2328,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "عذرا, لقد قمت بادخال تعليق فارغ." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "لقد تم إرسال تعليقك!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "من فضلك قم بفحص المداخل وقم بالمحاولة مرة أخرى." -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "يجب عليك إختيار أو إضافة مجموعة" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" توجد بالفعل في المجموعة \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" أُضيفت للمجموعة \"%s\"" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "لقد قمت بإلغاء الميديا." -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "لم يتم إلغاء الميديا لأنك لم تقم بإختيار انك متأكد من ذلك." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "أنت على وشك حذف وسائط مستخدم آخر. كن حذرًا أثناء العملية." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "لقد قمت بإلغاء المادة من المجموعة." -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "لم يتم إلغاء المادة لأنك لم تقم بإختيار انك متأكد من ذلك." -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "أنت على وشك حذف مادة من مجموعة مستخدم آخر. كن حذرا." -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "لقد قمت بإلغاء المجموعة \"%s\"" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "لم يتم إلغاء المجموعة لأنك لم تقم بإختيار انك متأكد من ذلك." -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "أنت على وشك حذف مجموعة مستخدم آخر. كن حذرا." diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo index 484b62ba..3f44efd7 100644 Binary files a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po index 4d3be4a3..da4c53ce 100644 --- a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/mediagoblin/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -79,174 +79,185 @@ msgstr "" msgid "Resent your verification email." msgstr "" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Заглавие" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Може да ползвате\n \n Markdown за форматиране." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Етикети" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Лиценз" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Биография" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Адресът съдържа грешки" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Заглавието е задължително" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Описание на колекцията" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Стара парола" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Нова парола" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Нов адрес на е-поща" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Парола" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Промените в профила са запазени" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Настройките на профила са запазени" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Адресът на е-пощата ви е проверен." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Грешна парола" @@ -277,6 +288,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -284,11 +358,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Описание" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Редактиране" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Изтриване" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Наистина ли да се изтрие %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Отказ" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Добавяне" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -347,29 +557,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -493,6 +937,14 @@ msgstr "Разглеждане с OpenStreetMap" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Позволение" @@ -509,10 +961,6 @@ msgstr "Име" msgid "The name of the OAuth client" msgstr "Име на OAuth клиента" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Описание" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -559,14 +1007,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Добавяне" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -626,13 +1066,6 @@ msgstr "Добавяне на OpenID" msgid "Delete an OpenID" msgstr "Изтриване на OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Изтриване" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -640,7 +1073,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -746,10 +1179,6 @@ msgstr "" msgid "You must provide a file." msgstr "Трябва да предоставите файл" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -777,26 +1206,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Проверете е-пощата си!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "изход" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Промяна настройките на профила" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -804,32 +1233,28 @@ msgstr "Промяна настройките на профила" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Изход" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Създаване на нова колекция" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -926,37 +1351,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Здравейте и добре дошли в този сайт на MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -971,27 +1396,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Отказ" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1015,12 +1429,6 @@ msgstr "Наистина ли да се изтрие потребителят '% msgid "Yes, really delete my account" msgstr "Да, наистина да се изтрие профилът ми" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1052,6 +1460,27 @@ msgstr "Редактиране на %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Редактиране профила на %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1072,10 +1501,12 @@ msgstr "Нови коментари" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1133,12 +1564,14 @@ msgid "Created" msgstr "Създадено" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1147,35 +1580,35 @@ msgstr "" msgid "PDF file" msgstr "Файл PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Файлов формат" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1235,20 +1668,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1256,7 +1689,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1266,24 +1699,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1304,7 +1738,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1313,16 +1747,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1330,7 +1764,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1338,23 +1772,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1362,10 +1796,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Нужна е проверка на е-пощата" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Профил на %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Редактиране на профила" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Преглед на колекциите" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1407,6 +1973,26 @@ msgstr "Добавяне на колекция" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Добавяне на коментар" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Добавяне на коментара" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Добавено" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1417,23 +2003,27 @@ msgstr "%(collection_title)s (колекция на %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s от %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Редактиране" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Наистина ли да се изтрие %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Наистина ли да се премахне %(media_title)s от %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Премахване" @@ -1476,22 +2066,10 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Добавяне на коментар" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Добавяне на коментара" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Преглед на коментара" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Добавено" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1540,52 +2118,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Профил на %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Редактиране на профила" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "Преглед на колекциите" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Нужна е проверка на е-пощата" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "" @@ -1672,7 +2225,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1744,10 +2297,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "Може да ползвате Markdown за форматиране." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Наистина искам да премахна този запис от колекцията" @@ -1775,73 +2324,69 @@ msgstr "Може да ползвате\n , 2013. +# FIRST AUTHOR , 2014. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\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" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" #: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." @@ -46,12 +46,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -77,18 +77,19 @@ msgstr "" msgid "Resent your verification email." msgstr "" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "" @@ -276,6 +287,70 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure " +"it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie " @@ -283,11 +358,147 @@ msgid "" "this domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -346,29 +557,301 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's " +"URL and\n" +" then paste it into a new line in the text box above. There should " +"be only\n" +" one url per line. The url that you paste into the text box should " +"be under\n" +" the header describing how prominent a feature it will be (whether " +"Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to " +"feature are\n" +" inside the text box, click the Submit Query button, and your media " +"should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the" +" piece\n" +" of media you would like to feature or unfeature and look at the " +"bar to\n" +" the side of the media entry. If the piece of media has not been " +"featured\n" +" yet you should see a button that says 'Feature'. Press that " +"button and\n" +" the media will be featured as a Primary Feature at the top of the" +" page.\n" +" All other featured media entries will remain as features, but " +"will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is " +"currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and" +" \"Demote\"\n" +" where previously there was the button which said \"Feature\". " +"Click\n" +" Unfeature and that media entry will no longer be displayed on the" +"\n" +" front page, although you can feature it again at any point. " +"Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and " +"makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on " +"your\n" +" front page. Primary Features are placed at the top of the front " +"page and are\n" +" much larger. Next are Secondary Features, which are slightly " +"smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than " +"Secondary\n" +" Features, and Secondary Features can display longer descriptions " +"than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail " +"and a\n" +" portion of its description will be displayed on your website's " +"front page.\n" +" The number of characters displayed varies on the prominence of the " +"feature.\n" +" Primary Features display the first 512 characters of their " +"description,\n" +" Secondary Features display the first 256 characters of their " +"description,\n" +" and Tertiary Features display the first 128 characters of their " +"description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and " +"then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware " +"that if\n" +" you make a typo, once you press Submit Query, your media entry will" +" NOT be\n" +" featured. Make sure that all your intended Media Entries are " +"featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the " +"button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be " +"sure to\n" +" have media featured as long as your instance has the " +"'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be " +"found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at
\n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -491,6 +974,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -507,10 +998,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -561,14 +1048,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -628,13 +1107,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -642,7 +1114,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -748,10 +1220,6 @@ msgstr "" msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -779,26 +1247,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -806,32 +1274,28 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -929,37 +1393,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, " "an extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your" " MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your " "own server" msgstr "" @@ -976,27 +1440,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1020,12 +1473,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1057,6 +1504,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1079,10 +1547,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1140,12 +1610,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1154,35 +1626,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1241,20 +1713,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1262,7 +1734,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1272,24 +1744,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1310,7 +1783,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1319,16 +1792,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1336,7 +1809,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1344,23 +1817,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1368,10 +1841,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1414,6 +2019,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1424,23 +2049,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1484,22 +2113,10 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1547,52 +2164,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "" @@ -1678,7 +2270,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1751,10 +2343,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1784,74 +2372,70 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed " "with caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were " "sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo index 4a4a1cf4..137f0b42 100644 Binary files a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po index bb6aef38..9db398f9 100644 --- a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -11,14 +11,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/mediagoblin/language/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -51,12 +51,12 @@ msgstr "Ĉi tiu kampo postulas retpoŝtadreson." msgid "Sorry, a user with that name already exists." msgstr "Bedaŭrinde, uzanto kun tiu nomo jam ekzistas." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Ni bedaŭras, sed konto kun tiu retpoŝtadreso jam ekzistas." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -82,174 +82,185 @@ msgstr "Vi jam konfirmis vian retpoŝtadreson!" msgid "Resent your verification email." msgstr "Resendi vian kontrol-mesaĝon." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titolo" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Priskribo de ĉi tiu verko" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Vi povas uzi por markado la lingvon\n «\n Markdown»." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Etikedoj" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Dividu la etikedojn per komoj." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "La distingiga adresparto" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "La distingiga adresparto ne povas esti malplena" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "La dosiertitol-bazita parto de la dosieradreso. Ordinare ne necesas ĝin ŝanĝi." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Permesilo" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Retejo" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Ĉi tiu adreso enhavas erarojn" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Retpoŝtu min kiam aliaj komentas pri miaj alŝutaĵoj." -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Permesila prefero" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Tiu ĉi permesilo estos antaŭelektita en la alŝutformularoj." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "La titolo ne povas malpleni." -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Priskribo de la kolekto" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "La distingiga adresparto de ĉi tiu kolekto. Ordinare ne necesas ĝin ŝanĝi." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "La malnova pasvorto" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Enigu vian malnovan pasvorton por pruvi, ke ĉi tiu konto estas via." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "La nova pasvorto" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Pasvorto" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Ĉi tiu uzanto jam havas dosieron kun tiu distingiga adresparto." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Vi priredaktas dosieron de alia uzanto. Agu singardeme." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Vi aldonis la kundosieron %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Vi povas redakti nur vian propran profilon." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Vi redaktas profilon de alia uzanto. Agu singardeme." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Profilŝanĝoj estis konservitaj" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Kontagordoj estis konservitaj" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Vi bezonas konfirmi la forigon de via konto." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Vi jam havas kolekton kun la nomo «%s»!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Ĉi tiu uzanto jam havas kolekton kun tiu distingiga adresparto." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Vi redaktas kolekton de alia uzanto. Agu singardeme." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Malĝusta pasvorto" @@ -280,6 +291,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -287,11 +361,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Mi pardonpetas, mi ne subtenas tiun dosiertipon :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Priskribo" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Jes, mi volas forigi ĉi tion." + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Hura! Alŝutitas!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "La dosiero ne estis forigita, ĉar vi ne konfirmis vian certecon per la markilo." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Ŝanĝi" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Forigi" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Ĉu vere forigi %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Nuligi" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Forigi senrevene" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Aldoni" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -350,29 +560,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Laste aldonitaj dosieroj" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -496,6 +940,14 @@ msgstr "Vidi sur OpenStreetMap" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -512,10 +964,6 @@ msgstr "Nomo" msgid "The name of the OAuth client" msgstr "La nomo de la OAuth-kliento" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Priskribo" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -562,14 +1010,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Aldoni" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -629,13 +1069,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Forigi" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -643,7 +1076,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -749,10 +1182,6 @@ msgstr "" msgid "You must provide a file." msgstr "Vi devas provizi dosieron." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Hura! Alŝutitas!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -780,26 +1209,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Konfirmu viecon de la retpoŝtadreso!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "elsaluti" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "Konto de %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Ŝanĝi kontagordojn" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -807,32 +1236,28 @@ msgstr "Ŝanĝi kontagordojn" msgid "Media processing panel" msgstr "Kontrolejo pri dosierpreparado." -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Elsaluti" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Aldoni dosieron" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Krei novan kolekton" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Laste aldonitaj dosieroj" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -929,37 +1354,37 @@ msgstr "" msgid "Explore" msgstr "Ĉirkaŭrigardi" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Saluton, kaj bonvenon al ĉi tiu MediaGoblina retpaĝaro!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Ĉi tiu retpaĝaro funkcias per MediaGoblin, eksterordinare bonega programaro por gastigado de aŭd‐vid‐dosieroj." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Por aldoni viajn proprajn dosierojn, afiŝi komentariojn ktp, vi povas ensaluti je via MediaGoblina konto." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Ĉu vi ankoraŭ ne havas tian? Ne malĝoju!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -974,27 +1399,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Aldoni kundosierojn por %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Kundosieroj" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Aldoni kundosieron" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Nuligi" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1018,12 +1432,6 @@ msgstr "Ĉu efektive forigi la uzantokonton «%(user_name)s» kaj ĉiujn ĝiajn msgid "Yes, really delete my account" msgstr "Jes, efektive forigi mian konton" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Forigi senrevene" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1055,6 +1463,27 @@ msgstr "Redaktado de %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Redaktado de l’profilo de %(username)s'" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1075,10 +1504,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1136,12 +1567,14 @@ msgid "Created" msgstr "Kreita" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Bildo de «%(media_title)s»" @@ -1150,35 +1583,35 @@ msgstr "Bildo de «%(media_title)s»" msgid "PDF file" msgstr "PDF-dosiero" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Deantaŭe" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Desupre" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Deflanke" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Elŝuti la modelon" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Informaranĝo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Alto de la objekto" @@ -1238,20 +1671,20 @@ msgstr "Ankoraŭ ne ekzistas eroj prilaboritaj!" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1259,7 +1692,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1269,24 +1702,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1307,7 +1741,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1316,16 +1750,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1333,7 +1767,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1341,23 +1775,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1365,10 +1799,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Necesas konfirmo de retpoŝtadreso" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profilo de %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Ĉi tiu uzanto ne jam aldonis informojn pri si." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Redakti profilon" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Vidi kolektojn" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1410,6 +1976,26 @@ msgstr "Aldonado de kolekto" msgid "Add your media" msgstr "Aldono de via dosiero" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Aldoni komenton" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Aldoni ĉi tiun komenton" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Aldonita" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1420,23 +2006,27 @@ msgstr "%(collection_title)s (kolekto de %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Ŝanĝi" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Ĉu vere forigi %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Ĉu vere forigi %(media_title)s el %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Forigi" @@ -1479,22 +2069,10 @@ msgstr "Dosieroj de %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Просмотр файлов пользователя %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Aldoni komenton" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Aldoni ĉi tiun komenton" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Aldonita" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1543,52 +2121,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Profilo de %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "Jen estas spaceto por rakonti pri vi al aliaj." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Redakti profilon" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Ĉi tiu uzanto ne jam aldonis informojn pri si." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "Vidi kolektojn" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "Rigardi ĉiujn dosierojn de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "Ĝuste ĉi tie aperos viaj dosieroj, sed vi ŝajne ankoraŭ nenion alŝutis." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Ĉi tie ŝajne estas ankoraŭ neniuj dosieroj…" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Necesas konfirmo de retpoŝtadreso" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Preskaŭ finite! Restas nur validigi vian konton." @@ -1675,7 +2228,7 @@ msgstr "" msgid "Tagged with" msgstr "Markita per" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "Malsukcesis lego de la bildodosiero" @@ -1747,10 +2300,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Jes, mi volas forigi ĉi tion." - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Jes, mi volas forigi ĉi tiun dosieron el la kolekto" @@ -1778,73 +2327,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "Ve, komentado estas malebligita." -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "Oj, via komento estis malplena." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "Via komento estis afiŝita!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "Bonvolu kontroli vian enigitaĵon kaj reprovi." -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "Necesas elekti aŭ aldoni kolekton" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "«%s» jam estas en la kolekto «%s»" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "«%s» estis aldonita al la kolekto «%s»" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "Vi forigis la dosieron." -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "La dosiero ne estis forigita, ĉar vi ne konfirmis vian certecon per la markilo." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Vi estas forigonta dosieron de alia uzanto. Estu singardema." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "Vi forigis la dosieron el la kolekto." -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "La dosiero ne estis forigita, ĉar vi ne konfirmis vian certecon per la markilo." -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Vi estas forigonta dosieron el kolekto de alia uzanto. Agu singardeme." -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Vi forigis la kolekton «%s»" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "La kolekto ne estis forigita, ĉar vi ne konfirmis vian certecon per la markilo." -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Vi estas forigonta kolekton de alia uzanto. Agu singardeme." diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo index 7ae0d7e3..354755b7 100644 Binary files a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo index 24e95900..d34969b6 100644 Binary files a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo index 98777a9a..f74ae97a 100644 Binary files a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo new file mode 100644 index 00000000..f1bb44af Binary files /dev/null and b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo index ff7f26d7..3cd64f72 100644 Binary files a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po index 2ee7f3dd..14c7f9a4 100644 --- a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-02 09:28-0600\n" -"PO-Revision-Date: 2013-12-02 17:53+0000\n" -"Last-Translator: GenghisKhan \n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/mediagoblin/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -50,12 +50,12 @@ msgstr "שדה זה מצריך כתובת דוא״ל." msgid "Sorry, a user with that name already exists." msgstr "לצערנו, משתמש עם שם זה כבר קיים." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "לצערנו, משתמש עם כתובת דוא״ל זו כבר קיים." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "מפתח האימות או מזהה המשתמש אינו מדויק." @@ -81,174 +81,185 @@ msgstr "כבר אימתת את כתובת הדוא״ל שלך!" msgid "Resent your verification email." msgstr "שלח שוב את דוא״ל האימות שלך." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "כותרת" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "תיאור של מלאכה זו" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "באפשרותך להשתמש בתחביר\n \n Markdown לעיצוב." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "תגיות" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "הפרד תגיות בעזרת פסיקים." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "חשופית" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "החשופית לא יכולה להיות ריקה" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "אזור הכותרת של כתובת מדיה זו. לרוב אין הכרח לשנות את חלק זה." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "רשיון" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "ביו" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "אתר רשת" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "כתובת זו מכילה שגיאות" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "שלח לי דוא״ל כאשר אחרים מגיבים על המדיה שלי" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "עדיפות רשיון" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "זה יהיה הרשיוןן המשתמט (ברירת מחדל) שלך בטופסי העלאה." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "הכותרת לא יכולה להיות ריקה" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "תיאור אוסף זה" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "אזור הכותרת של כתובת אוסף זה. לרוב אין הכרח לשנות את חלק זה." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "סיסמה ישנה" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "הזן את סיסמתך הישנה כדי להוכיח שאתה הבעלים של חשבון זה." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "סיסמה חדשה" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "כתובת דוא״ל חדשה" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "סיסמה" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "הזן את הסיסמה שלך כדי להוכיח כי אתה הבעלים של חשבון זה." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "רשומה עם חשופית זו כבר קיימת עבור משתמש זה." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "אתה עורך מדיה של משתמש אחר. המשך בזהירות." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "הוספת את התצריף %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "באפשרותך לערוך רק את הדיוקן שלך." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "אתה עורך דיוקן של משתמש. המשך בזהירות." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "שינויי דיוקן נשמרו" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "הגדרות חשבון נשמרו" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "עליך לאמת את המחיקה של חשבונך." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "כבר יש לך אוסף שקרוי בשם \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "אוסף עם חשופית זו כבר קיים עבור משתמש זה." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "אתה עורך אוסף של משתמש אחר. המשך בזהירות." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "כתובת הדוא״ל שלך אומתה." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "סיסמה שגויה" @@ -279,6 +290,69 @@ msgstr "מדלג על \"%s\"; כבר מוגדר.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "קישור ישן נמצא עבור \"%s\"; מסיר כעת.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -286,11 +360,147 @@ msgid "" "domain." msgstr "עוגיית CSRF לא נוכחת. זה קרוב לוודאי נובע משום חוסם עוגייה או משהו בסגנון.
הבטח קביעה של עוגיות עבור תחום זה." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "לצערנו, אינני תומך בטיפוס קובץ זה :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "תיאור" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "אני בטוח שברצוני למחוק זאת" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "הידד! נשלח!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "המדיה לא נמחקה מכיוון שלא סימנת שאתה בטוח." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "ערוך" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "מחק" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "באמת למחוק את %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "ביטול" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "מחק לצמיתות" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "הוסף" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv נכשל לפעול, בדוק קובץ יומן" @@ -349,29 +559,263 @@ msgstr "הירשם אל תגובות בתוך %s!" msgid "You will not receive notifications for comments on %s." msgstr "אתה לא תקבל התראות עבור הודעות על %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "יש לספק oauth_token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "לא נמצאה אות בקשה." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "לצערנו, גודל הקובץ גדול מדי." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "לצערנו, העלאת קובץ זה תשים אותך למעלה מן גבול ההעלאה שלך." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "לצערנו, חצית את מגבלת ההעלאה." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "המדיות האחרונות ביותר" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -495,6 +939,14 @@ msgstr "הצג בתוך OpenStreetMap" msgid "Sign in to create an account!" msgstr "התחבר כדי ליצור חשבון!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "התר" @@ -511,10 +963,6 @@ msgstr "שם" msgid "The name of the OAuth client" msgstr "השם של לקוח OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "תיאור" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -561,14 +1009,6 @@ msgstr "חיבורי לקוח OAuth" msgid "Your OAuth clients" msgstr "לקוחות OAuth שלך" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "הוסף" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -628,13 +1068,6 @@ msgstr "הוסף OpenID" msgid "Delete an OpenID" msgstr "מחק OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "מחק" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -642,7 +1075,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -748,10 +1181,6 @@ msgstr "באפשרותך להשתמש בתחביר\n %(user_name)s's account" msgstr "החשבון של %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "שנה הגדרות חשבון" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -806,32 +1235,28 @@ msgstr "שנה הגדרות חשבון" msgid "Media processing panel" msgstr "לוח עיבוד מדיה" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "התנתקות" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "הוספת מדיה" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "צור אוסף חדש" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "לוח ניהול משתמש" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "לוח ארגון דיווחים" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "המדיות האחרונות ביותר" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "הרשאה" @@ -928,38 +1353,38 @@ msgstr "תנאי שירות" msgid "Explore" msgstr "לחקור" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "שלום, ברוך בואך אל אתר MediaGoblin זה!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "אתר זה מריץ MediaGoblin, חתיכת תוכנת אירוח מדיה יוצאת מן הכלל." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "בכדי להוסיף את המדיה שלך, לפרסם תגובות, ועוד, באפשרותך להתחבר עם חשבון MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "אין ברשותך חשבון עדיין? זה קל!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n >צור חשבון חדש באתר זה\n או" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n התקן MediaGoblin על השרת שלך" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -973,27 +1398,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "עריכת תצריפים עבור %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "תצריפים" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "הוספת תצריף" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "ביטול" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1017,12 +1431,6 @@ msgstr "באמת למחוק את המשתמש '%(user_name)s' ואת כל המד msgid "Yes, really delete my account" msgstr "כן, באמת למחוק את חשבוני" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "מחק לצמיתות" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1054,6 +1462,27 @@ msgstr "עריכת %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "עריכת דיוקן עבור %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1074,10 +1503,12 @@ msgstr "תגובות חדשות" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1135,12 +1566,14 @@ msgid "Created" msgstr "נוצר" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "תמונה עבור %(media_title)s" @@ -1149,35 +1582,35 @@ msgstr "תמונה עבור %(media_title)s" msgid "PDF file" msgstr "קובץ PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "נקודת מבט" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "לפנים" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "ראש" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "צד" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "הורד מודל" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "פורמט קובץ" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "גובה אובייקט" @@ -1237,20 +1670,20 @@ msgstr "אין רישומים מעובדים, עדיין!" msgid "Sorry, no such report found." msgstr "לצערנו, לא נמצא דיווח כזה." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "חזור אל לוח דיווחים" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "דווח" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "תגובה מדווחת" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1258,7 +1691,7 @@ msgid "" " " msgstr "\n ❖ מדיה מדווחת של %(user_name)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1268,25 +1701,25 @@ msgid "" " " msgstr "\n תוכן מאת\n %(user_name)s\n נמחק\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 -#: mediagoblin/templates/mediagoblin/moderation/user.html:128 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "פתור" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "פתור את דיווח זה" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "סטטוס" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "נפתר" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "אין באפשרותך לנקוט באמצעים כנגד המנהלן" @@ -1307,7 +1740,7 @@ msgid "Active Reports Filed" msgstr "דיווחים פעילים שנשלחו" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "מעליב" @@ -1316,16 +1749,16 @@ msgid "When Reported" msgstr "מתי דווח" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "דווח על ידי" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "סיבה" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1333,7 +1766,7 @@ msgid "" " " msgstr "\n דיווח תגובה מספר %(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1341,23 +1774,23 @@ msgid "" " " msgstr "\n דיווח מדיה מספר %(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "לא נמצאו דיווחים סגורים." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "דיווחים סגורים" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "נפתר" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "פעולה שננקטה" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1365,136 +1798,141 @@ msgid "" " " msgstr "\n דיווח סגור מספר %(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "לא נמצאו דיווחים סגורים." #: mediagoblin/templates/mediagoblin/moderation/user.html:23 #, python-format msgid "User: %(username)s" -msgstr "משתמש: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:39 +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 msgid "Sorry, no such user found." -msgstr "לצערנו, משתמש נתון לא נמצא." +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:43 +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 msgid "Email verification needed" msgstr "נדרש אימות דוא״ל" -#: mediagoblin/templates/mediagoblin/moderation/user.html:45 +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 msgid "" "Someone has registered an account with this username, but it still has\n" " to be activated." -msgstr "מישהו רשם חשבון עם שם משתמש זה, אך עליו\n לעבור אקטיבציה." - -#: mediagoblin/templates/mediagoblin/moderation/user.html:58 -msgid "Return to Users Panel" -msgstr "חזור אל לוח משתמשים" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:60 +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 #: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 #, python-format msgid "%(username)s's profile" msgstr "הדיוקן של %(username)s" -#: mediagoblin/templates/mediagoblin/moderation/user.html:62 +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 #, python-format msgid "BANNED until %(expiration_date)s" -msgstr "אסור עד %(expiration_date)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 msgid "Banned Indefinitely" -msgstr "אסור לצמיתות" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:72 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 msgid "This user hasn't filled in their profile (yet)." msgstr "משתמש זה לא מילא דיוקן (עדיין)." -#: mediagoblin/templates/mediagoblin/moderation/user.html:83 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 msgid "Edit profile" msgstr "ערוך דיוקן" -#: mediagoblin/templates/mediagoblin/moderation/user.html:90 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 msgid "Browse collections" msgstr "דפדוף באוספים" -#: mediagoblin/templates/mediagoblin/moderation/user.html:97 +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 #, python-format msgid "Active Reports on %(username)s" -msgstr "דיווחים פעילים על %(username)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:104 +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 msgid "Report ID" -msgstr "מזהה (ID) דיווח" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 msgid "Reported Content" -msgstr "תוכן מדווח" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:106 +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 msgid "Description of Report" -msgstr "תיאור של דיווח" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 #, python-format msgid "Report #%(report_number)s" -msgstr "דיווח מספר %(report_number)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:121 +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 msgid "Reported Comment" -msgstr "תגובה מדווחת" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:123 +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 msgid "Reported Media Entry" -msgstr "ערך מדיה מדווח" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:134 +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 #, python-format msgid "No active reports filed on %(username)s" -msgstr "לא נשלחו דיווחים פעילים על %(username)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:141 +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 #, python-format msgid "All reports on %(username)s" -msgstr "כל הדיווחים על %(username)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:146 +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 #, python-format msgid "All reports that %(username)s has filed" -msgstr "כל הדיווחים אשר %(username)s שלח" - -#: mediagoblin/templates/mediagoblin/moderation/user.html:160 -msgid "Ban User" -msgstr "אסור משתמש" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:165 -msgid "UnBan User" -msgstr "בטל הרחקת משתמש" +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 msgid "Privilege" -msgstr "פריבילגיה" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:174 -msgid "User Has Privilege" -msgstr "משתמש מחזיק בפריבילגיה" +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:181 +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 msgid "Yes" -msgstr "כן" +msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user.html:183 +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 msgid "No" -msgstr "לא" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 @@ -1537,6 +1975,26 @@ msgstr "הוסף אוסף" msgid "Add your media" msgstr "הוספת המדיה שלך" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "הוסף תגובה" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "הוסף את תגובה זו" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "התווספה" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1547,23 +2005,27 @@ msgstr "%(collection_title)s (אוסף של %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s מאת %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "ערוך" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "באמת למחוק את %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "באמת להסיר את %(media_title)s מן %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "הסר" @@ -1606,22 +2068,10 @@ msgstr "המדיה של %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ דפדוף במדיה של %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "הוסף תגובה" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "הוסף את תגובה זו" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "תצוגת תגובה" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "התווספה" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1670,22 +2120,22 @@ msgstr "\n ❖ פורסמה על ידי Markdown for formatting." msgstr "באפשרותך להשתמש בתחביר Markdown עבור עיצוב." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "אני בטוח שברצוני למחוק זאת" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "אני בטוח שברצוני להסיר את פריט זה מן האוסף" @@ -1880,73 +2326,69 @@ msgstr "באפשרותך להשתמש בתחביר\n , 2012 -# Emilio Sepúlveda, 2011 +# Funkin, 2011 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/mediagoblin/language/ia/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: ia\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,12 +49,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -80,174 +80,185 @@ msgstr "" msgid "Resent your verification email." msgstr "" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titulo" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Etiquettas" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Sito web" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Contrasigno" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "" @@ -278,6 +289,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -285,11 +359,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Cancellar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -348,29 +558,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -494,6 +938,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -510,10 +962,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -560,14 +1008,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -627,13 +1067,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -641,7 +1074,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -747,10 +1180,6 @@ msgstr "" msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -778,26 +1207,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -805,32 +1234,28 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -927,37 +1352,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -972,27 +1397,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Cancellar" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1016,12 +1430,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1053,6 +1461,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1073,10 +1502,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1134,12 +1565,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1148,35 +1581,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1236,20 +1669,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1257,7 +1690,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1267,24 +1700,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1305,7 +1739,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1314,16 +1748,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1331,7 +1765,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1339,23 +1773,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1363,10 +1797,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profilo de %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1408,6 +1974,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1418,23 +2004,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1477,22 +2067,10 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1541,52 +2119,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Profilo de %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "" @@ -1673,7 +2226,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1745,10 +2298,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1776,73 +2325,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo index 15366bcb..6eb16f16 100644 Binary files a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po index 9c022469..5b48886f 100644 --- a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po @@ -1,24 +1,24 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: -# Sveinn í Felli , 2013 -# tryggvib , 2012 -# tryggvib , 2013 -# tryggvib , 2012-2013 +# Sveinn í Felli , 2013 +# Tryggvi Björgvinsson , 2012 +# Tryggvi Björgvinsson , 2013 +# Tryggvi Björgvinsson , 2012-2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Icelandic (Iceland) (http://www.transifex.com/projects/p/mediagoblin/language/is_IS/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: is_IS\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -51,12 +51,12 @@ msgstr "í þennan reit verður að slá inn tölvupóstfang." msgid "Sorry, a user with that name already exists." msgstr "Því miður er nú þegar til notandi með þetta nafn." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Því miður þá er annar notandi í kerfinu með þetta netfang skráð." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "Staðfestingarlykillinn eða notendaauðkennið er rangt." @@ -82,174 +82,185 @@ msgstr "Þú hefur staðfest netfangið þitt!" msgid "Resent your verification email." msgstr "Endursendi staðfestingartölvupóst" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titill" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Lýsing á þessu efni" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Þú getur notað\n \n Markdown til að stílgera textann." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Efnisorð" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Aðskildu efnisorðin með kommum." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Vefslóðarormur" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Vefslóðarormurinn getur ekki verið tómur" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Titilhlutinn í vefslóð þessa efnis. Þú þarft vanalega ekki að breyta þessu." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Notkunarleyfi" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Lýsing" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Vefsíða" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Þetta netfang inniheldur villur" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Senda mér tölvupóst þegar einhver bætir athugasemd við efnið mitt" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Virkja innri tilkynningar um viðburði." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Stilling á notkunarleyfi" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Þetta verður sjálfgefna leyfið þegar þú vilt hlaða upp efni." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Þessi titill getur verið innihaldslaus" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Lýsing á þessu albúmi" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Titilhlutinn í vefslóð þessa albúms. Þú þarft vanalega ekki að breyta þessu." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Gamla lykilorðið" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Skráðu gamla lykilorðið þitt til að sanna að þú átt þennan aðgang." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nýtt lykilorð" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Nýtt netfang" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Lykilorð" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Sláðu inn lykilorðið þitt til að sanna að þú eigir þennan aðgang." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Efni merkt með þessum vefslóðarormi er nú þegar til fyrir þennan notanda." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Þú ert að breyta efni annars notanda. Farðu mjög varlega." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Þú bættir við viðhenginu %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Þú getur bara breytt þinni eigin kenniskrá." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Þú ert að breyta kenniskrá notanda. Farðu mjög varlega." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Breytingar á kenniskrá vistaðar" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Aðgangsstillingar vistaðar" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Þú verður að samþykkja eyðingu á notandaaðganginum þínum." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Þú hefur nú þegar albúm sem kallast \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Albúm með þessu vefslóðarormi er nú þegar til fyrir þennan notanda." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Þú ert að breyta albúmi annars notanda. Farðu mjög varlega." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Netfangið þitt hefur verið staðfest." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Rangt lykilorð" @@ -280,6 +291,69 @@ msgstr "Hoppa yfir \"%s\"; hefur nú þegar verið sett upp.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Gamall tengill fannst fyrir \"%s\"; fjarlægi.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -287,11 +361,147 @@ msgid "" "domain." msgstr "CSRF smákaka ekki til staðar. Þetta er líklegast orsakað af smákökugildru eða einhverju þess háttar.
Athugaðu hvort þú leyfir ekki alveg örugglega smákökur fyrir þetta lén." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Ég styð því miður ekki þessa gerð af skrám :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Lýsing" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Ég er viss um að ég vilji eyða þessu" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Jibbí jei! Það tókst að senda inn!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Efninu var ekki eytt þar sem þú merktir ekki við að þú værir viss." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Breyta" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Eyða" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Virkilega eyða %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Hætta við" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Eytt algjörlega" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Bæta við" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "tekst ekki að keyra unoconv, athugaðu annálsskrá" @@ -350,29 +560,263 @@ msgstr "Þú ert nú áskrifandi að athugasemdum „%s“!" msgid "You will not receive notifications for comments on %s." msgstr "Þú færð tilkynningar þegar einhver skrifar athugasemd við „%s“." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Þú verður að gefa upp OAuth tóka (oauth_token)." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "Engin beiðni fannst." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Því miður er skráin of stór." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Því miður mun upphal á þessari skrá sprengja upphalshámarkið þitt." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Því miður hefur þú náð upphalshámarki" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Nýlegt efni" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -496,6 +940,14 @@ msgstr "Skoða á OpenStreetMap" msgid "Sign in to create an account!" msgstr "Skráðu þig inn til að búa til aðgang!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Leyfa" @@ -512,10 +964,6 @@ msgstr "Heiti" msgid "The name of the OAuth client" msgstr "Nafn OAuth biðlarans" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Lýsing" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -562,14 +1010,6 @@ msgstr "Biðlarartengingar OAuth" msgid "Your OAuth clients" msgstr "OAuth-biðlararnir þínir" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Bæta við" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -629,13 +1069,6 @@ msgstr "Bæta við OpenID auðkenni" msgid "Delete an OpenID" msgstr "Eyða OpenID auðkenni" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Eyða" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID auðkenni" @@ -643,7 +1076,7 @@ msgstr "OpenID auðkenni" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -749,10 +1182,6 @@ msgstr "Þú getur notað\n %(user_name)s's account" msgstr "Notandaaðgangur: %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Breyta stillingum notandaaðgangs" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -807,32 +1236,28 @@ msgstr "Breyta stillingum notandaaðgangs" msgid "Media processing panel" msgstr "Margmiðlunarvinnsluskiki" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Skrá út" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Senda inn efni" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Búa til nýtt albúm" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Notendastýring" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Tilkynningastýring" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Nýlegt efni" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Heimilun" @@ -929,38 +1354,38 @@ msgstr "Notendaskilmálar" msgid "Explore" msgstr "Skoða" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Hæ! Gakktu í bæinn á þetta MediaGoblin vefsvæði!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Þetta vefsvæði keyrir á MediaGoblin sem er ótrúlega frábær hugbúnaður til að geyma margmiðlunarefni." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Til að senda inn þitt efni, gera athugasemdir og fleira getur þú skráð þig inn með þínum MediaGoblin aðgangi." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Ertu ekki með aðgang? Það er auðvelt að búa til!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n>Búa til aðgang á þessari síðu\neða" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n settu upp þinn eigin margmiðlunarþjón" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -974,27 +1399,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Breyti viðhengjum við: %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Viðhengi" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Bæta við viðhengi" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Hætta við" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1018,12 +1432,6 @@ msgstr "Virkilega eyða notanda '%(user_name)s' og tengt efni/athugasemdir?" msgid "Yes, really delete my account" msgstr "Já, ég vil örugglega eyða aðganginum mínum" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Eytt algjörlega" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1055,6 +1463,27 @@ msgstr "Breyti %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Breyti kenniskrá notandans: %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1075,10 +1504,12 @@ msgstr "Nýjar athugasemdir" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1136,12 +1567,14 @@ msgid "Created" msgstr "Búið til" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Mynd fyrir %(media_title)s" @@ -1150,35 +1583,35 @@ msgstr "Mynd fyrir %(media_title)s" msgid "PDF file" msgstr "PDF skrá" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Fjarvídd" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Framhlið" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Toppur" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Hlið" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Hala niður líkani" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Skráarsnið" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Hæð hlutar" @@ -1238,20 +1671,20 @@ msgstr "Ekkert fullunnið efni enn!" msgid "Sorry, no such report found." msgstr "Því miður fannst engin slík tilkynning." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Fara aftur í tilkynningastýringu" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Tilkynning" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Tilkynnt athugasemd" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1259,7 +1692,7 @@ msgid "" " " msgstr "\n ❖ Tilkynnt efni sem %(user_name)s setti inn\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1269,24 +1702,25 @@ msgid "" " " msgstr "\n EFNI SEM\n %(user_name)s\n SETTI INN VAR EYTT\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Leysa" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Leysa þessa tilkynningu" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Staða" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "LEYST" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "Þú getur ekki gert þetta gagnvart stjórnanda" @@ -1307,7 +1741,7 @@ msgid "Active Reports Filed" msgstr "Virkar innsendar tilkynningar" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Gerandi" @@ -1316,16 +1750,16 @@ msgid "When Reported" msgstr "Hvenær tilkynnt" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Tilkynnt af" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Ástæða" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1333,7 +1767,7 @@ msgid "" " " msgstr "\n Athugasemdartilkynning #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1341,23 +1775,23 @@ msgid "" " " msgstr "\n Efnistilkynning #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "Engar opnar tilkynningar fundust." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Kláraðar tilkynningar" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Leyst" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Aðgerð tekin" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1365,10 +1799,142 @@ msgid "" " " msgstr "\n Kláruð tilkynning #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "Engar kláraðar tilkynningar fundust." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Staðfesting á netfangi nauðsynleg" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Kenniskrá fyrir: %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Þessi notandi hefur ekki fyllt inn í upplýsingar um sig (ennþá)." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Breyta kenniskrá" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Skoða albúm" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1410,6 +1976,26 @@ msgstr "Búa til albúm" msgid "Add your media" msgstr "Sendu inn efni" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Bæta við athugasemd" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Senda inn þessa athugasemd" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Bætt við" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1420,23 +2006,27 @@ msgstr "%(collection_title)s (albúm sem %(username)s á)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s sem %(username)s bjó til" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Breyta" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Virkilega eyða %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Virkilega fjarlægja %(media_title)s úr %(collection_title)s albúminu?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Fjarlægja" @@ -1479,22 +2069,10 @@ msgstr "Efni sem %(username)s á" msgid "❖ Browsing media by %(username)s" msgstr "❖ Skoða efnið sem %(username)s setti inn" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Bæta við athugasemd" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Senda inn þessa athugasemd" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Útlit athugasemdar" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Bætt við" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1543,52 +2121,27 @@ msgstr "\n ❖ Höfundur: Markdown for formatting." msgstr "Þú getur notað Markdown til að stílgera textann." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Ég er viss um að ég vilji eyða þessu" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Ég er viss um að ég vilji fjarlægja þetta efni úr albúminu" @@ -1778,73 +2327,69 @@ msgstr "Þú getur notað\n , 2013 +# Damiano, 2013 # Francesco Apruzzese , 2012 -# gdb , 2013 +# Gaetano , 2013 # pikappa469 , 2011 # nunni , 2011 -# Damtux , 2013 -# Damtux , 2012 +# Damiano, 2013 +# Damiano, 2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Italian (http://www.transifex.com/projects/p/mediagoblin/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -54,12 +54,12 @@ msgstr "Questo campo richiede un indirizzo email." msgid "Sorry, a user with that name already exists." msgstr "Spiacente, esiste già un utente con quel nome." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Siamo spiacenti, un utente con quell'indirizzo email esiste già." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "La chiave di verifica o l'id utente è sbagliato." @@ -83,176 +83,187 @@ msgstr "Hai già verificato il tuo indirizzo email!" #: mediagoblin/auth/views.py:203 msgid "Resent your verification email." -msgstr "Rispedisci email di verifica" +msgstr "Email di verifica rispedita." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titolo" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Descrizione di questo lavoro" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Puoi usare il\n \n Markdown per la formattazione." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Tags" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Separa i tag con la virgola." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Titolo" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Il titolo non può essere vuoto" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Il titolo fa parte dell'indirizzo del file. Nella maggior parte dei casi non c'è bisogno di cambiarlo." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licenza" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Biografia" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Sito web" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Questo indirizzo contiene errori" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Inviami messaggi email quando altre persone commentano i miei file multimediali" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Abilita le notifiche degli eventi nel sito." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Licenza preferita" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Questa sarà la tua licenza predefinita nei moduli di caricamento dei file." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Il titolo non può essere vuoto" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descrizione di questa raccolta" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Il titolo fa parte dell'indirizzo di questa raccolta. Nella maggior parte dei casi non c'è bisogno di cambiarlo." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Password vecchia" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Inserisci la vecchia password per dimostrare di essere il proprietario dell'account." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nuova password" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Nuovo indirizzo email" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Password" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Inserisci la tua password per dimostrare di essere il proprietario di questo account." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Questo utente ha già un elemento con quel titolo." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Stai modificando file multimediali di un altro utente. Procedi con attenzione." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Hai aggiunto l'allegato %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Puoi modificare solo il tuo profilo." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Stai modificando il profilo di un utente. Procedi con attenzione." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Cambiamenti del profilo salvati" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Impostazioni del profilo salvate" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Devi confermare l'eliminazione del tuo account." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Hai già una raccolta che si chiama \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Questo utente ha già una raccolta con quel titolo." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Stai modificando la raccolta di un altro utente. Procedi con cautela." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Il tuo indirizzo email è stato verificato." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Password errata" @@ -283,6 +294,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -290,11 +364,147 @@ msgid "" "domain." msgstr "Cookie CSRF non presente. Questo è dovuto a un plugin che blocca i cookie o a qualcosa del genere.
Assicurati di permettere le impostazioni dei cookie per questo dominio." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Mi dispiace, non supporto questo tipo di file :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Descrizione" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Sono sicuro di volerlo eliminare" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Evviva! Caricato!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Il file non è stato eliminato perchè non hai confermato di essere sicuro." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Modifica" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Elimina" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Vuoi davvero eliminare %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Annulla" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Elimina definitivamente" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Aggiungi" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -353,29 +563,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Devi specificare un oauth_token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Spiacente, il file è troppo grande." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Spiacente, caricando questo file supereresti il tuo limite di memoria." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Spiacente, hai raggiunto il limite di memoria disponibile." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "File multimediali più recenti" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -499,6 +943,14 @@ msgstr "Visualizza su OpenStreetMap" msgid "Sign in to create an account!" msgstr "Iscriviti per creare un account!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Consenti" @@ -515,10 +967,6 @@ msgstr "Nome" msgid "The name of the OAuth client" msgstr "Nome del client OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Descrizione" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -565,14 +1013,6 @@ msgstr "Connessioni client OAuth" msgid "Your OAuth clients" msgstr "I tuoi client OAuth" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Aggiungi" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -632,13 +1072,6 @@ msgstr "Aggiungi un OpenID" msgid "Delete an OpenID" msgstr "Elimina un OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Elimina" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "Gli OpenID" @@ -646,7 +1079,7 @@ msgstr "Gli OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -752,10 +1185,6 @@ msgstr "Puoi utilizzare il\n%(user_name)s's account" msgstr "Account di %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Cambia le impostazioni dell'account" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -810,32 +1239,28 @@ msgstr "Cambia le impostazioni dell'account" msgid "Media processing panel" msgstr "Pannello di elaborazione file multimediali" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Esci" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Aggiungi file multimediali" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Crea una nuova raccolta" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Pannello di gestione degli utenti" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Pannello di gestione delle segnalazioni" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "File multimediali più recenti" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorizzazione" @@ -932,38 +1357,38 @@ msgstr "Termini di Servizio" msgid "Explore" msgstr "Esplora" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Ciao, benvenuto in questo sito MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Questo sito sta utilizzando Mediagoblin, un ottimo programma per caricare e condividere file multimediali." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Per aggiungere i tuoi file multimediali, scrivere commenti e altro puoi accedere con il tuo account MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Non ne hai già uno? E' semplice!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n>Crea un account in questo sito\noppure" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\nInstalla e configura MediaGoblin nel tuo server" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -977,34 +1402,23 @@ msgid "Editing attachments for %(media_title)s" msgstr "Stai modificando gli allegati di %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Allegati" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Aggiungi allegato" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Annulla" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" -msgstr "Salva i cambiamenti" +msgstr "Salva le modifiche" #: mediagoblin/templates/mediagoblin/edit/change_email.html:23 #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 @@ -1021,12 +1435,6 @@ msgstr "Vuoi eliminare definitivamente l'utente '%(user_name)s' e tutti i file m msgid "Yes, really delete my account" msgstr "Sì, elimina definitivamente il mio account" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Elimina definitivamente" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1058,6 +1466,27 @@ msgstr "Stai modificando %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Stai modificando il profilo di %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1078,10 +1507,12 @@ msgstr "Nuovi commenti" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1139,12 +1570,14 @@ msgid "Created" msgstr "Creato" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1153,35 +1586,35 @@ msgstr "" msgid "PDF file" msgstr "File PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Prospettiva" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Prospetto" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Pianta" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Lato" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Scarica il modello" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Formato del File" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Altezza Oggetto" @@ -1241,20 +1674,20 @@ msgstr "Finora nessun elemento elaborato!" msgid "Sorry, no such report found." msgstr "Spiacente, segnalazione non trovata." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Ritorna al Pannello Segnalazioni" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Segnala" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Commento segnalato" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1262,7 +1695,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1272,24 +1705,25 @@ msgid "" " " msgstr "\nIL CONTENUTO DI\n %(user_name)s\nÈ STATO ELIMINATO\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Risolvi" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Risolvi Questo Problema" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Stato" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "RISOLTO" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "Non puoi agire contro un amministratore" @@ -1310,7 +1744,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Colpevole" @@ -1319,16 +1753,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Segnalato Da" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Motivazione" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1336,7 +1770,7 @@ msgid "" " " msgstr "\nSegnalazione Commento #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1344,23 +1778,23 @@ msgid "" " " msgstr "\nSegnalazione Elem. Multimediale #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Segnalazioni Chiuse" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Azione Intrapresa" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1368,10 +1802,142 @@ msgid "" " " msgstr "\nSegnalazione Chiusa #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "E' necessario verificare l'indirizzo email" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profilo di %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Questo utente non ha (ancora) compilato il proprio profilo." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Modifica profilo" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Sfoglia le raccolte" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1413,6 +1979,26 @@ msgstr "Aggiungi una raccolta" msgid "Add your media" msgstr "Aggiungi il tuo file multimediale" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Aggiungi un commento" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Aggiungi questo commento" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Aggiunto" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1423,23 +2009,27 @@ msgstr "%(collection_title)s (raccolta di %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s di %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Modifica" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Vuoi davvero eliminare %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Eliminare definitivamente %(media_title)s da %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Elimina" @@ -1482,22 +2072,10 @@ msgstr "File multimediali di %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Stai guardando i file multimediali di %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Aggiungi un commento" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Aggiungi questo commento" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Anteprima Commento" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Aggiunto" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1546,52 +2124,27 @@ msgstr "\n❖ Pubblicato da Markdown for formatting." msgstr "Puoi usare il Markdown per la formattazione." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Sono sicuro di volerlo eliminare" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Sono sicuro di voler eliminare questo elemento dalla raccolta" @@ -1781,73 +2330,69 @@ msgstr "Puoi usare il\n, 2012 +# Jin-hoon, Kim , 2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/mediagoblin/language/ko_KR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: ko_KR\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "죄송합니다. 해당 사용자 이름이 이미 존재 합니다." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "죄송합니다. 사용자와 해당 이메일은 이미 등록되어 있습니다." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -79,174 +79,185 @@ msgstr "이미 인증받은 email 주소를 가지고 있습니다!" msgid "Resent your verification email." msgstr "인증 메일을 다시 보내 주세요." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "제목" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "이 작업에 대한 설명" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "포멧팅을 사용하려면\n \n Markdown 링크를 참고 하세요." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "태그" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "태그는 , 로 구분 됩니다." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "'슬러그'" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "'슬러그'는 공백일 수 없습니다." -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "제목은 미디어 주소의 일부분 입니다. 수정하지 않아도 됩니다." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "License" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "소개" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "웹 주소" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "주소에 에러가 있습니다." -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "제 미디어에 대한 컨텍을 원한다면, 메일을 보내주세요." -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "제목은 공백일 수 없습니다." -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "모음집에 대한 설명" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "예전 비밀번호" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "계정 확인을 위해, 이전 비밀 번호를 입력해 주세요." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "새로운 비밀번호" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "비밀번호" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "해당 유저에 대한 '슬러그'가 이미 존재합니다." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "다른 사용자의 미디어를 수정하고 있습니다. 조심해서 수정하세요." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "사용자의 계정 정보를 수정하고 있습니다. 조심해서 수정하세요." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "계정 정보가 저장 되었습니다." -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "계정 설정이 저장 되었습니다." -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "\"%s\" 모음집을 이미 가지고 있습니다!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "다른 유저의 모음집을 수정 중 입니다. 주의하세요." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "잘못된 비밀번호" @@ -277,6 +288,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -284,11 +358,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "죄송합니다. 해당 타입의 파일은 지원하지 않아요 :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "설명" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "이걸 지우고 싶습니다." + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "이햐!! 등록했습니다!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "확인 체크를 하지 않았습니다. 미디어는 삭제되지 않았습니다." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "수정" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "삭제" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "%(title)s 을 지우시겠습니까?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "취소" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "영구적으로 삭제" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "추가" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -347,29 +557,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "가장 최근에 등록된 미디어" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -493,6 +937,14 @@ msgstr " OpenStreetMap으로 보기" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "허용" @@ -509,10 +961,6 @@ msgstr "이름" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "설명" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -559,14 +1007,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "추가" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -626,13 +1066,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "삭제" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -640,7 +1073,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -746,10 +1179,6 @@ msgstr "" msgid "You must provide a file." msgstr "파일을 등록하셔야 합니다." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "이햐!! 등록했습니다!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -777,26 +1206,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "메일을 확인하세요!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "계정 설정 변경" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -804,32 +1233,28 @@ msgstr "계정 설정 변경" msgid "Media processing panel" msgstr "미디어 작업 패널" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "미디어 추가" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "가장 최근에 등록된 미디어" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -926,37 +1351,37 @@ msgstr "" msgid "Explore" msgstr "탐색" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "안녕하세요! 미디어 고블린 사이트에 온걸 환영 합니다!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "이사이트는 MediaGoblin으로 작동 중입니다. 이는 특이한 미디어 호스팅 소프트웨어중 하나 입니다." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "자신의 미디어를 추가하고, 댓글을 남기세요! 미디어 고블린 계정으로 내역을 확인 하실 수 있습니다!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "아직 아무것도 없으시다구요? 매우 쉽습니다!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -971,27 +1396,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "%(media_title)s의 첨부 수정 중..." #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "첨부" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "첨부 추가" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "취소" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1015,12 +1429,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "영구적으로 삭제" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1052,6 +1460,27 @@ msgstr "%(collection_title)s 편집 중" msgid "Editing %(username)s's profile" msgstr "%(username)s의 계정 정보 수정중..." +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1072,10 +1501,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1133,12 +1564,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "%(media_title)s 이미지" @@ -1147,35 +1580,35 @@ msgstr "%(media_title)s 이미지" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1235,20 +1668,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1256,7 +1689,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1266,24 +1699,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1304,7 +1738,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1313,16 +1747,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1330,7 +1764,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1338,23 +1772,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1362,10 +1796,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "email 인증이 필요합니다." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)s의 계정 정보" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "이 사용자는 계정 정보를 입력하지 않았습니다." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "계정 정보 수정" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1407,6 +1973,26 @@ msgstr "모음집 추가" msgid "Add your media" msgstr "미디어 등록하기" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "덧글 달기" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "덧글 추가" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1417,23 +2003,27 @@ msgstr "%(collection_title)s (%(username)s의 모음집)" msgid "%(collection_title)s by %(username)s" msgstr "%(username)s의 %(collection_title)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "수정" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "%(title)s 을 지우시겠습니까?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "%(collection_title)s의 %(media_title)s을 삭제 하시겠습니까?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "지우기" @@ -1476,22 +2066,10 @@ msgstr "%(username)s의 미디어" msgid "❖ Browsing media by %(username)s" msgstr "❖ %(username)s의 미디어를 보고 있습니다." -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "덧글 달기" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "덧글 추가" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1540,52 +2118,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "%(username)s의 계정 정보" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "당신에 대해 소개해 보세요." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "계정 정보 수정" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "이 사용자는 계정 정보를 입력하지 않았습니다." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "%(username)s의 모든 미디어 보기" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "이곳에 등록한 미디어가 나타나게 됩니다. 하지만 아직 아무런 미디어를 등록하지 않으셨네요." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "아직 어떠한 미디어도 존재하지 않습니다." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "email 인증이 필요합니다." - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "이미 완료했습니다! 사용자 계정은 활성화 되어 있습니다." @@ -1672,7 +2225,7 @@ msgstr "" msgid "Tagged with" msgstr "태그 정보" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "이미지 파일을 읽을 수 없습니다." @@ -1744,10 +2297,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "이걸 지우고 싶습니다." - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "이 모음집의 항목을 삭제하는 것을 확인 했습니다." @@ -1775,73 +2324,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "오우, 댓글이 비었습니다." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "댓글이 등록 되었습니다!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "확인을 하시고 다시 시도하세요." -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "모음집을 추가하거나 기존 모음집을 선택하세요." -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" 모음집이 이미 존재 합니다. \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" 모음집을 추가했습니다. \"%s\"" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "미디어를 삭제 했습니다." -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "확인 체크를 하지 않았습니다. 미디어는 삭제되지 않았습니다." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "다른 사람의 미디어를 삭제하려고 합니다. 다시 한번 확인하세요." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "모음집에 있는 항목을 삭제 했습니다." -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "확인을 하지 않았습니다. 항목은 삭제하지 않았습니다." -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "다른 사용자의 모음집에 있는 항목을 삭제하였습니다. 주의하세요." -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "\"%s\" 모음집을 삭제하셨습니다." -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "확인을 하지 않았습니다. 모음집은 삭제하지 않았습니다." -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "다른 사용자의 모음집을 삭제하려고 합니다. 주의하세요." diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo index 4b1246a8..9f632e90 100644 Binary files a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po index a157b4fd..8c0a10a5 100644 --- a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -9,14 +9,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/mediagoblin/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,12 +49,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "Sorry, er bestaat al een gebruiker met die naam." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Sorry, een gebruiker met dat e-mailadres bestaat al." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -80,174 +80,185 @@ msgstr "Je hebt je e-mailadres al geverifieerd!" msgid "Resent your verification email." msgstr "Verificatie e-mail opnieuw opgestuurd." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Beschrijving van dit werk" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Voor opmaak kun je Markdown gebruiken." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Etiket" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Hou labels gescheiden met komma's." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Slug" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "De slug kan niet leeg zijn" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Het titelgedeelte van het adres van deze media. Normaal gesproken hoef je deze niet te veranderen." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licentie" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Website" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Dit adres bevat fouten" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Oud wachtwoord" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Vul je oude wachtwoord in om te bewijzen dat dit jouw account is" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nieuw wachtwoord" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Wachtwoord" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Er bestaat al een met die slug voor deze gebruiker." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "U bent de media van een andere gebruiker aan het aanpassen. Ga voorzichtig te werk." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "U bent een gebruikersprofiel aan het aanpassen. Ga voorzichtig te werk." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Profielaanpassingen opgeslagen" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Accountinstellingen opgeslagen" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Verkeerd wachtwoord" @@ -278,6 +289,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -285,11 +359,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Sorry, dat bestandstype wordt niet ondersteunt." +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Ik weet zeker dat ik dit wil verwijderen." + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Mooizo! Toegevoegd!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Deze media was niet verwijderd omdat je niet hebt aangegeven dat je het zeker weet." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Pas aan" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Verwijderen" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Zeker weten dat je %(title)s wil verwijderen?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Annuleren" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Permanent verwijderen" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Voeg toe" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -348,29 +558,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Nieuwste media" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -494,6 +938,14 @@ msgstr "Bekijken op OpenStreetMap" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -510,10 +962,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -560,14 +1008,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Voeg toe" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -627,13 +1067,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Verwijderen" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -641,7 +1074,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -747,10 +1180,6 @@ msgstr "" msgid "You must provide a file." msgstr "U moet een bestand aangeven." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Mooizo! Toegevoegd!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -778,26 +1207,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Verifieer je e-mailadres!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Accountinstellingen aanpassen" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -805,32 +1234,28 @@ msgstr "Accountinstellingen aanpassen" msgid "Media processing panel" msgstr "Mediaverwerkingspaneel" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Voeg media toe" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Nieuwste media" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -927,37 +1352,37 @@ msgstr "" msgid "Explore" msgstr "Verkennen" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Hoi, welkom op deze MediaGoblin website!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Deze website draait MediaGoblin, een buitengewoon goed stuk software voor mediahosting." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Heb je er nog geen? Het is heel eenvoudig!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -972,27 +1397,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Annuleren" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1016,12 +1430,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Permanent verwijderen" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1053,6 +1461,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "Het profiel aanpassen van %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1073,10 +1502,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1134,12 +1565,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Afbeelding voor %(media_title)s" @@ -1148,35 +1581,35 @@ msgstr "Afbeelding voor %(media_title)s" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1236,20 +1669,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1257,7 +1690,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1267,24 +1700,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1305,7 +1739,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1314,16 +1748,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1331,7 +1765,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1339,23 +1773,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1363,10 +1797,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Emailverificatie is nodig" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profiel van %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Deze gebruiker heeft zijn of haar profiel (nog) niet ingevuld." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Profiel aanpassen." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1408,6 +1974,26 @@ msgstr "" msgid "Add your media" msgstr "Voeg media toe" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Geef een reactie" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Voeg dit bericht toe" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1418,23 +2004,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Pas aan" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Zeker weten dat je %(title)s wil verwijderen?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1477,22 +2067,10 @@ msgstr "Media van %(username)s " msgid "❖ Browsing media by %(username)s" msgstr "❖ Blader door media van %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Geef een reactie" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Voeg dit bericht toe" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1541,52 +2119,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Profiel van %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "Hier is een plekje om anderen over jezelf te vertellen." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Profiel aanpassen." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Deze gebruiker heeft zijn of haar profiel (nog) niet ingevuld." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "Bekijk alle media van %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "Dit is waar je nieuwe media zal verschijnen, maar het lijkt erop dat je nog niets heb toegevoegd." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Het lijkt erop dat er nog geen media is." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Emailverificatie is nodig" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Bijna klaar! Je account moet nog geactiveerd worden." @@ -1673,7 +2226,7 @@ msgstr "" msgid "Tagged with" msgstr "Getagged met" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "Kon het afbeeldingsbestand niet lezen." @@ -1745,10 +2298,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Ik weet zeker dat ik dit wil verwijderen." - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1776,73 +2325,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "Oeps, je bericht was leeg." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "Je bericht is geplaatst!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "Je hebt deze media verwijderd." -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "Deze media was niet verwijderd omdat je niet hebt aangegeven dat je het zeker weet." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Je staat op het punt de media van iemand anders te verwijderen. Pas op." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo index 77ef3622..74ae4401 100644 Binary files a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po index f974e3e1..06700746 100644 --- a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -9,14 +9,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/mediagoblin/language/nn_NO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: nn_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,12 +49,12 @@ msgstr "Dette feltet krev ei epostadresse." msgid "Sorry, a user with that name already exists." msgstr "Ein konto med dette brukarnamnet finst allereide." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Ein brukar med den epostadressa finst allereie." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "Stadfestingsnykelen eller brukar-ID-en din er feil." @@ -80,174 +80,185 @@ msgstr "Du har allereie verifisiert epostadressa." msgid "Resent your verification email." msgstr "Stadfestingsepost sendt." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Tittel" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Skildring av verk" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Du kan bruka Markdown til formattering." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Merkelappar" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Separer merkelappar med komma." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Nettnamn" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Nettnamnet kan ikkje vera tomt" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Nettnamnet (adressetittel) for verket di. Trengst ikkje endrast." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Lisens" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Presentasjon" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Heimeside" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Adressa inneheld feil" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Send meg epost når andre kjem med innspel på verka mine." -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Slå av/på notifikasjonar om hendingar." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Lisens-val" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Dette vil vera standardvalet ditt for lisens." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Tittelen kjan ikkje vera tom" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Forklaringa til denne samlinga" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Tittel-delen av denne samlinga si adresse. Du treng normalt sett ikkje endra denne." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Gamalt passort" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Skriv inn det gamle passordet ditt for å stadfesta at du eig denne kontoen." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nytt passord" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Ny epostadresse" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Passord" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Skriv inn passordet som prov på at dette er din konto." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Eit innlegg med denne adressetittelen finst allereie." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Trå varsamt, du endrar nokon andre sine verk." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "La til vedlegg %s." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Du kan berre enda din eigen profil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Trå varsamt, du endrar nokon andre sin profil." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Lagra endring av profilen" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Lagra kontoinstellingar" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Du må stadfesta slettinga av kontoen din." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Du har allereie ei samling med namn «%s»." -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Ei samling med den nettadressa finst allereie for denne brukaren." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Du endrar ein annan brukar si samling. Trå varsamt." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Epostadressa di er bekrefta." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Feil passord" @@ -278,6 +289,69 @@ msgstr "Hopper over «%s»: allereie satt opp.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Gamal lenkje funnen for «%s»; fjernar.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -285,11 +359,147 @@ msgid "" "domain." msgstr "Finn ikkje CSRF-cookien. Dette er truleg grunna ein cookie-blokkar.
\nSjå til at du tillet cookies for dette domenet." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Orsak, stør ikkje den filtypen :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Forklaring" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Eg er sikker eg vil sletta dette" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Johoo! Opplasta!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Sletta ikkje verket." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Endra" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Slett" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Vil du verkeleg sletta %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Bryt av" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Slett permanent" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Legg til" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "klarte ikkje køyra unoconv, sjekk logg-fil" @@ -348,29 +558,263 @@ msgstr "Tingar innspel frå %s." msgid "You will not receive notifications for comments on %s." msgstr "Du vil ikkje få notifikasjonar for innspel på %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Treng oauth_token (must provide oath_token)." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "Noko gjekk gale :( (no request token found)." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Fila er for stor." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Opplasting av denne fila vil putta deg over opplastingsgrensa di." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Du har nådd opplastingsgrensa di." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Nyaste verk" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -494,6 +938,14 @@ msgstr "Sjå på OpenStreetMap" msgid "Sign in to create an account!" msgstr "Logg inn for å oppretta ein konto." +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Godta" @@ -510,10 +962,6 @@ msgstr "Namn" msgid "The name of the OAuth client" msgstr "Namnet til OAuth-klienten" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Forklaring" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -560,14 +1008,6 @@ msgstr "OAuth klient-tilkoplingar" msgid "Your OAuth clients" msgstr "Dine OAuth-klientar" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Legg til" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -627,13 +1067,6 @@ msgstr "Legg til OpenID" msgid "Delete an OpenID" msgstr "Slett ein OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Slett" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID-ar" @@ -641,7 +1074,7 @@ msgstr "OpenID-ar" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -747,10 +1180,6 @@ msgstr "Du kan bruka\n %(user_name)s's account" msgstr "%(user_name)s sin konto" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Endra kontoinstellingar" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -805,32 +1234,28 @@ msgstr "Endra kontoinstellingar" msgid "Media processing panel" msgstr "Verkprosesseringspanel" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Logg ut" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Legg til verk" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Lag ny samling" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Brukaradministrasjon" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Rapporteringsadministrasjon" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Nyaste verk" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Godkjenning" @@ -927,38 +1352,38 @@ msgstr "Bruksvilkår" msgid "Explore" msgstr "Utforsk" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Heihei, velkomen til denne MediaGoblin-sida." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Denne sida køyrer MediaGoblin, eit superbra program for å visa fram dine kreative verk." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Vil du leggja til eigne verk og innpel, so må du logga inn." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Har du ikkje ein enno? Det er enkelt!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n>Opprett ein konto på denne sida\neller" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n Set opp din eigen MediaGoblin-server" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -972,27 +1397,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Endrar vedlegg for %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Vedlegg" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Legg ved vedlegg" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Bryt av" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1016,12 +1430,6 @@ msgstr "Sletta brukar '%(user_name)s' og alle relaterte verk og kommentarar?" msgid "Yes, really delete my account" msgstr "Ja, slett kontoen min" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Slett permanent" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1053,6 +1461,27 @@ msgstr "Endrar %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Endrar profilen til %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1073,10 +1502,12 @@ msgstr "Nye innspel" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1134,12 +1565,14 @@ msgid "Created" msgstr "Oppretta" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Bilete for %(media_title)s" @@ -1148,35 +1581,35 @@ msgstr "Bilete for %(media_title)s" msgid "PDF file" msgstr "PDF-fil" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspektiv" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Front" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Topp" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Side" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Last ned modell" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Filformat" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Objekthøgd" @@ -1236,20 +1669,20 @@ msgstr "Ingenting prossesert, enno." msgid "Sorry, no such report found." msgstr "Fann ikkje rapporten." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Attende til rapporteringspanelet" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Rapport" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Rapportert innspel" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1257,7 +1690,7 @@ msgid "" " " msgstr "\n ❖ Rapportert verk av %(user_name)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1267,24 +1700,25 @@ msgid "" " " msgstr "\n INNHALD AV\n %(user_name)s\n ER SLETTA\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Løys" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Løys denne rapporten" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Status" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "LØYST" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "Du kan ikkje handla mot ein administrator" @@ -1305,7 +1739,7 @@ msgid "Active Reports Filed" msgstr "Aktive rapportar" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Skulda" @@ -1314,16 +1748,16 @@ msgid "When Reported" msgstr "Rapportert" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Rapportert av" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Årsak" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1331,7 +1765,7 @@ msgid "" " " msgstr "\n Innspelsrapport #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1339,23 +1773,23 @@ msgid "" " " msgstr "\n Verk-rapport #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "Ingen opne rapportar." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Løyste rapportar" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Løyst" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Handling teke" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1363,10 +1797,142 @@ msgid "" " " msgstr "\nLukka rapport #%(report_id)s" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "Ingen lukka rapportar." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Treng stadfesting av epostadressa" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)s sin profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Brukaren har ikkje fylt ut profilen sin (enno)." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Endra profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Sjå gjennom samlingar" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1408,6 +1974,26 @@ msgstr "Legg til ei samling" msgid "Add your media" msgstr "Legg til verk" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Legg att innspel" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Legg til dette innspelet" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Lagt til" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1418,23 +2004,27 @@ msgstr "%(collection_title)s (%(username)s si samling)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s av %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Endra" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Vil du verkeleg sletta %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Fjerna %(media_title)s frå %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Fjern" @@ -1477,22 +2067,10 @@ msgstr "%(username)s sine verk" msgid "❖ Browsing media by %(username)s" msgstr "❖ Ser på %(username)s sine verk" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Legg att innspel" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Legg til dette innspelet" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Førehandsvisning av innspel" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Lagt til" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1541,52 +2119,27 @@ msgstr "\n ❖ Publisert av Markdown for formatting." msgstr "Du kan bruka Markdown til formatterring." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Eg er sikker eg vil sletta dette" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Eg er sikker på at eg vil fjerna dette frå samlinga" @@ -1776,73 +2325,69 @@ msgstr "Du kan bruka , 2012 -# Sergiusz Pawlowicz , 2013 +# Sergiusz Pawłowicz , 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Polish (http://www.transifex.com/projects/p/mediagoblin/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\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" @@ -49,12 +49,12 @@ msgstr "Niniejsze pole wymaga podania adresu poczty elektronicznej." msgid "Sorry, a user with that name already exists." msgstr "Niestety użytkownik o takiej nazwie już istnieje." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Niestety użytkownik z tym adresem e-mail już istnieje." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "Klucz kontrolny albo identyfikator użytkownika jest nieprawidłowy." @@ -80,174 +80,185 @@ msgstr "Twój adres e-mail już został zweryfikowany!" msgid "Resent your verification email." msgstr "Wyślij ponownie e-mail weryfikujący." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Tytuł" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Opis tej pracy" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Możesz formatować tekst za pomocą składni \n \n Markdown." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Znaczniki" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Rozdzielaj znaczniki przecinkami." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Slug" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Slug nie może być pusty" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Fragment adresu mediów zawierający tytuł. Zwykle nie ma potrzeby aby go zmieniać." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licencja" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Biogram" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Strona internetowa" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Ten adres zawiera błędy" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Powiadamiaj mnie e-mailem o komentarzach do moich mediów" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Włącz powiadomienia dotyczące wydarzeń" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Ulubiona licencja" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "To będzie twoja domyślna licencja dla wgrywanych mediów." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Tytuł nie może być pusty" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Opis tej kolekcji" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Część adresu zawierająca tytuł. Zwykle nie musisz tego zmieniać." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Stare hasło" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Wprowadź swoje stare hasło aby udowodnić, że to twoje konto." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nowe hasło" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Nowy adres poczty elektronicznej" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Hasło" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Wprowadź swoje hasło aby potwierdzić, że jesteś właścicielem konta." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Adres z tym slugiem dla tego użytkownika już istnieje." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Edytujesz media innego użytkownika. Zachowaj ostrożność." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Dodałeś załącznik %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Masz możliwość edycji tylko własnego profilu." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Edytujesz profil innego użytkownika. Zachowaj ostrożność." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Zapisano zmiany profilu" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Zapisano ustawienia konta" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Musisz potwierdzić, że chcesz skasować swoje konto." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Kolekcja \"%s\" już istnieje!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Kolekcja tego użytkownika z takim slugiem już istnieje." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Edytujesz kolekcję innego użytkownika. Zachowaj ostrożność." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Twój adres poczty elektronicznej został potwierdzony." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Nieprawidłowe hasło" @@ -278,6 +289,69 @@ msgstr "Opuszczam \"%s\"; już jest gotowe.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Znaleziono stary odnośnik dla \"%s\"; usuwam.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -285,11 +359,147 @@ msgid "" "domain." msgstr "Ciasteczko CSFR nie jest dostępne. Najprawdopodobniej stosujesz jakąś formę blokowania ciasteczek.
Upewnij się, że nasz serwer może zakładać ciasteczka w twojej przeglądarce." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "NIestety, nie obsługujemy tego typu plików :-(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Opis" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Na pewno chcę to usunąć" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Hura! Wysłano!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Media nie zostały usunięte ponieważ nie potwierdziłeś, że jesteś pewien." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Edytuj" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Usuń" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Na pewno usunąć %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Anuluj" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Usuń na stałe" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Dodaj" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "nie dało się uruchomić unoconv, sprawdź log" @@ -348,29 +558,263 @@ msgstr "Zaprenumerowano komentarze do %s!" msgid "You will not receive notifications for comments on %s." msgstr "Nie będziesz otrzymywać komentarzy do %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Musisz podać oauth_token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "Nie znaleziono żetonu żądania." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Najnowsze media" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -494,6 +938,14 @@ msgstr "Zobacz na OpenStreetMap" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Zezwól" @@ -510,10 +962,6 @@ msgstr "Nazwa" msgid "The name of the OAuth client" msgstr "Nazwa klienta OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Opis" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -560,14 +1008,6 @@ msgstr "Połączenia do OAuth" msgid "Your OAuth clients" msgstr "Twoi klienci OAuth" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Dodaj" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -627,13 +1067,6 @@ msgstr "Dodaj konto OpenID" msgid "Delete an OpenID" msgstr "Usuń konto OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Usuń" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID" @@ -641,7 +1074,7 @@ msgstr "OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -747,10 +1180,6 @@ msgstr "" msgid "You must provide a file." msgstr "Musisz podać plik." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Hura! Wysłano!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -778,26 +1207,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Zweryfikuj swój adres e-mail!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "wyloguj się" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "konto %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Zmień ustawienia konta" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -805,32 +1234,28 @@ msgstr "Zmień ustawienia konta" msgid "Media processing panel" msgstr "Panel przetwarzania mediów" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Wyloguj się" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Dodaj media" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Utwórz nową kolekcję" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Najnowsze media" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Uwierzytelnianie" @@ -927,37 +1352,37 @@ msgstr "" msgid "Explore" msgstr "Odkrywaj" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Cześć, witaj na stronie MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Ten serwis działa w oparciu o MediaGoblin, świetne oprogramowanie do publikowania mediów." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Aby dodawać swoje pliki, komentować i wykonywać inne czynności, możesz się zalogować na swoje konto MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Jeszcze go nie masz? To proste!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n>Stwórz konto w serwisie\nalbo" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -972,27 +1397,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Edycja załączników do %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Załączniki" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Dodaj załącznik" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Anuluj" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1016,12 +1430,6 @@ msgstr "Czy naprawdę skasować użytkownika '%(user_name)s' oraz usunąć wszys msgid "Yes, really delete my account" msgstr "Tak, naprawdę chcę skasować swoje konto" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Usuń na stałe" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1053,6 +1461,27 @@ msgstr "Edycja %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Edycja profilu %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1073,10 +1502,12 @@ msgstr "Nowe komentarze" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1134,12 +1565,14 @@ msgid "Created" msgstr "Utworzono" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Grafika dla %(media_title)s" @@ -1148,35 +1581,35 @@ msgstr "Grafika dla %(media_title)s" msgid "PDF file" msgstr "Plik PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspektywa" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Początek" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Góra" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Krawędź" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Pobierz model" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Format pliku" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Wysokość obiektu" @@ -1236,20 +1669,20 @@ msgstr "Na razie nie przetworzono żadnego wpisu!" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1257,7 +1690,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1267,24 +1700,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1305,7 +1739,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1314,16 +1748,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1331,7 +1765,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1339,23 +1773,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1363,10 +1797,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Wymagana weryfikacja adresu e-mail." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profil użytkownika %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Ten użytkownik nie wypełnił (jeszcze) opisu swojego profilu." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Edytuj profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Przeglądaj kolekcje" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1408,6 +1974,26 @@ msgstr "Dodaj kolekcję" msgid "Add your media" msgstr "Dodaj swoje media" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Dodaj komentarz" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Dodaj komentarz" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Dodano" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1418,23 +2004,27 @@ msgstr "%(collection_title)s (kolekcja użytkownika %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s użytkownika %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Edytuj" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Na pewno usunąć %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Na pewno usunąć %(media_title)s z %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Usuń" @@ -1477,22 +2067,10 @@ msgstr "media użytkownika %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Przeglądanie mediów użytkownika %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Dodaj komentarz" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Dodaj komentarz" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Podgląd komentarza" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Dodano" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1541,52 +2119,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Profil użytkownika %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "W tym miejscu można się przedstawić innym." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Edytuj profil" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Ten użytkownik nie wypełnił (jeszcze) opisu swojego profilu." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "Przeglądaj kolekcje" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "Zobacz wszystkie media użytkownika %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "Tu będą widoczne twoje media, ale na razie niczego tu jeszcze nie ma." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Tu nie ma jeszcze żadnych mediów..." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Wymagana weryfikacja adresu e-mail." - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Prawie gotowe! Twoje konto oczekuje na aktywację." @@ -1673,7 +2226,7 @@ msgstr "" msgid "Tagged with" msgstr "Znaczniki:" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "Nie udało się odczytać pliku grafiki." @@ -1745,10 +2298,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "Możesz formatować tekst za pomocą składni Markdown." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Na pewno chcę to usunąć" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Na pewno chcę usunąć ten element z kolekcji" @@ -1776,73 +2325,69 @@ msgstr "Możesz formatować tekst za pomocą składni\n\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/mediagoblin/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" @@ -49,12 +49,12 @@ msgstr "Această rubrică trebuie completată cu o adresă de e-mail." msgid "Sorry, a user with that name already exists." msgstr "Ne pare rău, există deja un utilizator cu același nume." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Există deja un utilizator înregistrat cu această adresă de e-mail." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -80,174 +80,185 @@ msgstr "Adresa ta de e-mail a fost deja verificată!" msgid "Resent your verification email." msgstr "E-mail-ul de verificare a fost retrimis." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titlu" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Descrierea acestui fișier" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Poți folosi\n \n Markdown pentru formatare." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Cuvinte-cheie" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Desparte cuvintele-cheie prin virgulă." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Identificator" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Identificatorul nu poate să lipsească" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Partea corespunzătoare titlului din adresa acestui fișier media. De regulă poate fi lăsată nemodificată." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licența" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Biografie" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Sit Web" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Această adresă prezintă erori" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Trimite-mi un e-mail când alții comentează fișierele mele" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Licența preferată" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Aceasta va fi licența implicită pe formularele de upload." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Titlul nu poate să fie gol" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descriere pentru această colecție" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Partea din adresa acestei colecții care corespunde titlului. De regulă nu e necesar să faci o modificare." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Vechea parolă" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Introdu vechea parolă pentru a demonstra că ești titularul acestui cont." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Noua parolă" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Parolă" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Există deja un entry cu același identificator pentru acest utilizator." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Editezi fișierul unui alt utilizator. Se recomandă prudență." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Ai anexat %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Nu poți modifica decât propriul tău profil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Editezi profilul unui utilizator. Se recomandă prudență." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Modificările profilului au fost salvate" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Setările pentru acest cont au fost salvate" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Trebuie să confirmi ștergerea contului tău." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Ai deja o colecție numită \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "O colecție cu același slug există deja pentru acest utilizator." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Lucrezi pe colecția unui alt utilizator. Se recomandă prudență." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Parolă incorectă" @@ -278,6 +289,69 @@ msgstr "S-a omis \"%s\"; configurat deja.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Există deja un link pentru \"%s\"; va fi șters.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -285,11 +359,147 @@ msgid "" "domain." msgstr "Lipsește cookie-ul CSRF. Probabil că blocați cookie-urile.
Asigurați-vă că există permisiunea setării cookie-urilor pentru acest domeniu." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Scuze, nu recunosc acest tip de fișier :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Descriere" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Sunt sigur că doresc să șterg" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Ura! Trimis!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Fișierul nu a fost șters deoarece nu ai confirmat că ești sigur." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Editare" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Șterge" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Sigur dorești să ștergi %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Anulare" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Șterge definitiv" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Adaugă" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv nu poate fi executat; verificați log-ul" @@ -348,29 +558,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Cele mai recente fișiere" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -494,6 +938,14 @@ msgstr "Vezi pe OpenStreetMap" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Permite" @@ -510,10 +962,6 @@ msgstr "Nume" msgid "The name of the OAuth client" msgstr "Numele clientului OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Descriere" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -560,14 +1008,6 @@ msgstr "Conexiuni client OAuth" msgid "Your OAuth clients" msgstr "Clienții tăi OAuth" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Adaugă" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -627,13 +1067,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Șterge" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -641,7 +1074,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -747,10 +1180,6 @@ msgstr "" msgid "You must provide a file." msgstr "Trebuie să selectezi un fișier." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Ura! Trimis!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -778,26 +1207,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Verifică adresa de e-mail!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "Ieșire" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "Contul lui %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Modifică setările contului" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -805,32 +1234,28 @@ msgstr "Modifică setările contului" msgid "Media processing panel" msgstr "Panou de procesare media" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Ieșire" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Trimite fișier" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Creează colecție nouă" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Cele mai recente fișiere" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -927,37 +1352,37 @@ msgstr "" msgid "Explore" msgstr "Explorează" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Salut, bine ai venit pe acest site MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Acest site folosește MediaGoblin, un software excepțional pentru găzduirea fișierelor media." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Pentru a adăuga fișierele tale și pentru a comenta te poți autentifica cu contul tău MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Încă nu ai unul? E simplu!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -972,27 +1397,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Editare anexe la %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Anexe" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Atașează" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Anulare" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1016,12 +1430,6 @@ msgstr "Sigur dorești ștergerea utilizatorului '%(user_name)s' și a fișierel msgid "Yes, really delete my account" msgstr "Da, doresc ștergerea contului meu" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Șterge definitiv" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1053,6 +1461,27 @@ msgstr "Editare %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Editare profil %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1073,10 +1502,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1134,12 +1565,14 @@ msgid "Created" msgstr "Creat" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Imagine pentru %(media_title)s" @@ -1148,35 +1581,35 @@ msgstr "Imagine pentru %(media_title)s" msgid "PDF file" msgstr "Fișier PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspectivă" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Din față" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "De sus" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Lateral" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Descarcă modelul" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Formatul fișierului" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Înălțimea obiectului" @@ -1236,20 +1669,20 @@ msgstr "Nu există încă niciun entry procesat!" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1257,7 +1690,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1267,24 +1700,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1305,7 +1739,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1314,16 +1748,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1331,7 +1765,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1339,23 +1773,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1363,10 +1797,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Este necesară verificarea adresei de e-mail" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profil %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Acest utilizator nu și-a completat (încă) profilul." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Editare profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Vizitează colecțiile" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1408,6 +1974,26 @@ msgstr "Creează o colecție" msgid "Add your media" msgstr "Adaugă fișierele tale media" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Adaugă un comentariu" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Trimite acest comentariu" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Adăugat" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1418,23 +2004,27 @@ msgstr "%(collection_title)s (colecție a lui %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Editare" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Sigur dorești să ștergi %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Sigur dorești să ștergi %(media_title)s din %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Șterge" @@ -1477,22 +2067,10 @@ msgstr "Fișierele media ale lui %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "

❖ Fișierele media ale lui %(username)s

" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Adaugă un comentariu" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Trimite acest comentariu" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Adăugat" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1541,52 +2119,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Profil %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "Aici poți spune altora ceva despre tine." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Editare profil" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Acest utilizator nu și-a completat (încă) profilul." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "Vizitează colecțiile" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "Vezi toate fișierele media ale lui %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "Aici vor apărea fișierele tale media, dar se pare că încă nu ai trimis nimic." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Nu pare să existe niciun fișier media deocamdată..." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Este necesară verificarea adresei de e-mail" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Aproape gata! Mai trebuie doar să activezi contul." @@ -1673,7 +2226,7 @@ msgstr "" msgid "Tagged with" msgstr "Etichetat cu cuvintele-cheie" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "Fișierul cu imaginea nu a putut fi citit." @@ -1745,10 +2298,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Sunt sigur că doresc să șterg" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Sunt sigur(ă) că vreau să șterg acest articol din colecție" @@ -1776,73 +2325,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "Comentariile sunt dezactivate." -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "Hopa, ai uitat să scrii comentariul." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "Comentariul tău a fost trimis!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "Verifică datele și încearcă din nou." -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "Trebuie să alegi sau să creezi o colecție" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" este deja în colecția \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" a fost adăugat la colecția \"%s\"" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "Ai șters acest fișier" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "Fișierul nu a fost șters deoarece nu ai confirmat că ești sigur." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Urmează să ștergi fișierele media ale unui alt utilizator. Se recomandă prudență." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "Ai șters acest articol din colecție." -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "Articolul nu a fost șters pentru că nu ai confirmat că ești sigur(ă)." -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Urmează să ștergi un articol din colecția unui alt utilizator. Se recomandă prudență." -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Ai șters colecția \"%s\"" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "Colecția nu a fost ștearsă pentru că nu ai confirmat că ești sigur(ă)." -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Urmează să ștergi colecția unui alt utilizator. Se recomandă prudență." diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo index d2c5c02f..900cccb1 100644 Binary files a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo index cf5070f0..51b57ef0 100644 Binary files a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo index 41edf626..24d3f003 100644 Binary files a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po index 6c40d958..c761055d 100644 --- a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/mediagoblin/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "Oprostite, uporabnik s tem imenom že obstaja." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -79,174 +79,185 @@ msgstr "" msgid "Resent your verification email." msgstr "Ponovno pošiljanje potrditvene e-pošte." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Naslov" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Oznake" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Oznaka" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Oznaka ne sme biti prazna" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Biografija" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Spletna stran" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Geslo" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Vnos s to oznako za tega uporabnika že obstaja." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Urejate vsebino drugega uporabnika. Nadaljujte pazljivo." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Urejate uporabniški profil. Nadaljujte pazljivo." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "" @@ -277,6 +288,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -284,11 +358,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Juhej! Poslano." + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Prekliči" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -347,29 +557,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -493,6 +937,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -509,10 +961,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -559,14 +1007,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -626,13 +1066,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -640,7 +1073,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -746,10 +1179,6 @@ msgstr "" msgid "You must provide a file." msgstr "Podati morate datoteko." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Juhej! Poslano." - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -777,26 +1206,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -804,32 +1233,28 @@ msgstr "" msgid "Media processing panel" msgstr "Podokno obdelovanja vsebine" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Dodaj vsebino" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -926,37 +1351,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -971,27 +1396,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Prekliči" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1015,12 +1429,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1052,6 +1460,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "Urejanje profila – %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1072,10 +1501,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1133,12 +1564,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1147,35 +1580,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1235,20 +1668,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1256,7 +1689,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1266,24 +1699,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1304,7 +1738,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1313,16 +1747,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1330,7 +1764,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1338,23 +1772,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1362,10 +1796,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Potrebna je potrditev prek e-pošte" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profil – %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Ta uporabnik še ni izpolnil svojega profila." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Uredi profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1407,6 +1973,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1417,23 +2003,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1476,22 +2066,10 @@ msgstr "Vsebina uporabnika %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1540,52 +2118,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Profil – %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "Na tem mestu lahko drugim poveste nekaj o sebi." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Uredi profil" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Ta uporabnik še ni izpolnil svojega profila." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "Prikaži vso vsebino uporabnika %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "Tu bo prikazana vaša vsebina, a trenutno še niste dodali nič." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Videti je, da tu še ni nobene vsebine ..." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Potrebna je potrditev prek e-pošte" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Skoraj ste zaključili. Svoj račun morate le še aktivirati." @@ -1672,7 +2225,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1744,10 +2297,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1775,73 +2324,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo index 7d76c92c..b50023b2 100644 Binary files a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po index 10fc1cb3..cf753dd8 100644 --- a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -9,14 +9,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Albanian (http://www.transifex.com/projects/p/mediagoblin/language/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,12 +49,12 @@ msgstr "Kjo fushë lyp një adresë email." msgid "Sorry, a user with that name already exists." msgstr "Na ndjeni, ka tashmë një përdorues me këtë emër." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Na ndjeni, ka tashmë një përdorues me këtë adresë email." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "Kyçi i verifikimit ose id-ja e përdoruesit është e pasaktë." @@ -80,174 +80,185 @@ msgstr "Thuajse e keni verifikuar adresën tuaj email!" msgid "Resent your verification email." msgstr "Ridërgoni email-in tuaj të verifikimit." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titull" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Përshkrim i kësaj pune" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Mund të përdorni\n \n Markdown për formatim." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Etiketa" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Ndajini etiketat me presje." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Identifikues" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Identifikuesi s'mund të jetë i zbrazët" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Titulli i adresës së kësaj medie. Zakonisht nuk keni nevojë ta ndryshoni këtë." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Leje" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Jetëshkrim" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Site Web" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Kjo adresë përmban gabime" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Dërgomë email kur të tjerët komentojnë te media ime" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Aktivizoni njoftime të brendshme për veprimtari." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Parapëlqime licence" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Kjo do të jetë licenca juaj parazgjedhje për forma ngarkimesh." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Titulli s'mund të jetë i zbrazët" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Përshkrim i këtij koleksioni" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Pjesa titull e adresës së këtij koleksioni. Zakonisht nuk keni pse e ndryshoni këtë." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Fjalëkalimi i vjetër" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Jepni fjalëkalimin tuaj të vjetër që të provohet se këtë llogari e zotëroni ju." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Fjalëkalimi i ri" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Adresë email e re" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Fjalëkalim" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Jepni fjalëkalimin tuaj që të provohet se jeni i zoti i kësaj llogarie." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Ka tashmë një zë me atë identifikues për këtë përdorues." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Po përpunoni media të një tjetër përdoruesi. Hapni sytë." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Shtuat bashkangjitjen %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Mund të përpunoni vetëm profilin tuaj." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Po përpunoni profilin e një përdoruesi. Hapni sytë." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Ndryshimet e profilit u ruajtën" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Rregullimet e llogarisë u ruajtën" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Lypset të ripohoni fshirjen e llogarisë suaj." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Keni tashmë një koleksion të quajtur \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Ka tashmë një koleksion me atë identifikues për këtë përdorues." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Po përpunoni koleksionin e një tjetër përdoruesi. Hapni sytë." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Adresa juaj email u verifikua." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Fjalëkalim i gabuar" @@ -278,6 +289,69 @@ msgstr "Po anashkalohet \"%s\"; e rregulluar tashmë.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "U gjet lidhje e vjetër për \"%s\"; po hiqet.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -285,11 +359,147 @@ msgid "" "domain." msgstr "Pa cookie CSRF të pranishme. Ka shumë të ngjarë që të jetë punë e një bllokuesi cookie-sh ose të tillë.
Sigurohuni që të lejoni depozitim cookie-sh për këtë përkatësi." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Na ndjeni, nuk e mbullojmë këtë lloj kartele :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Përshkrim" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Jam i sigurt që dua të fshihet kjo" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Yhaaaaaa! U parashtrua!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Media nuk u fshi ngaqë nuk i vutë shenjë pohimit se jeni i sigurt." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Përpunoni" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Fshije" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Të fshihet vërtet %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Anuloje" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Fshije përgjithmonë" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Shtoni" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv nuk po arrin të xhirohet, kontrolloni kartelën e regjistrimeve" @@ -348,29 +558,263 @@ msgstr "U pajtua te komentet në %s!" msgid "You will not receive notifications for comments on %s." msgstr "Nuk do të merrni njoftime për komente te %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Duhet dhënë një oauth_token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "S'u gjet token kërkese." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Na ndjeni, madhësia e kartelës është shumë e madhe." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Na ndjeni, ngarkimi i kësaj kartele do t'ju kalonte tej kufirit tuaj për ngarkime." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Na ndjeni, keni arritur kufirin tuaj për ngarkimet." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Mediat më të reja" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -494,6 +938,14 @@ msgstr "Shiheni te OpenStreetMap" msgid "Sign in to create an account!" msgstr "Për të krijuar një llogari, hyni!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Lejoje" @@ -510,10 +962,6 @@ msgstr "Emër" msgid "The name of the OAuth client" msgstr "Emri i klientit OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Përshkrim" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -560,14 +1008,6 @@ msgstr "Lidhje klienti OAuth" msgid "Your OAuth clients" msgstr "Klientët tuaj OAuth" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Shtoni" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -627,13 +1067,6 @@ msgstr "Shtoni një OpenID" msgid "Delete an OpenID" msgstr "Fshini një OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Fshije" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -641,7 +1074,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -747,10 +1180,6 @@ msgstr "Për formatim teksti mund të përdorni\n %(user_name)s's account" msgstr "Llogaria e %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Ndryshoni rregullime llogarie" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -805,32 +1234,28 @@ msgstr "Ndryshoni rregullime llogarie" msgid "Media processing panel" msgstr "Paneli i përpunimit të medias" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Dilni" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Shtoni media" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Krijoni koleksion të ri" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Paneli i administrimit të përdoruesve" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Paneli i administrimit të raporteve" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Mediat më të reja" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorizim" @@ -927,38 +1352,38 @@ msgstr "Kushtet e Shërbimit" msgid "Explore" msgstr "Eksploroni" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Tungjatjeta juaj, mirë se vini te ky site MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Ky site përdor MediaGoblin, një program jashtëzakonisht i shkëlqyer për strehim mediash." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Për të shtuar media tuajën, për të bërë komente, dhe të tjera, mund të hyni përmes llogarisë suaj MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Nuk keni ende një të tillë? Është e lehtë!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n >Krijoni një llogari te ky site\n ose" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n Instaloni dhe përgatisni MediaGoblin-in në shërbyesin tuaj" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -972,27 +1397,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Po përpunohen bashkangjitjet për %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Bashkangjitje" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Shtoni bashkangjitje" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Anuloje" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1016,12 +1430,6 @@ msgstr "Të fshihet vërtet përdoruesi '%(user_name)s' dhe krejt media/komentet msgid "Yes, really delete my account" msgstr "Po, fshijeni vërtet llogarinë time" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Fshije përgjithmonë" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1053,6 +1461,27 @@ msgstr "Po përpunohet %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Po përpunohet profili i %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1073,10 +1502,12 @@ msgstr "Komente të reja" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1134,12 +1565,14 @@ msgid "Created" msgstr "U krijua" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Figurë për %(media_title)s" @@ -1148,35 +1581,35 @@ msgstr "Figurë për %(media_title)s" msgid "PDF file" msgstr "Kartelë PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspektivë" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Ball" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Krye" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Anë" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Shkarkojeni modelin" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Format Kartele" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Lartësi Objekti" @@ -1236,20 +1669,20 @@ msgstr "Ende pa zëra të përpunuar!" msgid "Sorry, no such report found." msgstr "Na ndjeni, nuk u gjet raport i tillë." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Kthehuni te Paneli i Raportimeve" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Raport" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Koment i raportuar" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1257,7 +1690,7 @@ msgid "" " " msgstr "\n ❖ Media e raportuar nga %(user_name)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1267,24 +1700,25 @@ msgid "" " " msgstr "\n LËNDË NGA\n %(user_name)s\n ËSHTË FSHIRË\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Zgjidheni" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Zgjidheni Këtë Raport" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Gjendje" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "ZGJIDHUR" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "Nuk mund të ndërmerrni veprim kundër një përgjegjësi" @@ -1305,7 +1739,7 @@ msgid "Active Reports Filed" msgstr "Raportime Aktive të Depozituar" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Shkelës" @@ -1314,16 +1748,16 @@ msgid "When Reported" msgstr "Raportuar Më" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Raportuar Nga" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Arsye" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1331,7 +1765,7 @@ msgid "" " " msgstr "\n Raport Komenti #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1339,23 +1773,23 @@ msgid "" " " msgstr "\n Raportim Media #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "S'u gjetën raportime të hapur." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Raportime të Mbyllur" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Zgjidhur" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Veprimi i Ndërmarrë" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1363,10 +1797,142 @@ msgid "" " " msgstr "\n Raportim i Mbyllur #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "S'u gjetën raportime të mbyllur." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Lypset verifikimi i email-it" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profili i %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Ky përdorues nuk e ka plotësuar (ende) profilin e vet." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Përpunoni profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Shfletoni koleksionet" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1408,6 +1974,26 @@ msgstr "Shtoni një koleksion" msgid "Add your media" msgstr "Shtoni media tuajën" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Shtoni një koment" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Shtoje këtë koment" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "U shtua" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1418,23 +2004,27 @@ msgstr "%(collection_title)s (koleksione nga %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s nga %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Përpunoni" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Të fshihet vërtet %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Të hiqet vërtet %(media_title)s nga %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Hiqe" @@ -1477,22 +2067,10 @@ msgstr "Media nga %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Po shfletoni media nga %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Shtoni një koment" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Shtoje këtë koment" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Paraparje Komenti" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "U shtua" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1541,52 +2119,27 @@ msgstr "\n ❖ Botuar nga Markdown for formatting." msgstr "Mund të përdorni Markdown për formatime." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Jam i sigurt që dua të fshihet kjo" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Jam i sigurt se dua që të hiqet ky objekt prek koleksioni" @@ -1776,73 +2325,69 @@ msgstr "Mund të përdorni\n \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/mediagoblin/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: sr\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" @@ -47,12 +47,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -78,174 +78,185 @@ msgstr "" msgid "Resent your verification email." msgstr "" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "" @@ -276,6 +287,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -283,11 +357,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -346,29 +556,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -492,6 +936,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -508,10 +960,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -558,14 +1006,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -625,13 +1065,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -639,7 +1072,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -745,10 +1178,6 @@ msgstr "" msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -776,26 +1205,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -803,32 +1232,28 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -925,37 +1350,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -970,27 +1395,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1014,12 +1428,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1051,6 +1459,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1071,10 +1500,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1132,12 +1563,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1146,35 +1579,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1234,20 +1667,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1255,7 +1688,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1265,24 +1698,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1303,7 +1737,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1312,16 +1746,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1329,7 +1763,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1337,23 +1771,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1361,10 +1795,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1406,6 +1972,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1416,23 +2002,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1475,22 +2065,10 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1539,52 +2117,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "" @@ -1671,7 +2224,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1743,10 +2296,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1774,73 +2323,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo index 99bd7466..ddc74d33 100644 Binary files a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po index e89849b6..b76bfe83 100644 --- a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -9,14 +9,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/mediagoblin/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -49,12 +49,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "En användare med det användarnamnet finns redan." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Det finns redan en användare med den e-postadressen." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -80,174 +80,185 @@ msgstr "Du har redan verifierat din e-postadress!" msgid "Resent your verification email." msgstr "Skickade ett nytt verifierings-email." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Beskrivning av verket" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Taggar" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Sökvägsnamn" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Sökvägsnamnet kan inte vara tomt" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Presentation" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Hemsida" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Tidigare lösenord" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Lösenord" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Ett inlägg med det sökvägsnamnet existerar redan." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Var försiktig, du redigerar någon annans inlägg." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Var försiktig, du redigerar en annan användares profil." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Fel lösenord" @@ -278,6 +289,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -285,11 +359,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Jag är säker på att jag vill radera detta" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Tjohoo! Upladdat!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Vill du verkligen radera %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Avbryt" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -348,29 +558,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Senast medier" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -494,6 +938,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -510,10 +962,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -560,14 +1008,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -627,13 +1067,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -641,7 +1074,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -747,10 +1180,6 @@ msgstr "" msgid "You must provide a file." msgstr "Du måste ange en fil" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Tjohoo! Upladdat!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -778,26 +1207,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Verifiera din e-postadress" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -805,32 +1234,28 @@ msgstr "" msgid "Media processing panel" msgstr "Mediabehandlingspanel" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Lägg till media" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Senast medier" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -927,37 +1352,37 @@ msgstr "" msgid "Explore" msgstr "Utforska" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Hej, välkommen till den här MediaGoblin-sidan!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Har du inte ett redan?" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -972,27 +1397,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Avbryt" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1016,12 +1430,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1053,6 +1461,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "Redigerar %(username)ss profil" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1073,10 +1502,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1134,12 +1565,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1148,35 +1581,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1236,20 +1669,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1257,7 +1690,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1267,24 +1700,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1305,7 +1739,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1314,16 +1748,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1331,7 +1765,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1339,23 +1773,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1363,10 +1797,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "E-postadressverifiering krävs." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)ss profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Den här användaren har inte fyllt i sin profilsida ännu." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Redigera profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1408,6 +1974,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1418,23 +2004,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Vill du verkligen radera %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1477,22 +2067,10 @@ msgstr "%(username)ss media" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1541,52 +2119,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "%(username)ss profil" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "Här kan du berätta för andra om dig själv." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Redigera profil" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Den här användaren har inte fyllt i sin profilsida ännu." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "Se all media från %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "Här kommer din media att dyka upp, du verkar inte ha lagt till någonting ännu." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Det verkar inte finnas någon media här ännu." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "E-postadressverifiering krävs." - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Nästan klar! Ditt konto behöver bara aktiveras." @@ -1673,7 +2226,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1745,10 +2298,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Jag är säker på att jag vill radera detta" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1776,73 +2325,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Du tänker radera en annan användares media. Var försiktig." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo index 7de66f2d..5e4fcda1 100644 Binary files a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po index 257f53a7..14634cc9 100644 --- a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po @@ -1,21 +1,21 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: -# వీవెన్ వీరపనేని , 2011 +# వీవెన్ , 2011 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Telugu (http://www.transifex.com/projects/p/mediagoblin/language/te/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: te\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -79,174 +79,185 @@ msgstr "" msgid "Resent your verification email." msgstr "" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "శీర్షిక" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "సంకేతపదం" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "" @@ -277,6 +288,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -284,11 +358,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "రద్దుచేయి" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -347,29 +557,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -493,6 +937,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -509,10 +961,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -559,14 +1007,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -626,13 +1066,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -640,7 +1073,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -746,10 +1179,6 @@ msgstr "" msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -777,26 +1206,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -804,32 +1233,28 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -926,37 +1351,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -971,27 +1396,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "రద్దుచేయి" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1015,12 +1429,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1052,6 +1460,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1072,10 +1501,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1133,12 +1564,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1147,35 +1580,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1235,20 +1668,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1256,7 +1689,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1266,24 +1699,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1304,7 +1738,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1313,16 +1747,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1330,7 +1764,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1338,23 +1772,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1362,10 +1796,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1407,6 +1973,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1417,23 +2003,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1476,22 +2066,10 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1540,52 +2118,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "" @@ -1672,7 +2225,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1744,10 +2297,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1775,73 +2324,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/tr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/tr/LC_MESSAGES/mediagoblin.mo index aba1b791..2c1f68d1 100644 Binary files a/mediagoblin/i18n/tr/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/tr/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo index dbbd07c8..3e794df0 100644 Binary files a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po index 1e480f30..47891f89 100644 --- a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po @@ -1,21 +1,21 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: -# Caner BAŞARAN , 2013 +# Caner Başaran , 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/mediagoblin/language/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "Maalesef, bu isimde bir kullanıcı mevcut." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Üzgünüz, bu e-posta adresine sahip bir kullanıcı zaten var." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -79,174 +79,185 @@ msgstr "Zaten e-posta adresinizi doğruladınız!" msgid "Resent your verification email." msgstr "Doğrulama e-postasını tekrar yolla." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Başlık" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Etiketler" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Etikerleri virgül ile ayırın." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Web sitesi" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Medyama birisi yorum yazdığında bana e-posta at" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Eski parola" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Yeni parola" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Parola" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Başka bir kullanıcının medyasını düzenlerken dikkatli davranın." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Başka bir kullanıcının profilini düzenlerken dikkatli davranın." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Profil değişiklikleri kaydedildi" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Hesap ayarları kaydedildi" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Yanlış parola" @@ -277,6 +288,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -284,11 +358,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Üzgünüz, bu tip dosyaları desteklemiyoruz :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Bunu silmek için eminim" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Hoooop! Gönderildi!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Medya silinmedi çünkü emin olduğunuzu onaylamadınız." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Düzenle" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Si" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Gerçekten %(title)s silmek istiyor musun?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "İptal" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Ekle" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -347,29 +557,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -493,6 +937,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -509,10 +961,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -559,14 +1007,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Ekle" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -626,13 +1066,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Si" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -640,7 +1073,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -746,10 +1179,6 @@ msgstr "" msgid "You must provide a file." msgstr "Bir dosya sağlamanız gerekir." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Hoooop! Gönderildi!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -777,26 +1206,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "E-postanızı doğrulayın!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "çıkış" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Hesap ayarlarını değiştir" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -804,32 +1233,28 @@ msgstr "Hesap ayarlarını değiştir" msgid "Media processing panel" msgstr "Medya işlem paneli" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Çıkış" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Medya ekle" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -926,37 +1351,37 @@ msgstr "" msgid "Explore" msgstr "Keşfet" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -971,27 +1396,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "İptal" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1015,12 +1429,6 @@ msgstr "Gerçekten '%(user_name)s' kullanıcısını ve ilgili tüm medya/yoruml msgid "Yes, really delete my account" msgstr "Evet, gerçekten hesabımı silmek istiyorum" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1052,6 +1460,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "%(username)s profilini düzenleme" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1072,10 +1501,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1133,12 +1564,14 @@ msgid "Created" msgstr "Oluşturuldu" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1147,35 +1580,35 @@ msgstr "" msgid "PDF file" msgstr "PDF dosya" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Dosya Biçimi" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1235,20 +1668,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1256,7 +1689,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1266,24 +1699,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1304,7 +1738,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1313,16 +1747,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1330,7 +1764,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1338,23 +1772,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1362,10 +1796,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "E-posta doğrulaması gerekli" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)s profili" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Profil düzenle" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1407,6 +1973,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Bir yorum ekle" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Bu yorumu ekle" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Eklendi" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1417,23 +2003,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Düzenle" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Gerçekten %(title)s silmek istiyor musun?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Gerçekten %(collection_title)s %(media_title)s kaldırmak istiyor musun?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Kaldır" @@ -1476,22 +2066,10 @@ msgstr "%(username)s medyası" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Bir yorum ekle" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Bu yorumu ekle" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Eklendi" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1540,52 +2118,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "%(username)s profili" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Profil düzenle" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "%(username)s tüm medyasını göster" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "E-posta doğrulaması gerekli" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Neredeyse bitti! Hesabınızı etkinleştirmeniz gerekiyor." @@ -1672,7 +2225,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1744,10 +2297,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Bunu silmek için eminim" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1775,73 +2324,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "Maalesef, yorum devre dışı." -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "Amaninnn boo, yorumunuz boştu." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "Yorumunuz gönderildi!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "Medyayı sildiniz." -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "Medya silinmedi çünkü emin olduğunuzu onaylamadınız." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Başka bir kullanıcının medyasını silerken dikkatli davranın." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo index 4fd46427..f1b5b744 100644 Binary files a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po index b0893bca..1c78b150 100644 --- a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/mediagoblin/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -47,12 +47,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -78,174 +78,185 @@ msgstr "" msgid "Resent your verification email." msgstr "" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "" @@ -276,6 +287,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -283,11 +357,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -346,29 +556,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -492,6 +936,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -508,10 +960,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -558,14 +1006,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -625,13 +1065,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -639,7 +1072,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -745,10 +1178,6 @@ msgstr "" msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -776,26 +1205,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -803,32 +1232,28 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -925,37 +1350,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -970,27 +1395,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1014,12 +1428,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1051,6 +1459,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1071,10 +1500,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1132,12 +1563,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1146,35 +1579,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1234,20 +1667,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1255,7 +1688,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1265,24 +1698,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1303,7 +1737,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1312,16 +1746,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1329,7 +1763,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1337,23 +1771,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1361,10 +1795,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1406,6 +1972,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1416,23 +2002,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1475,22 +2065,10 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1539,52 +2117,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "" @@ -1671,7 +2224,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1743,10 +2296,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1774,73 +2323,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo index df4f0c64..9565ed54 100644 Binary files a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po index fcfc2445..69f9aef2 100644 --- a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/projects/p/mediagoblin/language/vi_VN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -47,12 +47,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -78,174 +78,185 @@ msgstr "" msgid "Resent your verification email." msgstr "" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "" @@ -276,6 +287,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -283,11 +357,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -346,29 +556,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -492,6 +936,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -508,10 +960,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -558,14 +1006,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -625,13 +1065,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -639,7 +1072,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -745,10 +1178,6 @@ msgstr "" msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -776,26 +1205,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -803,32 +1232,28 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -925,37 +1350,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -970,27 +1395,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1014,12 +1428,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1051,6 +1459,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1071,10 +1500,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1132,12 +1563,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1146,35 +1579,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1234,20 +1667,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1255,7 +1688,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1265,24 +1698,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1303,7 +1737,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1312,16 +1746,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1329,7 +1763,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1337,23 +1771,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1361,10 +1795,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1406,6 +1972,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1416,23 +2002,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1475,22 +2065,10 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1539,52 +2117,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "" @@ -1671,7 +2224,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1743,10 +2296,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1774,73 +2323,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo index b76272e5..86f1ab75 100644 Binary files a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po index 812b2c50..799199f1 100644 --- a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po @@ -1,25 +1,25 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: # , 2011 # cwebber , 2013 -# m13253 , 2013 +# Star Brilliant , 2013 # medicalwei , 2012 -# m13253 , 2013 +# Star Brilliant , 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/mediagoblin/language/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -52,12 +52,12 @@ msgstr "此字段需填写电子邮件地址。" msgid "Sorry, a user with that name already exists." msgstr "抱歉,该用户名已存在。" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "抱歉,已有用户用该电子邮件注册。" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -83,174 +83,185 @@ msgstr "您已经认证过电子邮件地址了!" msgid "Resent your verification email." msgstr "重发认证邮件。" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "标题" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "该作品的描述" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "您可以用 Markdown 来排版。" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "标签" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "用逗号分隔标签。" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "简称" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "简称不能为空" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "该媒体网址的标题部份。通常不需要修改。" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "许可证" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "个性签名" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "网站" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "本网址出错了" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "当有人对我的媒体评论时给我电子邮件" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "许可证偏好" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "这将是您上传界面的默认许可证。" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "标题不能是空的" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "这个合集的描述" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "此合集网址的标题部份,通常不需要修改。" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "旧的密码" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "输入您的旧密码来证明您拥有这个账户。" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "新密码" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "密码" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "这个简称已经被别人用了" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "您正在修改别人的媒体,请小心操作。" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "您加上了附件“%s”!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "您只能修改自己的个人资料" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "您正在修改别人的个人资料,请小心操作。" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "个人资料已修改" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "账户设置已保存" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "您需要确认删除您的账户。" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "您已经有一个称做“%s”的合集了!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "该用户已经有使用该简称的合集了。" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "您正在修改别人的合集,请小心操作。" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "密码错误" @@ -281,6 +292,69 @@ msgstr "跳过“%s”;已设置过了。\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "“%s”的旧链接已经找到并移除。\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -288,11 +362,147 @@ msgid "" "domain." msgstr "CSRF cookie 不存在。很可能是由类似 cookie 屏蔽器造成的。
请允许本域名的 cookie 设定。" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "抱歉,我不支持这样的文件格式 :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "描述" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "我确定我要删除这个媒体" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "啊哈!已提交!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "由于您没有勾选确认,该媒体没有被移除。" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "编辑" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "删除" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "真的要删除 %(title)s 吗?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "取消" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "永久删除" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "增加" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "无法运行 unoconv,请检查日志" @@ -351,29 +561,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "最新的媒体" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -497,6 +941,14 @@ msgstr "在 OpenStreetMap 上观看" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "允许" @@ -513,10 +965,6 @@ msgstr "名称" msgid "The name of the OAuth client" msgstr "OAuth client 的名称" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "描述" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -563,14 +1011,6 @@ msgstr "OAuth client 连接" msgid "Your OAuth clients" msgstr "您的 OAuth client" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "增加" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -630,13 +1070,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "删除" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -644,7 +1077,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -750,10 +1183,6 @@ msgstr "" msgid "You must provide a file." msgstr "您必须提供一个文件" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "啊哈!已提交!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -781,26 +1210,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "确认您的电子邮件!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "登出" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "%(user_name)s 的账户" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "更改账户设置" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -808,32 +1237,28 @@ msgstr "更改账户设置" msgid "Media processing panel" msgstr "媒体处理面板" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "登出" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "新增媒体" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "新增合集" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "最新的媒体" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -930,37 +1355,37 @@ msgstr "" msgid "Explore" msgstr "探索" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "嘿!欢迎来到 MediaGoblin 站! " -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "本站使用 MediaGoblin——与众不同的媒体分享网站。" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "您可以登录您的 MediaGoblin 账户以上传媒体、张贴评论等等。" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "没有账户吗?开账户很简单!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -975,27 +1400,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "编辑 %(media_title)s 的附件" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "附件" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "新增附件" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "取消" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1019,12 +1433,6 @@ msgstr "真的要删除用户 %(user_name)s 及所有相关媒体和评论吗? msgid "Yes, really delete my account" msgstr "是的,真的删除我的账户" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "永久删除" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1056,6 +1464,27 @@ msgstr "编辑 %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "编辑 %(username)s 的个人资料" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1076,10 +1505,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1137,12 +1568,14 @@ msgid "Created" msgstr "已创建" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "%(media_title)s 的照片" @@ -1151,35 +1584,35 @@ msgstr "%(media_title)s 的照片" msgid "PDF file" msgstr "PDF 文件" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "透视" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "正面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "顶面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "侧面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "下载模型" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "文件格式" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "物体高度" @@ -1239,20 +1672,20 @@ msgstr "现在还没有处理的纪录!" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1260,7 +1693,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1270,24 +1703,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1308,7 +1742,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1317,16 +1751,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1334,7 +1768,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1342,23 +1776,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1366,10 +1800,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "需要认证电子邮件地址" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)s 的个人资料" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "这个用户(还)没有填写个人资料。" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "编辑个人资料" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "浏览合集" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1411,6 +1977,26 @@ msgstr "新增合集" msgid "Add your media" msgstr "加入您的媒体" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "新增评论" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "增加评论" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "已增加" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1421,23 +2007,27 @@ msgstr "%(collection_title)s (%(username)s 的合集)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s by %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "编辑" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "真的要删除 %(title)s 吗?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "确定要从 %(collection_title)s 移除 %(media_title)s 吗?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "移除" @@ -1480,22 +2070,10 @@ msgstr "%(username)s 的媒体" msgid "❖ Browsing media by %(username)s" msgstr "❖ 浏览 %(username)s 的媒体" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "新增评论" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "增加评论" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "已增加" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1544,52 +2122,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "%(username)s 的个人资料" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "这个地方能让您向他人介绍自己。" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "编辑个人资料" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "这个用户(还)没有填写个人资料。" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "浏览合集" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "查看 %(username)s 的全部媒体" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "此处是您的媒体会出现的地方,但是似乎还没有加入任何东西。" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "那里好像还没有任何的媒体……" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "需要认证电子邮件地址" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "快完成了!但您需要激活您的账户。" @@ -1676,7 +2229,7 @@ msgstr "" msgid "Tagged with" msgstr "标签" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "无法读取图片文件。" @@ -1748,10 +2301,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "我确定我要删除这个媒体" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "我确定我要从合集中移除此项目" @@ -1779,73 +2328,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "抱歉,不开放评论。" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "啊,您的评论是空的。" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "您的评论已经张贴完成!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "请检查项目并重试。" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "您需要选择或是新增一个合集" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "“%s”已经在“%s”合集" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "“%s”加入“%s”合集" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "您已经删除此媒体。" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "由于您没有勾选确认,该媒体没有被移除。" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "您正在删除别人的媒体,请小心操作。" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "您已经从该合集中删除该项目。" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "由于您没有勾选确认,该项目没有被移除。" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "您正在从别人的合集中删除项目,请小心操作。" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "您已经删除“%s”合集。" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "由于您没有勾选确认,该合集没有被移除。" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "您正在删除别人的合集,请小心操作。" diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo index 3dabd00b..fa96f8e6 100644 Binary files a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po index 60587db3..18d6900e 100644 --- a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Chinese (Taiwan) (Big5) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW.Big5/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: zh_TW.Big5\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -47,12 +47,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -78,174 +78,185 @@ msgstr "" msgid "Resent your verification email." msgstr "" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "" @@ -276,6 +287,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -283,11 +357,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -346,29 +556,263 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -492,6 +936,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -508,10 +960,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -558,14 +1006,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -625,13 +1065,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -639,7 +1072,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -745,10 +1178,6 @@ msgstr "" msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -776,26 +1205,26 @@ msgstr "" msgid "indefinitely" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -803,32 +1232,28 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -925,37 +1350,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -970,27 +1395,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1014,12 +1428,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1051,6 +1459,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1071,10 +1500,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1132,12 +1563,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1146,35 +1579,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1234,20 +1667,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1255,7 +1688,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1265,24 +1698,25 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1303,7 +1737,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1312,16 +1746,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1329,7 +1763,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1337,23 +1771,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1361,10 +1795,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1406,6 +1972,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1416,23 +2002,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1475,22 +2065,10 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1539,52 +2117,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "" @@ -1671,7 +2224,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1743,10 +2296,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1774,73 +2323,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo index 35beea63..8673b215 100644 Binary files a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po index 67b41aba..aa712f88 100644 --- a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -7,19 +7,19 @@ # Harry Chen , 2011-2012 # medicalwei , 2013 # medicalwei , 2012 -# m13253 , 2013 +# Star Brilliant , 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2013-12-03 19:23+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-10 17:32+0000\n" "Last-Translator: cwebber \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -52,12 +52,12 @@ msgstr "本欄位需要 email 位置。" msgid "Sorry, a user with that name already exists." msgstr "抱歉,這個使用者名稱已經存在。" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "抱歉,此 email 位置已經被註冊了。" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "認証金鑰或使用者 ID 不正確。" @@ -83,174 +83,185 @@ msgstr "您的電子郵件已經確認了!" msgid "Resent your verification email." msgstr "重送認證信。" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "標題" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "這個作品的描述" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "您可以使用\n\nMarkdown 來排版。" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "標籤" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "用逗號分隔標籤。" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "簡稱" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "簡稱不能為空白" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "此媒體網址的標題部份。通常不需要修改。" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "授權" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "自我介紹" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "網站" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "本網址出錯了" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "當有人對我的媒體評論時寄信給我" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "啟用活動的站內通知。" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "授權偏好" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "在上傳頁面,這將會是您預設的授權模式。" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "標題不能是空的" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "這個蒐藏的描述" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "此蒐藏網址的標題部份,通常不需要修改。" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "舊的密碼" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "輸入您的舊密碼來證明您擁有這個帳號。" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "新密碼" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "新的 email 位址" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "密碼" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "輸入您的密碼來證明您擁有這個帳號。" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "這個使用者已經有使用該簡稱的項目了。" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "您正在修改別人的媒體,請小心操作。" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "您加上了附件「%s」!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "您只能修改您自己的個人檔案。" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "您正在修改別人的個人檔案,請小心操作。" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "個人檔案修改已儲存" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "帳號設定已儲存" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "您必須要確認是否刪除您的帳號。" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "您已經有一個稱做「%s」的蒐藏了!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "這個使用者已經有使用該簡稱的蒐藏了。" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "您正在修改別人的蒐藏,請小心操作。" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "您的 email 位址已認証。" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "密碼錯誤" @@ -281,6 +292,69 @@ msgstr "跳過「%s」,已經建置完成。\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "找到「%s」舊的連結,刪除中。\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -288,11 +362,147 @@ msgid "" "domain." msgstr "跨網站存取 (CSRF) 的 cookie 不存在,有可能是 cookie 阻擋程式之類的程式導致的。
請允許此網域的 cookie 設定。" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "抱歉,我不支援這樣的檔案格式 :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "描述" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "我確定我要刪除這個媒體" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "啊哈!PO 上去啦!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "由於您沒有勾選確認,該媒體沒有被移除。" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "編輯" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "刪除" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "真的要刪除 %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "取消" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "永久刪除" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "增加" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv 無法執行,請檢查紀錄檔" @@ -351,29 +561,263 @@ msgstr "已訂閱 %s 的評論!" msgid "You will not receive notifications for comments on %s." msgstr "您將不會收到 %s 的評論通知。" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "必須提供 oauth_token。" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "找不到請求的 token。" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "抱歉,檔案太大了。" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "抱歉,上傳該檔案將會超過您的上傳限制。" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "抱歉,您已經碰到了您的上傳限制。" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "最新的媒體" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -497,6 +941,14 @@ msgstr "在 OpenStreetMap 上觀看" msgid "Sign in to create an account!" msgstr "登入以建立帳號!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "允許" @@ -513,10 +965,6 @@ msgstr "名稱" msgid "The name of the OAuth client" msgstr "OAuth 用戶程式的名稱" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "描述" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -563,14 +1011,6 @@ msgstr "OAuth 用戶程式連線" msgid "Your OAuth clients" msgstr "您的 OAuth 用戶程式" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "增加" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -630,13 +1070,6 @@ msgstr "新增 OpenID" msgid "Delete an OpenID" msgstr "刪除 OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "刪除" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID" @@ -644,7 +1077,7 @@ msgstr "OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -750,10 +1183,6 @@ msgstr "您可以使用\n\nMarkdown 來排版 msgid "You must provide a file." msgstr "您必須提供一個檔案" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "啊哈!PO 上去啦!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -781,26 +1210,26 @@ msgstr "封鎖了,會在 %(until_when)s 解除" msgid "indefinitely" msgstr "永久封鎖了" -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "確認您的電子郵件" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "登出" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "%(user_name)s 的帳號" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "更改帳號設定" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -808,32 +1237,28 @@ msgstr "更改帳號設定" msgid "Media processing panel" msgstr "媒體處理面板" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "登出" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "新增媒體" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "新增新的蒐藏" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "使用者管理面板" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "回報管理面板" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "最新的媒體" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "認証" @@ -930,38 +1355,38 @@ msgstr "使用者條款" msgid "Explore" msgstr "探索" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "嘿!歡迎來到 MediaGoblin 站台! " -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "本站使用 MediaGoblin — 超讚的媒體分享架站軟體。" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "您可以登入您的 MediaGoblin 帳號以進行上傳媒體、張貼評論等等。" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "沒有帳號嗎?開帳號很簡單!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n >在本站建立一個帳號\n 或" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n 在您自己的伺服器上安裝 MediaGoblin" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -975,27 +1400,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "編輯 %(media_title)s 的附件" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "附件" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "新增附件" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "取消" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1019,12 +1433,6 @@ msgstr "真的要刪除使用者「%(user_name)s」以及所有相關的媒體 msgid "Yes, really delete my account" msgstr "是的,我真的要把我的帳號刪除" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "永久刪除" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1056,6 +1464,27 @@ msgstr "編輯 %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "編輯 %(username)s 的個人檔案" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1076,10 +1505,12 @@ msgstr "新的評論" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1137,12 +1568,14 @@ msgid "Created" msgstr "建立於" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr " %(media_title)s 的照片" @@ -1151,35 +1584,35 @@ msgstr " %(media_title)s 的照片" msgid "PDF file" msgstr "PDF 檔" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "透視" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "正面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "頂面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "側面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "下載模型" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "檔案格式" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "物件高度" @@ -1239,20 +1672,20 @@ msgstr "現在還沒有處理的紀錄!" msgid "Sorry, no such report found." msgstr "抱歉,找不到該回報。" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "回到回報面板" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "回報" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "已經回報的評論" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1260,7 +1693,7 @@ msgid "" " " msgstr "\n ❖ 該媒體的回報來自 %(user_name)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1270,24 +1703,25 @@ msgid "" " " msgstr "\n %(user_name)s\n 的內容已被刪除\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "處理" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "處理這項回報" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "狀態" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "已經處理" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "您不能對管理者進行操作" @@ -1308,7 +1742,7 @@ msgid "Active Reports Filed" msgstr "已送出的現行回報" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "被告" @@ -1317,16 +1751,16 @@ msgid "When Reported" msgstr "回報時間" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "原告" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "理由" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1334,7 +1768,7 @@ msgid "" " " msgstr "\n評論回報 #%(report_id)s" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1342,23 +1776,23 @@ msgid "" " " msgstr "\n媒體回報 #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "沒有尚未處理的回報。" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "已結案的回報" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "已處理" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "發生時間" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1366,10 +1800,142 @@ msgid "" " " msgstr "\n已結案回報 #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "找不到已結案的回報。" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "需要認證電子郵件" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)s 的個人檔案" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "這個使用者(還)沒有填寫個人檔案。" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "編輯個人檔案" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "瀏覽蒐藏" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1411,6 +1977,26 @@ msgstr "新增蒐藏" msgid "Add your media" msgstr "加入您的媒體" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "新增評論" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "增加評論" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "新增於" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1421,23 +2007,27 @@ msgstr "%(collection_title)s (%(username)s 的蒐藏)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s by %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "編輯" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "真的要刪除 %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "確定要從 %(collection_title)s 移除 %(media_title)s 嗎?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "移除" @@ -1480,22 +2070,10 @@ msgstr "%(username)s 的媒體" msgid "❖ Browsing media by %(username)s" msgstr "❖ 瀏覽 %(username)s 的媒體" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "新增評論" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "增加評論" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "評論預覽" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "新增於" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1544,52 +2122,27 @@ msgstr "\n❖ 由 %(usern msgid "File Report " msgstr "送出回報" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "%(username)s 的個人檔案" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "這個地方能讓您向他人介紹自己。" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "編輯個人檔案" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "這個使用者(還)沒有填寫個人檔案。" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "瀏覽蒐藏" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "查看 %(username)s 的全部媒體" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "此處是您的媒體會出現的地方,但是似乎還沒有加入任何東西。" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "那裡好像還沒有任何的媒體…" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "需要認證電子郵件" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "快完成了!但您需要啟用您的帳號。" @@ -1676,7 +2229,7 @@ msgstr "回報媒體" msgid "Tagged with" msgstr "標籤" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "無法讀取圖片檔案。" @@ -1748,10 +2301,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "您可以使用 Markdown 來排版。" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "我確定我要刪除這個媒體" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "我確定我要從蒐藏中移除此項目" @@ -1779,73 +2328,69 @@ msgstr "您可以使用\n\nMark msgid "Reason for Reporting" msgstr "回報理由" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "抱歉,評論被關閉了。" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "啊,您的評論是空的。" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "您的評論已經張貼完成!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "請檢查項目並重試。" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "您需要選擇或是新增一個蒐藏" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "「%s」已經在「%s」蒐藏" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "「%s」加入「%s」蒐藏" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "您已經刪除此媒體。" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "由於您沒有勾選確認,該媒體沒有被移除。" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "您正在刪除別人的媒體,請小心操作。" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "您已經從該蒐藏中刪除該項目。" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "由於您沒有勾選確認,該項目沒有被移除。" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "您正在從別人的蒐藏中刪除項目,請小心操作。" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "您已經刪除「%s」蒐藏。" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "由於您沒有勾選確認,該蒐藏沒有被移除。" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "您正在刪除別人的蒐藏,請小心操作。" -- cgit v1.2.3 From e99431cc05dd6282f55d1e4cf18248e9d282455c Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sat, 12 Jul 2014 08:59:55 -0500 Subject: As Elrond points out, git submodule should come first! This commit sponsored by Sebastien Hut. Thanks Sebastien! --- docs/source/siteadmin/deploying.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/siteadmin/deploying.rst b/docs/source/siteadmin/deploying.rst index 3ff2b9ea..3f4a59cd 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -244,7 +244,7 @@ This concludes the initial configuration of the development environment. In the future, when you update your codebase, you should also run:: - ./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate && git submodule update + git submodule update && ./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate Note: If you are running an active site, depending on your server configuration, you may need to stop it first or the dbupdate command -- cgit v1.2.3 From ffbf9c8b438ef8d203da54807b6ff5db3cc4d334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Odin=20H=C3=B8rthe=20Omdal?= Date: Mon, 12 May 2014 23:41:03 +0200 Subject: Implement Raw Image media type plugin --- docs/source/siteadmin/media-types.rst | 28 ++++++++- mediagoblin/media_types/image/__init__.py | 2 - mediagoblin/media_types/raw_image/__init__.py | 37 +++++++++++ mediagoblin/media_types/raw_image/models.py | 21 +++++++ mediagoblin/media_types/raw_image/processing.py | 82 +++++++++++++++++++++++++ 5 files changed, 165 insertions(+), 5 deletions(-) create mode 100644 mediagoblin/media_types/raw_image/__init__.py create mode 100644 mediagoblin/media_types/raw_image/models.py create mode 100644 mediagoblin/media_types/raw_image/processing.py diff --git a/docs/source/siteadmin/media-types.rst b/docs/source/siteadmin/media-types.rst index 3e8a94e9..44ad02bb 100644 --- a/docs/source/siteadmin/media-types.rst +++ b/docs/source/siteadmin/media-types.rst @@ -1,6 +1,6 @@ .. MediaGoblin Documentation - Written in 2011, 2012 by MediaGoblin contributors + Written in 2011, 2012, 2014 by MediaGoblin contributors To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to @@ -18,8 +18,8 @@ Media Types ==================== In the future, there will be all sorts of media types you can enable, -but in the meanwhile there are five additional media types: video, audio, -ascii art, STL/3d models, PDF and Document. +but in the meanwhile there are six additional media types: video, audio, +raw image, ascii art, STL/3d models, PDF and Document. First, you should probably read ":doc:`configuration`" to make sure you know how to modify the mediagoblin config file. @@ -149,6 +149,28 @@ Run You should now be able to upload and listen to audio files! +Raw image +========= + +To enable raw image you need to install pyexiv2. On Debianoid systems + +.. code-block:: bash + + sudo apt-get install python-pyexiv2 + +Add ``[[mediagoblin.media_types.raw_image]]`` under the ``[plugins]`` +section in your ``mediagoblin_local.ini`` and restart MediaGoblin. + +Run + +.. code-block:: bash + + ./bin/gmg dbupdate + +Now you should be able to submit raw images, and mediagoblin should +extract the JPEG preview from them. + + Ascii art ========= diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index f5b49f01..06e0f08f 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -27,8 +27,6 @@ _log = logging.getLogger(__name__) ACCEPTED_EXTENSIONS = ["jpg", "jpeg", "png", "gif", "tiff"] MEDIA_TYPE = 'mediagoblin.media_types.image' -def setup_plugin(): - config = pluginapi.get_config(MEDIA_TYPE) class ImageMediaManager(MediaManagerBase): human_readable = "Image" diff --git a/mediagoblin/media_types/raw_image/__init__.py b/mediagoblin/media_types/raw_image/__init__.py new file mode 100644 index 00000000..046a9b2a --- /dev/null +++ b/mediagoblin/media_types/raw_image/__init__.py @@ -0,0 +1,37 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2014 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +from mediagoblin.media_types.image import ImageMediaManager +from mediagoblin.media_types.raw_image.processing import ( + ACCEPTED_EXTENSIONS, MEDIA_TYPE, + RawImageProcessingManager, sniff_handler) + + +class RawImageMediaManager(ImageMediaManager): + human_readable = "Raw image" + + +def get_media_type_and_manager(ext): + if ext in ACCEPTED_EXTENSIONS: + return MEDIA_TYPE, RawImageMediaManager + + +hooks = { + 'get_media_type_and_manager': get_media_type_and_manager, + 'sniff_handler': sniff_handler, + ('media_manager', MEDIA_TYPE): lambda: RawImageMediaManager, + ('reprocess_manager', MEDIA_TYPE): lambda: RawImageProcessingManager, +} diff --git a/mediagoblin/media_types/raw_image/models.py b/mediagoblin/media_types/raw_image/models.py new file mode 100644 index 00000000..d3d68b93 --- /dev/null +++ b/mediagoblin/media_types/raw_image/models.py @@ -0,0 +1,21 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2014 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +from mediagoblin.media_types.image.models import ( + BACKREF_NAME, DATA_MODEL) + + +MODELS = None diff --git a/mediagoblin/media_types/raw_image/processing.py b/mediagoblin/media_types/raw_image/processing.py new file mode 100644 index 00000000..83b01559 --- /dev/null +++ b/mediagoblin/media_types/raw_image/processing.py @@ -0,0 +1,82 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2014 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import os +import logging + +# This needs to handle the case where it's missing +import pyexiv2 + +from mediagoblin.media_types.image.processing import ( + InitialProcessor, Resizer) +from mediagoblin.processing import ( + FilenameBuilder, ProcessingManager) + + +_log = logging.getLogger(__name__) + +MEDIA_TYPE = 'mediagoblin.media_types.raw_image' +ACCEPTED_EXTENSIONS = ['nef',] + + +# The entire function have to be copied + +def sniff_handler(media_file, filename): + _log.info('Sniffing {0}'.format(MEDIA_TYPE)) + name, ext = os.path.splitext(filename) + clean_ext = ext[1:].lower() # Strip the . from ext and make lowercase + + if clean_ext in ACCEPTED_EXTENSIONS: + _log.info('Found file extension in supported filetypes') + return MEDIA_TYPE + else: + _log.debug('Media present, extension not found in {0}'.format( + ACCEPTED_EXTENSIONS)) + + return None + + +class InitialRawProcessor(InitialProcessor): + def common_setup(self): + """ + Pull out a full-size JPEG-preview + """ + super(self.__class__, self).common_setup() + + self._original_raw = self.process_filename + + # Read EXIF data + md = pyexiv2.ImageMetadata(self._original_raw) + md.read() + self.process_filename = os.path.join(self.conversions_subdir, + self.entry.queued_media_file[-1]) + + # Extract the biggest preview and write it as our working image + md.previews[-1].write_to_file( + self.process_filename.encode('utf-8')) + self.process_filename += ".jpg" + _log.debug('Wrote new file from {0} to preview (jpg) {1}'.format( + self._original_raw, self.process_filename)) + + # Override the namebuilder with our new jpg-based name + self.name_builder = FilenameBuilder(self.process_filename) + + +class RawImageProcessingManager(ProcessingManager): + def __init__(self): + super(self.__class__, self).__init__() + self.add_processor(InitialRawProcessor) + self.add_processor(Resizer) -- cgit v1.2.3 From 892eed590fb30131ea2e8612da5ba22fa24f690c Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Thu, 17 Jul 2014 14:58:24 +0100 Subject: Fix #894 - index User.username field This commit sponsored by Emily O'Leary. Thank you! --- mediagoblin/db/migrations.py | 16 +++++++++++++++- mediagoblin/db/models.py | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 8e0b5096..59aec4d2 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -19,7 +19,7 @@ import uuid from sqlalchemy import (MetaData, Table, Column, Boolean, SmallInteger, Integer, Unicode, UnicodeText, DateTime, - ForeignKey, Date) + ForeignKey, Date, Index) from sqlalchemy.exc import ProgrammingError from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.sql import and_ @@ -789,3 +789,17 @@ def fix_privilege_user_association_table(db): privilege_user_assoc.c.core__privilege_id.alter(name="user") db.commit() + +@RegisterMigration(22, MIGRATIONS) +def add_index_username_field(db): + """ + This indexes the User.username field which is frequently queried + for example a user logging in. This solves the issue #894 + """ + metadata = MetaData(bind=db.bind) + user_table = inspect_table(metadata, "core__users") + + new_index = Index("ix_core__users_uploader", user_table.c.username) + new_index.create() + + db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index e388bd5b..643d5d41 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -57,7 +57,7 @@ class User(Base, UserMixin): __tablename__ = "core__users" id = Column(Integer, primary_key=True) - username = Column(Unicode, nullable=False, unique=True) + username = Column(Unicode, nullable=False, unique=True, index=True) # Note: no db uniqueness constraint on email because it's not # reliable (many email systems case insensitive despite against # the RFC) and because it would be a mess to implement at this -- cgit v1.2.3 From 8c311def96a8e68afeedeb43b38ee019788ca542 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 17 Jul 2014 15:04:03 -0500 Subject: Explicitly *do not* handle NEF files via the video media type. Gstreamer might think it's a good idea, but it isn't. --- mediagoblin/media_types/video/processing.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index 454f4ac4..c21c74b3 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -44,7 +44,16 @@ class VideoTranscodingFail(BaseProcessingFail): general_message = _(u'Video transcoding failed') +EXCLUDED_EXTS = ["nef"] + def sniff_handler(media_file, filename): + name, ext = os.path.splitext(filename) + clean_ext = ext.lower()[1:] + + if clean_ext in EXCLUDED_EXTS: + # We don't handle this filetype, though gstreamer might think we can + return None + transcoder = transcoders.VideoTranscoder() data = transcoder.discover(media_file.name) -- cgit v1.2.3 From 09bed9a7328c806873405bd2ec5a5cf72930e89c Mon Sep 17 00:00:00 2001 From: Tryggvi Bjorgvinsson Date: Fri, 28 Feb 2014 23:25:02 +0000 Subject: Use unicode for logging comments The comment problems detailed in issue 791 are related to logging of comments creation. The log tries to format unicode comments into an ascii string (that is the unicode comment content). This also creates problems with mark seen functionality since that also logs the comments which breaks and you end up with a lot of international comments in your message queue. This commit makes both log messages unicode as well as the representation of the comment. --- mediagoblin/db/mixin.py | 2 +- mediagoblin/db/models.py | 2 +- mediagoblin/notifications/__init__.py | 2 +- mediagoblin/notifications/task.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py index 048cc07c..3d96ba34 100644 --- a/mediagoblin/db/mixin.py +++ b/mediagoblin/db/mixin.py @@ -295,7 +295,7 @@ class MediaCommentMixin(object): return cleaned_markdown_conversion(self.content) def __repr__(self): - return '<{klass} #{id} {author} "{comment}">'.format( + return u'<{klass} #{id} {author} "{comment}">'.format( klass=self.__class__.__name__, id=self.id, author=self.get_author, diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 643d5d41..4c9345fc 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -666,7 +666,7 @@ class Notification(Base): } def __repr__(self): - return '<{klass} #{id}: {user}: {subject} ({seen})>'.format( + return u'<{klass} #{id}: {user}: {subject} ({seen})>'.format( id=self.id, klass=self.__class__.__name__, user=self.user, diff --git a/mediagoblin/notifications/__init__.py b/mediagoblin/notifications/__init__.py index b6f9f478..c7a9a1fb 100644 --- a/mediagoblin/notifications/__init__.py +++ b/mediagoblin/notifications/__init__.py @@ -65,7 +65,7 @@ def mark_comment_notification_seen(comment_id, user): user_id=user.id, subject_id=comment_id).first() - _log.debug('Marking {0} as seen.'.format(notification)) + _log.debug(u'Marking {0} as seen.'.format(notification)) mark_notification_seen(notification) diff --git a/mediagoblin/notifications/task.py b/mediagoblin/notifications/task.py index 52573b57..d915212a 100644 --- a/mediagoblin/notifications/task.py +++ b/mediagoblin/notifications/task.py @@ -35,7 +35,7 @@ class EmailNotificationTask(Task): ''' def run(self, notification_id, message): cn = CommentNotification.query.filter_by(id=notification_id).first() - _log.info('Sending notification email about {0}'.format(cn)) + _log.info(u'Sending notification email about {0}'.format(cn)) return send_email( message['from'], -- cgit v1.2.3 From 58432bcb8cf1795b90bc08b1a9615c64d77e1e3a Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Fri, 18 Jul 2014 18:01:58 +0100 Subject: Add JPope's sandy 70s speedboat theme --- .gitignore | 5 ++++- .gitmodules | 3 +++ user_dev/themes/sandyseventiesspeedboat | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) create mode 160000 user_dev/themes/sandyseventiesspeedboat diff --git a/.gitignore b/.gitignore index 2524739f..53c91384 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ /docs/build /api-docs/build /api-docs/source/mediagoblin* -/user_dev/ +/user_dev/* /paste_local.ini /mediagoblin_local.ini /mediagoblin.db @@ -25,6 +25,9 @@ /kombu.db /server-log.txt +# Unignore theme directory +!/user_dev/themes/ + # pyconfigure/automake generated files /Makefile /autom4te.cache/ diff --git a/.gitmodules b/.gitmodules index 20fa20e2..a71a2ccd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "extlib/skeleton"] path = extlib/skeleton url = git://github.com/dhg/Skeleton.git +[submodule "user_dev/themes/sandyseventiesspeedboat"] + path = user_dev/themes/sandyseventiesspeedboat + url = https://github.com/jpope777/sandyseventiesspeedboat-mg.git diff --git a/user_dev/themes/sandyseventiesspeedboat b/user_dev/themes/sandyseventiesspeedboat new file mode 160000 index 00000000..994294e5 --- /dev/null +++ b/user_dev/themes/sandyseventiesspeedboat @@ -0,0 +1 @@ +Subproject commit 994294e59a5248e29af4418903ce4fb40bd67bec -- cgit v1.2.3 From 043b108f544e444f80d08ab4cccee395a4af49de Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Sun, 20 Jul 2014 09:28:30 +0100 Subject: Revert "Add JPope's sandy 70s speedboat theme" The theme is in the wrong place. Elrond suggested in IRC that actually it should go in mediagoblin/themes. This reverts commit 58432bcb8cf1795b90bc08b1a9615c64d77e1e3a. --- .gitignore | 5 +---- .gitmodules | 3 --- user_dev/themes/sandyseventiesspeedboat | 1 - 3 files changed, 1 insertion(+), 8 deletions(-) delete mode 160000 user_dev/themes/sandyseventiesspeedboat diff --git a/.gitignore b/.gitignore index 53c91384..2524739f 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ /docs/build /api-docs/build /api-docs/source/mediagoblin* -/user_dev/* +/user_dev/ /paste_local.ini /mediagoblin_local.ini /mediagoblin.db @@ -25,9 +25,6 @@ /kombu.db /server-log.txt -# Unignore theme directory -!/user_dev/themes/ - # pyconfigure/automake generated files /Makefile /autom4te.cache/ diff --git a/.gitmodules b/.gitmodules index a71a2ccd..20fa20e2 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,6 +7,3 @@ [submodule "extlib/skeleton"] path = extlib/skeleton url = git://github.com/dhg/Skeleton.git -[submodule "user_dev/themes/sandyseventiesspeedboat"] - path = user_dev/themes/sandyseventiesspeedboat - url = https://github.com/jpope777/sandyseventiesspeedboat-mg.git diff --git a/user_dev/themes/sandyseventiesspeedboat b/user_dev/themes/sandyseventiesspeedboat deleted file mode 160000 index 994294e5..00000000 --- a/user_dev/themes/sandyseventiesspeedboat +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 994294e59a5248e29af4418903ce4fb40bd67bec -- cgit v1.2.3 From 59ff4790c9f33fe13ee0a411d4152bd256eaa06a Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Sun, 20 Jul 2014 09:47:58 +0100 Subject: Add JPope's sandy 70s speedboat theme --- .gitmodules | 3 +++ extlib/sandyseventiesspeedboat | 1 + mediagoblin.ini | 6 +++--- mediagoblin/themes/sandyseventiesspeedboat | 1 + 4 files changed, 8 insertions(+), 3 deletions(-) create mode 160000 extlib/sandyseventiesspeedboat create mode 120000 mediagoblin/themes/sandyseventiesspeedboat diff --git a/.gitmodules b/.gitmodules index 20fa20e2..562ad4e4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "extlib/skeleton"] path = extlib/skeleton url = git://github.com/dhg/Skeleton.git +[submodule "extlib/sandyseventiesspeedboat"] + path = extlib/sandyseventiesspeedboat + url = https://github.com/jpope777/sandyseventiesspeedboat-mg.git diff --git a/extlib/sandyseventiesspeedboat b/extlib/sandyseventiesspeedboat new file mode 160000 index 00000000..994294e5 --- /dev/null +++ b/extlib/sandyseventiesspeedboat @@ -0,0 +1 @@ +Subproject commit 994294e59a5248e29af4418903ce4fb40bd67bec diff --git a/mediagoblin.ini b/mediagoblin.ini index 4f94b6e4..5e2477a4 100644 --- a/mediagoblin.ini +++ b/mediagoblin.ini @@ -27,9 +27,9 @@ allow_reporting = true # local_templates = %(here)s/user_dev/templates/ ## You can set your theme by specifying this (not specifying it will -## use the default theme). Run `gmg theme assetlink` to apply the change. -## The airy theme comes with GMG; please see the theming docs on how to -## install other themes. +## use the default theme). Run `gmg assetlink` to apply the change. +## The airy and sandyseventiesspeedboat theme comes with GMG; please +## see the theming docs on how to install other themes. # theme = airy ## If you want the terms of service displayed, you can uncomment this diff --git a/mediagoblin/themes/sandyseventiesspeedboat b/mediagoblin/themes/sandyseventiesspeedboat new file mode 120000 index 00000000..eb1b9db3 --- /dev/null +++ b/mediagoblin/themes/sandyseventiesspeedboat @@ -0,0 +1 @@ +../../extlib/sandyseventiesspeedboat/ \ No newline at end of file -- cgit v1.2.3 From 637b966ac20e448d17b310ccbf29389410d7cdf2 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Mon, 29 Jul 2013 17:31:42 +0100 Subject: Adds seralize on user --- mediagoblin/db/models.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 4c9345fc..b96129ae 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -136,6 +136,16 @@ class User(Base, UserMixin): return UserBan.query.get(self.id) is not None + def serialize(self, request): + user = { + "preferredUsername": self.username, + "displayName": "{username}@{server}".format(username=self.username, server=request.url) + "objectType": "person", + "url": self.url, + "links": { + }, + } + class Client(Base): """ Model representing a client - Used for API Auth -- cgit v1.2.3 From d7b3805f2dde435e211560ba6500cc30780739eb Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Mon, 29 Jul 2013 21:53:08 +0100 Subject: Starts the user (profile) endpoint and lays groundwork for inbox and feed endpoint --- mediagoblin/db/models.py | 26 ++++++++++++++++++++++- mediagoblin/decorators.py | 2 +- mediagoblin/federation/__init__.py | 0 mediagoblin/federation/routing.py | 43 ++++++++++++++++++++++++++++++++++++++ mediagoblin/federation/views.py | 42 +++++++++++++++++++++++++++++++++++++ 5 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 mediagoblin/federation/__init__.py create mode 100644 mediagoblin/federation/routing.py create mode 100644 mediagoblin/federation/views.py diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index b96129ae..61a7f251 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -138,13 +138,37 @@ class User(Base, UserMixin): def serialize(self, request): user = { + "id": "acct:{0}@{1}".format(self.username, request.url), "preferredUsername": self.username, - "displayName": "{username}@{server}".format(username=self.username, server=request.url) + "displayName": "{0}@{1}".format(self.username, request.url), "objectType": "person", "url": self.url, + "summary": self.bio, "links": { + "self": { + "href": request.urlgen( + "mediagoblin.federation.profile", + username=self.username, + qualified=True + ), + }, + "activity-inbox": { + "href": request.urlgen( + "mediagoblin.federation.inbox", + username=self.username, + qualified=True + ) + }, + "activity-outbox": { + "href": request.urlgen( + "mediagoblin.federation.feed", + username=self.username, + qualified=True + ) + }, }, } + return user class Client(Base): """ diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py index 8515d091..040a11fa 100644 --- a/mediagoblin/decorators.py +++ b/mediagoblin/decorators.py @@ -401,7 +401,7 @@ def oauth_required(controller): request_validator = GMGRequestValidator() resource_endpoint = ResourceEndpoint(request_validator) - valid, request = resource_endpoint.validate_protected_resource_request( + valid, r = resource_endpoint.validate_protected_resource_request( uri=request.url, http_method=request.method, body=request.get_data(), diff --git a/mediagoblin/federation/__init__.py b/mediagoblin/federation/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py new file mode 100644 index 00000000..9c3e0dff --- /dev/null +++ b/mediagoblin/federation/routing.py @@ -0,0 +1,43 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +from mediagoblin.tools.routing import add_route + +# Add user profile +add_route( + "mediagoblin.federation.user", + "/api/user//", + "mediagoblin.federation.views:user" + ) + +add_route( + "mediagoblin.federation.profile", + "/api/user//profile", + "mediagoblin.federation.views:user" + ) + +# Inbox and Outbox (feed) +add_route( + "mediagoblin.federation.feed", + "/api/user//feed", + "mediagoblin.federation.views:feed" + ) + +add_route( + "mediagoblin.federation.inbox", + "/api/user//inbox", + "mediagoblin.federation.views:inbox" + ) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py new file mode 100644 index 00000000..337f28ed --- /dev/null +++ b/mediagoblin/federation/views.py @@ -0,0 +1,42 @@ +from mediagoblin.decorators import oauth_required +from mediagoblin.db.models import User +from mediagoblin.tools.response import json_response + +@oauth_required +def user(request): + """ Handles user response at /api/user// """ + user = request.matchdict["username"] + requested_user = User.query.filter_by(username=user) + + # check if the user exists + if requested_user is None: + error = "No such 'user' with id '{0}'".format(user) + return json_response({"error": error}, status=404) + + user = requested_user[0] + + # user profiles are public so return information + return json_response(user.serialize(request)) + +@oauth_required +def feed(request): + """ Handles the user's outbox - /api/user//feed """ + user = request.matchdict["username"] + requested_user = User.query.filter_by(username=user) + + # check if the user exists + if requested_user is None: + error = "No such 'user' with id '{0}'".format(user) + return json_response({"error": error}, status=404) + + user = request_user[0] + + # Now lookup the user's feed. + raise NotImplemented("Yet to implement looking up user's feed") + +@oauth_required +def inbox(request): + """ Handles the user's inbox - /api/user//inbox """ + pass + + raise NotImplemented("Yet to implement looking up user's inbox") -- cgit v1.2.3 From e590179ab61c873acfa291f93cba7cc412432a58 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 14 Aug 2013 15:41:02 +0100 Subject: Adds migration on MediaEntry to add uuid --- mediagoblin/db/migrations.py | 1 - mediagoblin/db/models.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 59aec4d2..85b1eded 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -466,7 +466,6 @@ def create_oauth1_tables(db): db.commit() - @RegisterMigration(15, MIGRATIONS) def wants_notifications(db): """Add a wants_notifications field to User model""" diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 61a7f251..02392792 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -20,6 +20,7 @@ TODO: indexes on foreignkeys, where useful. import logging import datetime +import base64 from sqlalchemy import Column, Integer, Unicode, UnicodeText, DateTime, \ Boolean, ForeignKey, UniqueConstraint, PrimaryKeyConstraint, \ @@ -422,7 +423,6 @@ class MediaEntry(Base, MediaEntryMixin): # pass through commit=False/True in kwargs super(MediaEntry, self).delete(**kwargs) - class FileKeynames(Base): """ keywords for various places. -- cgit v1.2.3 From 3015d31a79dcb12b641d70f36eda6536f36a04c8 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 14 Aug 2013 15:49:12 +0100 Subject: Adds the federation routing --- mediagoblin/routing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/routing.py b/mediagoblin/routing.py index 9f2584d3..7d9d01ee 100644 --- a/mediagoblin/routing.py +++ b/mediagoblin/routing.py @@ -39,8 +39,8 @@ def get_url_map(): import mediagoblin.listings.routing import mediagoblin.notifications.routing import mediagoblin.oauth.routing + import mediagoblin.federation.routing - for route in PluginManager().get_routes(): add_route(*route) -- cgit v1.2.3 From 2b7b9de32e53d34635059afc571ac1a318e41071 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 14 Aug 2013 16:16:49 +0100 Subject: Make sure new media has a new uuid added on --- mediagoblin/db/migrations.py | 13 ++++++------- mediagoblin/db/models.py | 4 ++++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 85b1eded..242d72d9 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -25,12 +25,11 @@ from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.sql import and_ from migrate.changeset.constraint import UniqueConstraint - from mediagoblin.db.extratypes import JSONEncoded, MutationDict from mediagoblin.db.migration_tools import ( RegisterMigration, inspect_table, replace_table_hack) -from mediagoblin.db.models import (MediaEntry, Collection, MediaComment, User, - Privilege) +from mediagoblin.db.models import (MediaEntry, Collection, MediaComment, User, + create_uuid, Privilege) from mediagoblin.db.extratypes import JSONEncoded, MutationDict MIGRATIONS = {} @@ -659,8 +658,8 @@ def create_moderation_tables(db): # admin, an active user or an inactive user ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ for admin_user in admin_users_ids: admin_user_id = admin_user['id'] - for privilege_id in [admin_privilege_id, uploader_privilege_id, - reporter_privilege_id, commenter_privilege_id, + for privilege_id in [admin_privilege_id, uploader_privilege_id, + reporter_privilege_id, commenter_privilege_id, active_privilege_id]: db.execute(user_privilege_assoc.insert().values( core__privilege_id=admin_user_id, @@ -668,7 +667,7 @@ def create_moderation_tables(db): for active_user in active_users_ids: active_user_id = active_user['id'] - for privilege_id in [uploader_privilege_id, reporter_privilege_id, + for privilege_id in [uploader_privilege_id, reporter_privilege_id, commenter_privilege_id, active_privilege_id]: db.execute(user_privilege_assoc.insert().values( core__privilege_id=active_user_id, @@ -676,7 +675,7 @@ def create_moderation_tables(db): for inactive_user in inactive_users_ids: inactive_user_id = inactive_user['id'] - for privilege_id in [uploader_privilege_id, reporter_privilege_id, + for privilege_id in [uploader_privilege_id, reporter_privilege_id, commenter_privilege_id]: db.execute(user_privilege_assoc.insert().values( core__privilege_id=inactive_user_id, diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 02392792..e1b37aa0 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -237,6 +237,10 @@ class NonceTimestamp(Base): timestamp = Column(DateTime, nullable=False, primary_key=True) +def create_uuid(): + """ Creates a new uuid which is suitable for use in a URL """ + return base64.urlsafe_b64encode(uuid.uuid4().bytes).strip("=") + class MediaEntry(Base, MediaEntryMixin): """ TODO: Consider fetching the media_files using join -- cgit v1.2.3 From 5a2056f7386371bd84b9481380235bb0f06ca149 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 14 Aug 2013 17:00:26 +0100 Subject: Adds endpoint /api/image/ so that you can now view an image endpoint --- mediagoblin/federation/routing.py | 7 +++++++ mediagoblin/federation/views.py | 42 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index 9c3e0dff..9c870588 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -41,3 +41,10 @@ add_route( "/api/user//inbox", "mediagoblin.federation.views:inbox" ) + +# object endpoints +add_route( + "mediagoblin.federation.object", + "/api//", + "mediagoblin.federation.views:object" + ) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 337f28ed..de9084d0 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -1,5 +1,5 @@ from mediagoblin.decorators import oauth_required -from mediagoblin.db.models import User +from mediagoblin.db.models import User, MediaEntry from mediagoblin.tools.response import json_response @oauth_required @@ -37,6 +37,42 @@ def feed(request): @oauth_required def inbox(request): """ Handles the user's inbox - /api/user//inbox """ - pass - raise NotImplemented("Yet to implement looking up user's inbox") + +def image_object(request, media): + """ Return image object - /api/image/ """ + author = media.get_uploader + url = request.urlgen( + "mediagoblin.user_pages.media_home", + user=author.username, + media=media.slug, + qualified=True + ) + + context = { + "author": author.serialize(request), + "displayName": media.title, + "objectType": "image", + "url": url, + } + + return json_response(context) + +@oauth_required +def object(request): + """ Lookup for a object type """ + objectType = request.matchdict["objectType"] + uuid = request.matchdict["uuid"] + if objectType not in ["image"]: + error = "Unknown type: {0}".format(objectType) + # not sure why this is 404, maybe ask evan. Maybe 400? + return json_response({"error": error}, status=404) + + media = MediaEntry.query.filter_by(uuid=uuid).first() + if media is None: + # no media found with that uuid + error = "Can't find a {0} with ID = {1}".format(objectType, uuid) + return json_response({"error": error}, status=404) + + if objectType == "image": + return image_object(request, media) -- cgit v1.2.3 From bdde87a4b3a584a2dde5803b1a069496aee73daf Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 14 Aug 2013 17:51:36 +0100 Subject: Changes serialization to .serialize method on object - MediaEntry --- mediagoblin/db/models.py | 43 +++++++++++++++++++++++++++++++++++++++++ mediagoblin/federation/views.py | 22 +-------------------- 2 files changed, 44 insertions(+), 21 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index e1b37aa0..404aaa94 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -427,6 +427,37 @@ class MediaEntry(Base, MediaEntryMixin): # pass through commit=False/True in kwargs super(MediaEntry, self).delete(**kwargs) + @property + def objectType(self): + """ Converts media_type to pump-like type - don't use internally """ + return self.media_type.split(".")[-1] + + def serialize(self, request): + """ Unserialize MediaEntry to object """ + author = self.get_uploader + url = request.urlgen( + "mediagoblin.user_pages.media_home", + user=author.username, + media=self.slug, + qualified=True + ) + + id = request.urlgen( + "mediagoblin.federation.object", + objectType=self.objectType, + uuid=self.uuid, + qualified=True + ) + + context = { + "id": id, + "author": author.serialize(request), + "displayName": self.title, + "objectType": self.objectType, + "url": url, + } + return context + class FileKeynames(Base): """ keywords for various places. @@ -573,6 +604,18 @@ class MediaComment(Base, MediaCommentMixin): cascade="all, delete-orphan")) + def serialize(self, request): + """ Unserialize to python dictionary for API """ + media = MediaEntry.query.filter_by(self.media_entry).first() + context = { + "objectType": "comment", + "content": self.content, + "inReplyTo": media.unserialize(request), + "author": self.get_author.unserialize(request) + } + + return context + class Collection(Base, CollectionMixin): """An 'album' or 'set' of media by a user. diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index de9084d0..3fe5b3b5 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -39,25 +39,6 @@ def inbox(request): """ Handles the user's inbox - /api/user//inbox """ raise NotImplemented("Yet to implement looking up user's inbox") -def image_object(request, media): - """ Return image object - /api/image/ """ - author = media.get_uploader - url = request.urlgen( - "mediagoblin.user_pages.media_home", - user=author.username, - media=media.slug, - qualified=True - ) - - context = { - "author": author.serialize(request), - "displayName": media.title, - "objectType": "image", - "url": url, - } - - return json_response(context) - @oauth_required def object(request): """ Lookup for a object type """ @@ -74,5 +55,4 @@ def object(request): error = "Can't find a {0} with ID = {1}".format(objectType, uuid) return json_response({"error": error}, status=404) - if objectType == "image": - return image_object(request, media) + return json_response(media.serialize(request)) -- cgit v1.2.3 From a840d2a848743fe36fc800557de7bb7a6e693b57 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 14 Aug 2013 18:23:52 +0100 Subject: Adds comments for the MediaEntry api --- mediagoblin/db/models.py | 21 ++++++++++++++++----- mediagoblin/federation/views.py | 4 ++-- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 404aaa94..6d6b2032 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -432,7 +432,7 @@ class MediaEntry(Base, MediaEntryMixin): """ Converts media_type to pump-like type - don't use internally """ return self.media_type.split(".")[-1] - def serialize(self, request): + def serialize(self, request, show_comments=True): """ Unserialize MediaEntry to object """ author = self.get_uploader url = request.urlgen( @@ -456,6 +456,17 @@ class MediaEntry(Base, MediaEntryMixin): "objectType": self.objectType, "url": url, } + + if show_comments: + comments = [comment.serialize(request) for comment in self.get_comments()] + total = len(comments) + if total > 0: + # we only want to include replies if there are any. + context["replies"] = { + "totalItems": total, + "items": comments + } + return context class FileKeynames(Base): @@ -603,15 +614,15 @@ class MediaComment(Base, MediaCommentMixin): lazy="dynamic", cascade="all, delete-orphan")) - def serialize(self, request): """ Unserialize to python dictionary for API """ - media = MediaEntry.query.filter_by(self.media_entry).first() + media = MediaEntry.query.filter_by(id=self.media_entry).first() + author = self.get_author context = { "objectType": "comment", "content": self.content, - "inReplyTo": media.unserialize(request), - "author": self.get_author.unserialize(request) + "inReplyTo": media.serialize(request, show_comments=False), + "author": author.serialize(request) } return context diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 3fe5b3b5..b3f63db5 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -2,7 +2,7 @@ from mediagoblin.decorators import oauth_required from mediagoblin.db.models import User, MediaEntry from mediagoblin.tools.response import json_response -@oauth_required +#@oauth_required def user(request): """ Handles user response at /api/user// """ user = request.matchdict["username"] @@ -39,7 +39,7 @@ def inbox(request): """ Handles the user's inbox - /api/user//inbox """ raise NotImplemented("Yet to implement looking up user's inbox") -@oauth_required +#@oauth_required def object(request): """ Lookup for a object type """ objectType = request.matchdict["objectType"] -- cgit v1.2.3 From c8bd2542d7b8face6033884fccfb898be1d12989 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 14 Aug 2013 18:32:27 +0100 Subject: Fixes where User id in API would return url rather than host --- mediagoblin/db/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 6d6b2032..281c09d9 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -139,7 +139,7 @@ class User(Base, UserMixin): def serialize(self, request): user = { - "id": "acct:{0}@{1}".format(self.username, request.url), + "id": "acct:{0}@{1}".format(self.username, request.host), "preferredUsername": self.username, "displayName": "{0}@{1}".format(self.username, request.url), "objectType": "person", -- cgit v1.2.3 From 5b014a08661f718bd92971e71d173a0ea4b62c40 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 14 Aug 2013 19:58:01 +0100 Subject: Add image URL's (thumb & full) --- mediagoblin/db/mixin.py | 11 +++++++++++ mediagoblin/db/models.py | 6 ++++++ mediagoblin/federation/views.py | 4 ++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py index 3d96ba34..87f4383a 100644 --- a/mediagoblin/db/mixin.py +++ b/mediagoblin/db/mixin.py @@ -202,6 +202,17 @@ class MediaEntryMixin(GenerateSlugMixin): thumb_url = mg_globals.app.staticdirector(manager[u'default_thumb']) return thumb_url + @property + def original_url(self): + """ Returns the URL for the original image + will return self.thumb_url if original url doesn't exist""" + if u"original" not in self.media_files: + return self.thumb_url + + return mg_globals.app.public_store.file_url( + self.media_files[u"original"] + ) + @cached_property def media_manager(self): """Returns the MEDIA_MANAGER of the media's media_type diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 281c09d9..925f0d24 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -455,6 +455,12 @@ class MediaEntry(Base, MediaEntryMixin): "displayName": self.title, "objectType": self.objectType, "url": url, + "image": { + "url": request.host_url + self.thumb_url[1:], + }, + "fullImage":{ + "url": request.host_url + self.original_url[1:], + } } if show_comments: diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index b3f63db5..3fe5b3b5 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -2,7 +2,7 @@ from mediagoblin.decorators import oauth_required from mediagoblin.db.models import User, MediaEntry from mediagoblin.tools.response import json_response -#@oauth_required +@oauth_required def user(request): """ Handles user response at /api/user// """ user = request.matchdict["username"] @@ -39,7 +39,7 @@ def inbox(request): """ Handles the user's inbox - /api/user//inbox """ raise NotImplemented("Yet to implement looking up user's inbox") -#@oauth_required +@oauth_required def object(request): """ Lookup for a object type """ objectType = request.matchdict["objectType"] -- cgit v1.2.3 From d461fbe5cb20ed56c3c1e3696464c3d323e5b4b0 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Mon, 2 Sep 2013 16:22:24 +0100 Subject: Use the the slug as the UUID instead of a newly generated UUID --- mediagoblin/db/models.py | 7 +------ mediagoblin/federation/views.py | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 925f0d24..ca4efdd1 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -236,11 +236,6 @@ class NonceTimestamp(Base): nonce = Column(Unicode, nullable=False, primary_key=True) timestamp = Column(DateTime, nullable=False, primary_key=True) - -def create_uuid(): - """ Creates a new uuid which is suitable for use in a URL """ - return base64.urlsafe_b64encode(uuid.uuid4().bytes).strip("=") - class MediaEntry(Base, MediaEntryMixin): """ TODO: Consider fetching the media_files using join @@ -445,7 +440,7 @@ class MediaEntry(Base, MediaEntryMixin): id = request.urlgen( "mediagoblin.federation.object", objectType=self.objectType, - uuid=self.uuid, + uuid=self.slug, qualified=True ) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 3fe5b3b5..01082942 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -49,7 +49,7 @@ def object(request): # not sure why this is 404, maybe ask evan. Maybe 400? return json_response({"error": error}, status=404) - media = MediaEntry.query.filter_by(uuid=uuid).first() + media = MediaEntry.query.filter_by(slug=uuid).first() if media is None: # no media found with that uuid error = "Can't find a {0} with ID = {1}".format(objectType, uuid) -- cgit v1.2.3 From 37f070b06786c20f320231bc467b35ccab6270dc Mon Sep 17 00:00:00 2001 From: xray7224 Date: Mon, 2 Sep 2013 16:23:40 +0100 Subject: Fixes problem where full URL was being used inplace of host --- mediagoblin/db/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index ca4efdd1..91efc0b6 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -141,7 +141,7 @@ class User(Base, UserMixin): user = { "id": "acct:{0}@{1}".format(self.username, request.host), "preferredUsername": self.username, - "displayName": "{0}@{1}".format(self.username, request.url), + "displayName": "{0}@{1}".format(self.username, request.host), "objectType": "person", "url": self.url, "summary": self.bio, -- cgit v1.2.3 From 98596dd072597c5d9c474e882f57407817d049f5 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Mon, 2 Sep 2013 19:25:24 +0100 Subject: Support for the comments endpoint --- mediagoblin/db/models.py | 12 ++++++++++-- mediagoblin/federation/routing.py | 5 +++++ mediagoblin/federation/views.py | 26 ++++++++++++++++++++++++-- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 91efc0b6..4377f60f 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -455,7 +455,9 @@ class MediaEntry(Base, MediaEntryMixin): }, "fullImage":{ "url": request.host_url + self.original_url[1:], - } + }, + "published": self.created.isoformat(), + "updated": self.created.isoformat(), } if show_comments: @@ -465,7 +467,13 @@ class MediaEntry(Base, MediaEntryMixin): # we only want to include replies if there are any. context["replies"] = { "totalItems": total, - "items": comments + "items": comments, + "url": request.urlgen( + "mediagoblin.federation.object.comments", + objectType=self.objectType, + uuid=self.slug, + qualified=True + ), } return context diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index 9c870588..16184866 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -48,3 +48,8 @@ add_route( "/api//", "mediagoblin.federation.views:object" ) +add_route( + "mediagoblin.federation.object.comments", + "/api///comments", + "mediagoblin.federation.views:object_comments" + ) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 01082942..ab67e457 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -39,8 +39,8 @@ def inbox(request): """ Handles the user's inbox - /api/user//inbox """ raise NotImplemented("Yet to implement looking up user's inbox") -@oauth_required -def object(request): +#@oauth_required +def object(request, raw_obj=False): """ Lookup for a object type """ objectType = request.matchdict["objectType"] uuid = request.matchdict["uuid"] @@ -55,4 +55,26 @@ def object(request): error = "Can't find a {0} with ID = {1}".format(objectType, uuid) return json_response({"error": error}, status=404) + if raw_obj: + return media + return json_response(media.serialize(request)) + +def object_comments(request): + """ Looks up for the comments on a object """ + media = object(request, raw_obj=True) + response = media + if isinstance(response, MediaEntry): + comments = response.serialize(request) + comments = comments.get("replies", { + "totalItems": 0, + "items": [], + "url": request.urlgen( + "mediagoblin.federation.object.comments", + objectType=media.objectType, + uuid=media.slug, + qualified=True) + }) + response = json_response(comments) + + return response -- cgit v1.2.3 From a5682e89602ddc266d05c760a319d7647755f0b4 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Tue, 3 Sep 2013 17:17:07 +0100 Subject: Support some webfinger API's and real profile and /api/user// --- mediagoblin/db/models.py | 2 +- mediagoblin/federation/routing.py | 16 ++++++++-- mediagoblin/federation/views.py | 61 ++++++++++++++++++++++++++++++++++++--- mediagoblin/oauth/routing.py | 8 ++--- 4 files changed, 76 insertions(+), 11 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 4377f60f..4f5182d6 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -148,7 +148,7 @@ class User(Base, UserMixin): "links": { "self": { "href": request.urlgen( - "mediagoblin.federation.profile", + "mediagoblin.federation.user.profile", username=self.username, qualified=True ), diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index 16184866..daf60d00 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -24,9 +24,9 @@ add_route( ) add_route( - "mediagoblin.federation.profile", + "mediagoblin.federation.user.profile", "/api/user//profile", - "mediagoblin.federation.views:user" + "mediagoblin.federation.views:profile" ) # Inbox and Outbox (feed) @@ -53,3 +53,15 @@ add_route( "/api///comments", "mediagoblin.federation.views:object_comments" ) + +add_route( + "mediagoblin.webfinger.well-known.host-meta", + "/.well-known/host-meta", + "mediagoblin.federation.views:host_meta" + ) + +add_route( + "mediagoblin.webfinger.whoami", + "/api/whoami", + "mediagoblin.federation.views:whoami" + ) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index ab67e457..85bf1540 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -1,10 +1,10 @@ from mediagoblin.decorators import oauth_required from mediagoblin.db.models import User, MediaEntry -from mediagoblin.tools.response import json_response +from mediagoblin.tools.response import redirect, json_response -@oauth_required -def user(request): - """ Handles user response at /api/user// """ +#@oauth_required +def profile(request, raw=False): + """ This is /api/user//profile - This will give profile info """ user = request.matchdict["username"] requested_user = User.query.filter_by(username=user) @@ -15,9 +15,24 @@ def user(request): user = requested_user[0] + if raw: + return (user, user.serialize(request)) + # user profiles are public so return information return json_response(user.serialize(request)) +def user(request): + """ This is /api/user/ - This will get the user """ + user, user_profile = profile(request, raw=True) + data = { + "nickname": user.username, + "updated": user.created.isoformat(), + "published": user.created.isoformat(), + "profile": user_profile + } + + return json_response(data) + @oauth_required def feed(request): """ Handles the user's outbox - /api/user//feed """ @@ -78,3 +93,41 @@ def object_comments(request): response = json_response(comments) return response + + +## +# Well known +## +def host_meta(request): + """ This is /.well-known/host-meta - provides URL's to resources on server """ + links = [] + + # Client registration links + links.append({ + "ref": "registration_endpoint", + "href": request.urlgen("mediagoblin.oauth.client_register", qualified=True), + }) + links.append({ + "ref": "http://apinamespace.org/oauth/request_token", + "href": request.urlgen("mediagoblin.oauth.request_token", qualified=True), + }) + links.append({ + "ref": "http://apinamespace.org/oauth/authorize", + "href": request.urlgen("mediagoblin.oauth.authorize", qualified=True), + }) + links.append({ + "ref": "http://apinamespace.org/oauth/access_token", + "href": request.urlgen("mediagoblin.oauth.access_token", qualified=True), + }) + + return json_response(links) + +def whoami(request): + """ This is /api/whoami - This is a HTTP redirect to api profile """ + profile = request.urlgen( + "mediagoblin.federation.user.profile", + username=request.user.username, + qualified=True + ) + + return redirect(request, location=profile) diff --git a/mediagoblin/oauth/routing.py b/mediagoblin/oauth/routing.py index e45077bb..7f2aa11d 100644 --- a/mediagoblin/oauth/routing.py +++ b/mediagoblin/oauth/routing.py @@ -18,25 +18,25 @@ from mediagoblin.tools.routing import add_route # client registration & oauth add_route( - "mediagoblin.oauth", + "mediagoblin.oauth.client_register", "/api/client/register", "mediagoblin.oauth.views:client_register" ) add_route( - "mediagoblin.oauth", + "mediagoblin.oauth.request_token", "/oauth/request_token", "mediagoblin.oauth.views:request_token" ) add_route( - "mediagoblin.oauth", + "mediagoblin.oauth.authorize", "/oauth/authorize", "mediagoblin.oauth.views:authorize", ) add_route( - "mediagoblin.oauth", + "mediagoblin.oauth.access_token", "/oauth/access_token", "mediagoblin.oauth.views:access_token" ) -- cgit v1.2.3 From 1829765537be3c057b8b6f6d01c5a3964536f6e0 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Tue, 3 Sep 2013 17:24:24 +0100 Subject: Add .json url for host-meta and fix host-meta problem of not having 'links' --- mediagoblin/federation/routing.py | 6 ++++++ mediagoblin/federation/views.py | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index daf60d00..be6451e0 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -60,6 +60,12 @@ add_route( "mediagoblin.federation.views:host_meta" ) +add_route( + "mediagoblin.webfinger.well-known.host-meta.json", + "/.well-known/host-meta.json", + "mediagoblin.federation.views:host_meta" + ) + add_route( "mediagoblin.webfinger.whoami", "/api/whoami", diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 85bf1540..c84956c3 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -120,7 +120,7 @@ def host_meta(request): "href": request.urlgen("mediagoblin.oauth.access_token", qualified=True), }) - return json_response(links) + return json_response({"links": links}) def whoami(request): """ This is /api/whoami - This is a HTTP redirect to api profile """ -- cgit v1.2.3 From d6dce0f7d8cda420c632334251203392055fb716 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Tue, 3 Sep 2013 18:50:33 +0100 Subject: Remove old webfinger support --- mediagoblin/routing.py | 1 - mediagoblin/webfinger/__init__.py | 25 -------- mediagoblin/webfinger/routing.py | 23 -------- mediagoblin/webfinger/views.py | 117 -------------------------------------- 4 files changed, 166 deletions(-) delete mode 100644 mediagoblin/webfinger/__init__.py delete mode 100644 mediagoblin/webfinger/routing.py delete mode 100644 mediagoblin/webfinger/views.py diff --git a/mediagoblin/routing.py b/mediagoblin/routing.py index 7d9d01ee..3ec1dba0 100644 --- a/mediagoblin/routing.py +++ b/mediagoblin/routing.py @@ -35,7 +35,6 @@ def get_url_map(): import mediagoblin.submit.routing import mediagoblin.user_pages.routing import mediagoblin.edit.routing - import mediagoblin.webfinger.routing import mediagoblin.listings.routing import mediagoblin.notifications.routing import mediagoblin.oauth.routing diff --git a/mediagoblin/webfinger/__init__.py b/mediagoblin/webfinger/__init__.py deleted file mode 100644 index 126e6ea2..00000000 --- a/mediagoblin/webfinger/__init__.py +++ /dev/null @@ -1,25 +0,0 @@ -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -''' -mediagoblin.webfinger_ provides an LRDD discovery service and -a web host meta information file - -Links: -- `LRDD Discovery Draft - `_. -- `RFC 6415 - Web Host Metadata - `_. -''' diff --git a/mediagoblin/webfinger/routing.py b/mediagoblin/webfinger/routing.py deleted file mode 100644 index eb10509f..00000000 --- a/mediagoblin/webfinger/routing.py +++ /dev/null @@ -1,23 +0,0 @@ -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -from mediagoblin.tools.routing import add_route - -add_route('mediagoblin.webfinger.host_meta', '/.well-known/host-meta', - 'mediagoblin.webfinger.views:host_meta') - -add_route('mediagoblin.webfinger.xrd', '/webfinger/xrd', - 'mediagoblin.webfinger.views:xrd') diff --git a/mediagoblin/webfinger/views.py b/mediagoblin/webfinger/views.py deleted file mode 100644 index 97fc3ef7..00000000 --- a/mediagoblin/webfinger/views.py +++ /dev/null @@ -1,117 +0,0 @@ -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -''' -For references, see docstring in mediagoblin/webfinger/__init__.py -''' - -import re - -from urlparse import urlparse - -from mediagoblin.tools.response import render_to_response, render_404 - -def host_meta(request): - ''' - Webfinger host-meta - ''' - - placeholder = 'MG_LRDD_PLACEHOLDER' - - lrdd_title = 'GNU MediaGoblin - User lookup' - - lrdd_template = request.urlgen( - 'mediagoblin.webfinger.xrd', - uri=placeholder, - qualified=True) - - return render_to_response( - request, - 'mediagoblin/webfinger/host-meta.xml', - {'request': request, - 'lrdd_template': lrdd_template, - 'lrdd_title': lrdd_title, - 'placeholder': placeholder}) - -MATCH_SCHEME_PATTERN = re.compile(r'^acct:') - -def xrd(request): - ''' - Find user data based on a webfinger URI - ''' - param_uri = request.GET.get('uri') - - if not param_uri: - return render_404(request) - - ''' - :py:module:`urlparse` does not recognize usernames in URIs of the - form ``acct:user@example.org`` or ``user@example.org``. - ''' - if not MATCH_SCHEME_PATTERN.search(param_uri): - # Assume the URI is in the form ``user@example.org`` - uri = 'acct://' + param_uri - else: - # Assumes the URI looks like ``acct:user@example.org - uri = MATCH_SCHEME_PATTERN.sub( - 'acct://', param_uri) - - parsed = urlparse(uri) - - xrd_subject = param_uri - - # TODO: Verify that the user exists - # Q: Does webfinger support error handling in this case? - # Returning 404 seems intuitive, need to check. - if parsed.username: - # The user object - # TODO: Fetch from database instead of using the MockUser - user = MockUser() - user.username = parsed.username - - xrd_links = [ - {'attrs': { - 'rel': 'http://microformats.org/profile/hcard', - 'href': request.urlgen( - 'mediagoblin.user_pages.user_home', - user=user.username, - qualified=True)}}, - {'attrs': { - 'rel': 'http://schemas.google.com/g/2010#updates-from', - 'href': request.urlgen( - 'mediagoblin.user_pages.atom_feed', - user=user.username, - qualified=True)}}] - - xrd_alias = request.urlgen( - 'mediagoblin.user_pages.user_home', - user=user.username, - qualified=True) - - return render_to_response( - request, - 'mediagoblin/webfinger/xrd.xml', - {'request': request, - 'subject': xrd_subject, - 'alias': xrd_alias, - 'links': xrd_links }) - else: - return render_404(request) - -class MockUser(object): - ''' - TEMPORARY user object - ''' - username = None -- cgit v1.2.3 From c434fc31c9b4195dabfb9c323bf13aca3337e5f9 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 4 Sep 2013 16:32:49 +0100 Subject: Add static pump_io to API and fix problem where null appeared in profile --- mediagoblin/db/models.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 4f5182d6..cc22450f 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -143,8 +143,10 @@ class User(Base, UserMixin): "preferredUsername": self.username, "displayName": "{0}@{1}".format(self.username, request.host), "objectType": "person", - "url": self.url, - "summary": self.bio, + "pump_io": { + "shared": False, + "followed": False, + }, "links": { "self": { "href": request.urlgen( @@ -169,6 +171,12 @@ class User(Base, UserMixin): }, }, } + + if self.bio: + user.update({"summary": self.bio}) + if self.url: + user.update({"url": self.url}) + return user class Client(Base): @@ -458,6 +466,9 @@ class MediaEntry(Base, MediaEntryMixin): }, "published": self.created.isoformat(), "updated": self.created.isoformat(), + "pump_io": { + "shared": False, + }, } if show_comments: -- cgit v1.2.3 From c894b4246a1211e7d8e63e7c51b8d7095482a10c Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 4 Sep 2013 19:34:29 +0100 Subject: Add basic comment support and flesh out some other endpoints --- mediagoblin/db/models.py | 9 +---- mediagoblin/decorators.py | 9 ++++- mediagoblin/federation/routing.py | 2 +- mediagoblin/federation/views.py | 82 +++++++++++++++++++++++++++++++++++++-- 4 files changed, 89 insertions(+), 13 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index cc22450f..215e7552 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -445,15 +445,8 @@ class MediaEntry(Base, MediaEntryMixin): qualified=True ) - id = request.urlgen( - "mediagoblin.federation.object", - objectType=self.objectType, - uuid=self.slug, - qualified=True - ) - context = { - "id": id, + "id": self.id, "author": author.serialize(request), "displayName": self.title, "objectType": self.objectType, diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py index 040a11fa..5cba6fee 100644 --- a/mediagoblin/decorators.py +++ b/mediagoblin/decorators.py @@ -22,7 +22,7 @@ from oauthlib.oauth1 import ResourceEndpoint from mediagoblin import mg_globals as mgg from mediagoblin import messages -from mediagoblin.db.models import MediaEntry, User, MediaComment +from mediagoblin.db.models import MediaEntry, User, MediaComment, AccessToken from mediagoblin.tools.response import ( redirect, render_404, render_user_banned, json_response) @@ -412,6 +412,13 @@ def oauth_required(controller): error = "Invalid oauth prarameter." return json_response({"error": error}, status=400) + # Fill user if not already + token = authorization[u"oauth_token"] + access_token = AccessToken.query.filter_by(token=token).first() + if access_token is not None and request.user is None: + user_id = access_token.user + request.user = User.query.filter_by(id=user_id).first() + return controller(request, *args, **kwargs) return wrapper diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index be6451e0..12306766 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -39,7 +39,7 @@ add_route( add_route( "mediagoblin.federation.inbox", "/api/user//inbox", - "mediagoblin.federation.views:inbox" + "mediagoblin.federation.views:feed" ) # object endpoints diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index c84956c3..cff3d499 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -1,6 +1,9 @@ +import json + from mediagoblin.decorators import oauth_required -from mediagoblin.db.models import User, MediaEntry +from mediagoblin.db.models import User, MediaEntry, MediaComment from mediagoblin.tools.response import redirect, json_response +from mediagoblin.meddleware.csrf import csrf_exempt #@oauth_required def profile(request, raw=False): @@ -34,8 +37,10 @@ def user(request): return json_response(data) @oauth_required +@csrf_exempt def feed(request): """ Handles the user's outbox - /api/user//feed """ + print request.user user = request.matchdict["username"] requested_user = User.query.filter_by(username=user) @@ -44,10 +49,76 @@ def feed(request): error = "No such 'user' with id '{0}'".format(user) return json_response({"error": error}, status=404) - user = request_user[0] + user = requested_user[0] + + if request.method == "POST": + data = json.loads(request.data) + obj = data.get("object", None) + if obj is None: + error = {"error": "Could not find 'object' element."} + return json_response(error, status=400) + + if obj.get("objectType", None) == "comment": + # post a comment + media = int(data["object"]["inReplyTo"]["id"]) + author = request.user + comment = MediaComment( + media_entry=media, + author=request.user.id, + content=data["object"]["content"] + ) + comment.save() + elif obj.get("objectType", None) is None: + error = {"error": "No objectType specified."} + return json_response(error, status=400) + else: + error = {"error": "Unknown object type '{0}'.".format(obj.get("objectType", None))} + return json_response(error, status=400) + + feed_url = request.urlgen( + "mediagoblin.federation.feed", + username=user.username, + qualified=True + ) + + feed = { + "displayName": "Activities by {0}@{1}".format(user.username, request.host), + "objectTypes": ["activity"], + "url": feed_url, + "links": { + "first": { + "href": feed_url, + }, + "self": { + "href": request.url, + }, + "prev": { + "href": feed_url, + }, + "next": { + "href": feed_url, + } + }, + "author": user.serialize(request), + "items": [], + } + # Now lookup the user's feed. - raise NotImplemented("Yet to implement looking up user's feed") + for media in MediaEntry.query.all(): + feed["items"].append({ + "verb": "post", + "object": media.serialize(request), + "actor": user.serialize(request), + "content": "{0} posted a picture".format(user.username), + "id": 1, + }) + feed["items"][-1]["updated"] = feed["items"][-1]["object"]["updated"] + feed["items"][-1]["published"] = feed["items"][-1]["object"]["published"] + feed["items"][-1]["url"] = feed["items"][-1]["object"]["url"] + feed["totalItems"] = len(feed["items"]) + + return json_response(feed) @oauth_required def inbox(request): @@ -90,6 +161,11 @@ def object_comments(request): uuid=media.slug, qualified=True) }) + comments["displayName"] = "Replies to {0}".format(comments["url"]) + comments["links"] = { + "first": comments["url"], + "self": comments["url"], + } response = json_response(comments) return response -- cgit v1.2.3 From d4a21d7e746dc1284f44137d1c3e45b7b5ee09c0 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Tue, 24 Sep 2013 20:30:51 +0100 Subject: Add basic upload image capabilities --- mediagoblin/decorators.py | 2 +- mediagoblin/federation/routing.py | 6 +++++ mediagoblin/federation/views.py | 56 ++++++++++++++++++++++++++++++++++++++- mediagoblin/oauth/oauth.py | 2 +- mediagoblin/tools/request.py | 2 +- 5 files changed, 64 insertions(+), 4 deletions(-) diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py index 5cba6fee..90edf96b 100644 --- a/mediagoblin/decorators.py +++ b/mediagoblin/decorators.py @@ -404,7 +404,7 @@ def oauth_required(controller): valid, r = resource_endpoint.validate_protected_resource_request( uri=request.url, http_method=request.method, - body=request.get_data(), + body=request.data, headers=dict(request.headers), ) diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index 12306766..b9cc4e2e 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -36,6 +36,12 @@ add_route( "mediagoblin.federation.views:feed" ) +add_route( + "mediagoblin.federation.user.uploads", + "/api/user//uploads", + "mediagoblin.federation.views:uploads" + ) + add_route( "mediagoblin.federation.inbox", "/api/user//inbox", diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index cff3d499..851a3f39 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -1,9 +1,16 @@ import json +import io +from werkzeug.datastructures import FileStorage + +from mediagoblin.media_types import sniff_media from mediagoblin.decorators import oauth_required from mediagoblin.db.models import User, MediaEntry, MediaComment from mediagoblin.tools.response import redirect, json_response from mediagoblin.meddleware.csrf import csrf_exempt +from mediagoblin.notifications import add_comment_subscription +from mediagoblin.submit.lib import (new_upload_entry, prepare_queue_task, + run_process_media) #@oauth_required def profile(request, raw=False): @@ -36,11 +43,58 @@ def user(request): return json_response(data) +#@oauth_required +@csrf_exempt +def uploads(request): + """ This is the endpoint which uploads can be sent ot - /api/user//uploads """ + user = request.matchdict["username"] + requested_user = User.query.filter_by(username=user) + + if requested_user is None: + error = "No such 'user' with id '{0}'".format(user) + return json_response({"error": error}, status=404) + + request.user = requested_user[0] + if request.method == "POST": + # Wrap the data in the werkzeug file wrapper + file_data = FileStorage( + stream=io.BytesIO(request.data), + filename=request.form.get("qqfile", "unknown.jpg"), + content_type=request.headers.get("Content-Type", "application/octal-stream") + ) + + # Use the same kind of method from mediagoblin/submit/views:submit_start + media_type, media_manager = sniff_media(file_data) + entry = new_upload_entry(request.user) + entry.media_type = unicode(media_type) + entry.title = u"Hello ^_^" + entry.description = u"" + entry.license = None + + entry.generate_slug() + + queue_file = prepare_queue_task(request.app, entry, file_data.filename) + with queue_file: + queue_file.write(request.data) + + entry.save() + + # run the processing + feed_url = request.urlgen( + 'mediagoblin.user_pages.atom_feed', + qualified=True, user=request.user.username) + + run_process_media(entry, feed_url) + add_comment_subscription(request.user, entry) + + return json_response(entry.serialize(request)) + + return json_response({"error": "Not yet implemented"}, status=400) + @oauth_required @csrf_exempt def feed(request): """ Handles the user's outbox - /api/user//feed """ - print request.user user = request.matchdict["username"] requested_user = User.query.filter_by(username=user) diff --git a/mediagoblin/oauth/oauth.py b/mediagoblin/oauth/oauth.py index 8229c47d..d9defa4b 100644 --- a/mediagoblin/oauth/oauth.py +++ b/mediagoblin/oauth/oauth.py @@ -126,7 +126,7 @@ class GMGRequest(Request): """ kwargs["uri"] = kwargs.get("uri", request.url) kwargs["http_method"] = kwargs.get("http_method", request.method) - kwargs["body"] = kwargs.get("body", request.get_data()) + kwargs["body"] = kwargs.get("body", request.data) kwargs["headers"] = kwargs.get("headers", dict(request.headers)) super(GMGRequest, self).__init__(*args, **kwargs) diff --git a/mediagoblin/tools/request.py b/mediagoblin/tools/request.py index d4739039..2de0b32f 100644 --- a/mediagoblin/tools/request.py +++ b/mediagoblin/tools/request.py @@ -45,7 +45,7 @@ def setup_user_in_request(request): def decode_request(request): """ Decodes a request based on MIME-Type """ - data = request.get_data() + data = request.data if request.content_type == json_encoded: data = json.loads(data) -- cgit v1.2.3 From 62dc7d3e6c50eda84074e43ff93e2945c3b81e1b Mon Sep 17 00:00:00 2001 From: xray7224 Date: Sat, 28 Sep 2013 15:22:18 -0400 Subject: Add some more code to work better with image uploads --- mediagoblin/federation/views.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 851a3f39..f19edef7 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -59,7 +59,7 @@ def uploads(request): # Wrap the data in the werkzeug file wrapper file_data = FileStorage( stream=io.BytesIO(request.data), - filename=request.form.get("qqfile", "unknown.jpg"), + filename=request.args.get("qqfile", "unknown.jpg"), content_type=request.headers.get("Content-Type", "application/octal-stream") ) @@ -67,8 +67,8 @@ def uploads(request): media_type, media_manager = sniff_media(file_data) entry = new_upload_entry(request.user) entry.media_type = unicode(media_type) - entry.title = u"Hello ^_^" - entry.description = u"" + entry.title = unicode(request.args.get("title", "Hello ^_^")) + entry.description = unicode(request.args.get("description", "")) entry.license = None entry.generate_slug() @@ -122,10 +122,25 @@ def feed(request): content=data["object"]["content"] ) comment.save() + elif obj.get("objectType", None) == "image": + # Posting an image to the feed + # NB: This is currently just handing the image back until we have an + # to send the image to the actual feed + + media_id = int(data["object"]["id"]) + media = MediaEntry.query.filter_by(id=media_id) + if media is None: + error = "No such 'image' with id '{0}'".format(id=media_id) + return json_response(error, status=404) + media = media[0] + return json_response(media.serialize(request)) + elif obj.get("objectType", None) is None: + # They need to tell us what type of object they're giving us. error = {"error": "No objectType specified."} return json_response(error, status=400) else: + # Oh no! We don't know about this type of object (yet) error = {"error": "Unknown object type '{0}'.".format(obj.get("objectType", None))} return json_response(error, status=400) -- cgit v1.2.3 From 3c3fa5e7bfd60fc80215c2c96ccf3c68be7b424e Mon Sep 17 00:00:00 2001 From: xray7224 Date: Sat, 28 Sep 2013 16:37:37 -0400 Subject: Fix some problems with comments and image posting --- mediagoblin/federation/views.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index f19edef7..4add17d9 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -103,7 +103,7 @@ def feed(request): error = "No such 'user' with id '{0}'".format(user) return json_response({"error": error}, status=404) - user = requested_user[0] + request.user = requested_user[0] if request.method == "POST": data = json.loads(request.data) @@ -122,6 +122,8 @@ def feed(request): content=data["object"]["content"] ) comment.save() + data = {"verb": "post", "object": comment.serialize(request)} + return json_response(data) elif obj.get("objectType", None) == "image": # Posting an image to the feed # NB: This is currently just handing the image back until we have an @@ -146,12 +148,12 @@ def feed(request): feed_url = request.urlgen( "mediagoblin.federation.feed", - username=user.username, + username=request.user.username, qualified=True ) feed = { - "displayName": "Activities by {0}@{1}".format(user.username, request.host), + "displayName": "Activities by {0}@{1}".format(request.user.username, request.host), "objectTypes": ["activity"], "url": feed_url, "links": { @@ -168,7 +170,7 @@ def feed(request): "href": feed_url, } }, - "author": user.serialize(request), + "author": request.user.serialize(request), "items": [], } @@ -178,8 +180,8 @@ def feed(request): feed["items"].append({ "verb": "post", "object": media.serialize(request), - "actor": user.serialize(request), - "content": "{0} posted a picture".format(user.username), + "actor": request.user.serialize(request), + "content": "{0} posted a picture".format(request.user.username), "id": 1, }) feed["items"][-1]["updated"] = feed["items"][-1]["object"]["updated"] -- cgit v1.2.3 From 7810817caf73bcc0dcdfe1cec249c86e3e77c148 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Thu, 10 Oct 2013 20:19:58 +0100 Subject: Refactors api uploading to media managers --- mediagoblin/db/models.py | 22 +++++++--------- mediagoblin/federation/views.py | 44 ++++++++++--------------------- mediagoblin/media_types/image/__init__.py | 28 +++++++++++++++++++- 3 files changed, 51 insertions(+), 43 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 215e7552..cc5d0afa 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -467,18 +467,16 @@ class MediaEntry(Base, MediaEntryMixin): if show_comments: comments = [comment.serialize(request) for comment in self.get_comments()] total = len(comments) - if total > 0: - # we only want to include replies if there are any. - context["replies"] = { - "totalItems": total, - "items": comments, - "url": request.urlgen( - "mediagoblin.federation.object.comments", - objectType=self.objectType, - uuid=self.slug, - qualified=True - ), - } + context["replies"] = { + "totalItems": total, + "items": comments, + "url": request.urlgen( + "mediagoblin.federation.object.comments", + objectType=self.objectType, + uuid=self.slug, + qualified=True + ), + } return context diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 4add17d9..bdc93d9b 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -46,7 +46,7 @@ def user(request): #@oauth_required @csrf_exempt def uploads(request): - """ This is the endpoint which uploads can be sent ot - /api/user//uploads """ + """ This is the endpoint which uploads can be sent to - /api/user//uploads """ user = request.matchdict["username"] requested_user = User.query.filter_by(username=user) @@ -58,40 +58,22 @@ def uploads(request): if request.method == "POST": # Wrap the data in the werkzeug file wrapper file_data = FileStorage( - stream=io.BytesIO(request.data), - filename=request.args.get("qqfile", "unknown.jpg"), - content_type=request.headers.get("Content-Type", "application/octal-stream") - ) - - # Use the same kind of method from mediagoblin/submit/views:submit_start + stream=io.BytesIO(request.data), + filename=request.args.get("qqfile", "unknown.jpg"), + content_type=request.headers.get("Content-Type", "application/octal-stream") + ) + + # Find media manager media_type, media_manager = sniff_media(file_data) entry = new_upload_entry(request.user) - entry.media_type = unicode(media_type) - entry.title = unicode(request.args.get("title", "Hello ^_^")) - entry.description = unicode(request.args.get("description", "")) - entry.license = None - - entry.generate_slug() - - queue_file = prepare_queue_task(request.app, entry, file_data.filename) - with queue_file: - queue_file.write(request.data) - - entry.save() - - # run the processing - feed_url = request.urlgen( - 'mediagoblin.user_pages.atom_feed', - qualified=True, user=request.user.username) - - run_process_media(entry, feed_url) - add_comment_subscription(request.user, entry) - - return json_response(entry.serialize(request)) + if hasattr(media_manager, "api_upload_request"): + return media_manager.api_upload_request(request, file_data, entry) + else: + return json_response({"error": "Not yet implemented"}, status=400) return json_response({"error": "Not yet implemented"}, status=400) -@oauth_required +#@oauth_required @csrf_exempt def feed(request): """ Handles the user's outbox - /api/user//feed """ @@ -124,6 +106,7 @@ def feed(request): comment.save() data = {"verb": "post", "object": comment.serialize(request)} return json_response(data) + elif obj.get("objectType", None) == "image": # Posting an image to the feed # NB: This is currently just handing the image back until we have an @@ -146,6 +129,7 @@ def feed(request): error = {"error": "Unknown object type '{0}'.".format(obj.get("objectType", None))} return json_response(error, status=400) + feed_url = request.urlgen( "mediagoblin.federation.feed", username=request.user.username, diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 06e0f08f..0a77b0ce 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -19,7 +19,9 @@ import logging from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.image.processing import sniff_handler, \ ImageProcessingManager - +from mediagoblin.tools.response import json_response +from mediagoblin.submit.lib import prepare_queue_task, run_process_media +from mediagoblin.notifications import add_comment_subscription _log = logging.getLogger(__name__) @@ -56,6 +58,30 @@ class ImageMediaManager(MediaManagerBase): except (KeyError, ValueError): return None + @staticmethod + def api_upload_request(request, file_data, entry): + """ This handles a image upload request """ + # Use the same kind of method from mediagoblin/submit/views:submit_start + entry.media_type = unicode(MEDIA_TYPE) + entry.title = unicode(request.args.get("title", file_data.filename)) + entry.description = unicode(request.args.get("description", "")) + entry.license = request.args.get("license", "") # not part of the standard API + + entry.generate_slug() + + queue_file = prepare_queue_task(request.app, entry, file_data.filename) + with queue_file: + queue_file.write(request.data) + + entry.save() + + feed_url = request.urlgen( + 'mediagoblin.user_pages.atom_feed', + qualified=True, user=request.user.username) + + run_process_media(entry, feed_url) + add_comment_subscription(request.user, entry) + return json_response(entry.serialize(request)) def get_media_type_and_manager(ext): if ext in ACCEPTED_EXTENSIONS: -- cgit v1.2.3 From c64fc16b13c14d65544aa1185a457c5dee48b169 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Thu, 14 Nov 2013 17:27:06 +0000 Subject: Clean up code (after linting) --- mediagoblin/federation/views.py | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index bdc93d9b..0dc32e74 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -1,23 +1,21 @@ import json import io -from werkzeug.datastructures import FileStorage +from werkzeug.datastructures import FileStorage from mediagoblin.media_types import sniff_media from mediagoblin.decorators import oauth_required from mediagoblin.db.models import User, MediaEntry, MediaComment from mediagoblin.tools.response import redirect, json_response from mediagoblin.meddleware.csrf import csrf_exempt -from mediagoblin.notifications import add_comment_subscription -from mediagoblin.submit.lib import (new_upload_entry, prepare_queue_task, - run_process_media) +from mediagoblin.submit.lib import new_upload_entry #@oauth_required def profile(request, raw=False): """ This is /api/user//profile - This will give profile info """ user = request.matchdict["username"] requested_user = User.query.filter_by(username=user) - + # check if the user exists if requested_user is None: error = "No such 'user' with id '{0}'".format(user) @@ -46,7 +44,7 @@ def user(request): #@oauth_required @csrf_exempt def uploads(request): - """ This is the endpoint which uploads can be sent to - /api/user//uploads """ + """ Endpoint for file uploads """ user = request.matchdict["username"] requested_user = User.query.filter_by(username=user) @@ -93,11 +91,10 @@ def feed(request): if obj is None: error = {"error": "Could not find 'object' element."} return json_response(error, status=400) - + if obj.get("objectType", None) == "comment": # post a comment media = int(data["object"]["inReplyTo"]["id"]) - author = request.user comment = MediaComment( media_entry=media, author=request.user.id, @@ -111,7 +108,7 @@ def feed(request): # Posting an image to the feed # NB: This is currently just handing the image back until we have an # to send the image to the actual feed - + media_id = int(data["object"]["id"]) media = MediaEntry.query.filter_by(id=media_id) if media is None: @@ -126,7 +123,11 @@ def feed(request): return json_response(error, status=400) else: # Oh no! We don't know about this type of object (yet) - error = {"error": "Unknown object type '{0}'.".format(obj.get("objectType", None))} + error_message = "Unknown object type '{0}'.".format( + obj.get("objectType", None) + ) + + error = {"error": error_message} return json_response(error, status=400) @@ -137,7 +138,10 @@ def feed(request): ) feed = { - "displayName": "Activities by {0}@{1}".format(request.user.username, request.host), + "displayName": "Activities by {user}@{host}".format( + user=request.user.username, + host=request.host + ), "objectTypes": ["activity"], "url": feed_url, "links": { @@ -157,7 +161,7 @@ def feed(request): "author": request.user.serialize(request), "items": [], } - + # Now lookup the user's feed. for media in MediaEntry.query.all(): @@ -176,18 +180,13 @@ def feed(request): return json_response(feed) @oauth_required -def inbox(request): - """ Handles the user's inbox - /api/user//inbox """ - raise NotImplemented("Yet to implement looking up user's inbox") - -#@oauth_required def object(request, raw_obj=False): """ Lookup for a object type """ objectType = request.matchdict["objectType"] uuid = request.matchdict["uuid"] if objectType not in ["image"]: error = "Unknown type: {0}".format(objectType) - # not sure why this is 404, maybe ask evan. Maybe 400? + # not sure why this is 404, maybe ask evan. Maybe 400? return json_response({"error": error}, status=404) media = MediaEntry.query.filter_by(slug=uuid).first() @@ -232,7 +231,7 @@ def object_comments(request): def host_meta(request): """ This is /.well-known/host-meta - provides URL's to resources on server """ links = [] - + # Client registration links links.append({ "ref": "registration_endpoint", -- cgit v1.2.3 From 247a3b788f3deea120c3f272eda7f7ce9ff54764 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Thu, 14 Nov 2013 22:42:07 +0000 Subject: Adds the unit-tests for API and cleans up API --- docs/source/api/images.rst | 41 +++++++++++++++ mediagoblin/federation/views.py | 10 ++-- mediagoblin/tests/test_api.py | 107 +++++++++++++++----------------------- mediagoblin/tests/test_joarapi.py | 92 ++++++++++++++++++++++++++++++++ 4 files changed, 181 insertions(+), 69 deletions(-) create mode 100644 docs/source/api/images.rst create mode 100644 mediagoblin/tests/test_joarapi.py diff --git a/docs/source/api/images.rst b/docs/source/api/images.rst new file mode 100644 index 00000000..6e4d3d48 --- /dev/null +++ b/docs/source/api/images.rst @@ -0,0 +1,41 @@ +.. MediaGoblin Documentation + + Written in 2011, 2012 by MediaGoblin contributors + + To the extent possible under law, the author(s) have dedicated all + copyright and related and neighboring rights to this software to + the public domain worldwide. This software is distributed without + any warranty. + + You should have received a copy of the CC0 Public Domain + Dedication along with this software. If not, see + . + +================== +Uploading an Image +================== + +You must have fully authenticated with oauth to upload an image. + +The endpoint is: ``/api/user//uploads/`` (POST endpoint) + +There are four GET parameters available to use, if they're not specified the defaults (listed below) will be used, the parameters are: + ++-------------+-----------+---------------------+--------------------+ +| Parameter | Required | Default | Example | ++=============+===========+=====================+====================+ +| qqfile | No | unknown | my_picture.jpg | ++-------------+-----------+---------------------+--------------------+ +| title | No | | My Picture! | ++-------------+-----------+---------------------+--------------------+ +| description | No | None | My awesome picture | ++-------------+-----------+---------------------+--------------------+ +| licence | No | All rights reserved | CC BY-SA 3.0 | ++-------------+-----------+---------------------+--------------------+ + +*Note: licence is not part of the pump.io spec and is a GNU MediaGoblin specific parameter* + +Example URL (with parameters): /api/user/tsyesika/uploads/?qqfile=river.jpg&title=The%20River&description=The%20river%20that%20I%20use%20to%20visit%20as%20a%20child%20licence=CC%20BY-SA%203.0 + +Submit the binary image data in the POST parameter. + diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 0dc32e74..5ae7754c 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -10,7 +10,7 @@ from mediagoblin.tools.response import redirect, json_response from mediagoblin.meddleware.csrf import csrf_exempt from mediagoblin.submit.lib import new_upload_entry -#@oauth_required +@oauth_required def profile(request, raw=False): """ This is /api/user//profile - This will give profile info """ user = request.matchdict["username"] @@ -29,6 +29,7 @@ def profile(request, raw=False): # user profiles are public so return information return json_response(user.serialize(request)) +@oauth_required def user(request): """ This is /api/user/ - This will get the user """ user, user_profile = profile(request, raw=True) @@ -41,7 +42,7 @@ def user(request): return json_response(data) -#@oauth_required +@oauth_required @csrf_exempt def uploads(request): """ Endpoint for file uploads """ @@ -57,7 +58,7 @@ def uploads(request): # Wrap the data in the werkzeug file wrapper file_data = FileStorage( stream=io.BytesIO(request.data), - filename=request.args.get("qqfile", "unknown.jpg"), + filename=request.args.get("qqfile", "unknown"), content_type=request.headers.get("Content-Type", "application/octal-stream") ) @@ -71,7 +72,7 @@ def uploads(request): return json_response({"error": "Not yet implemented"}, status=400) -#@oauth_required +@oauth_required @csrf_exempt def feed(request): """ Handles the user's outbox - /api/user//feed """ @@ -200,6 +201,7 @@ def object(request, raw_obj=False): return json_response(media.serialize(request)) +@oauth_required def object_comments(request): """ Looks up for the comments on a object """ media = object(request, raw_obj=True) diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index 4e0cbd8f..0ba8a424 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -14,80 +14,57 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . - -import logging -import base64 +import urllib import pytest +import mock + +from oauthlib.oauth1 import Client from mediagoblin import mg_globals -from mediagoblin.tools import template, pluginapi from mediagoblin.tests.tools import fixture_add_user -from .resources import GOOD_JPG, GOOD_PNG, EVIL_FILE, EVIL_JPG, EVIL_PNG, \ - BIG_BLUE - - -_log = logging.getLogger(__name__) - +from .resources import GOOD_JPG class TestAPI(object): + def setup(self): self.db = mg_globals.database - - self.user_password = u'4cc355_70k3N' - self.user = fixture_add_user(u'joapi', self.user_password, - privileges=[u'active',u'uploader']) - - def login(self, test_app): - test_app.post( - '/auth/login/', { - 'username': self.user.username, - 'password': self.user_password}) - - def get_context(self, template_name): - return template.TEMPLATE_TEST_CONTEXT[template_name] - - def http_auth_headers(self): - return {'Authorization': 'Basic {0}'.format( - base64.b64encode(':'.join([ - self.user.username, - self.user_password])))} - - def do_post(self, data, test_app, **kwargs): - url = kwargs.pop('url', '/api/submit') - do_follow = kwargs.pop('do_follow', False) - - if not 'headers' in kwargs.keys(): - kwargs['headers'] = self.http_auth_headers() - - response = test_app.post(url, data, **kwargs) - - if do_follow: - response.follow() - - return response - - def upload_data(self, filename): - return {'upload_files': [('file', filename)]} - - def test_1_test_test_view(self, test_app): - self.login(test_app) - - response = test_app.get( - '/api/test', - headers=self.http_auth_headers()) - - assert response.body == \ - '{"username": "joapi", "email": "joapi@example.com"}' - - def test_2_test_submission(self, test_app): - self.login(test_app) - - response = self.do_post( - {'title': 'Great JPG!'}, - test_app, - **self.upload_data(GOOD_JPG)) + self.user = fixture_add_user() + + def test_profile_endpoint(self, test_app): + """ Test that you can successfully get the profile of a user """ + @mock.patch("mediagoblin.decorators.oauth_required") + def _real_test(*args, **kwargs): + profile = test_app.get( + "/api/user/{0}/profile".format(self.user.username) + ).json + + assert profile["preferredUsername"] == self.user.username + assert profile["objectType"] == "person" + + _real_test() + + def test_upload_file(self, test_app): + """ Test that i can upload a file """ + context = { + "title": "Rel", + "description": "ayRel sunu oeru", + "qqfile": "my_picture.jpg", + } + encoded_context = urllib.urlencode(context) + response = test_app.post( + "/api/user/{0}/uploads?{1}".format( + self.user.username, + encoded_context[1:] + ) + ) + + picture = self.db.MediaEntry.query.filter_by(title=context["title"]) + picture = picture.first() assert response.status_int == 200 + assert picture + raise Exception(str(dir(picture))) + assert picture.description == context["description"] + - assert self.db.MediaEntry.query.filter_by(title=u'Great JPG!').first() diff --git a/mediagoblin/tests/test_joarapi.py b/mediagoblin/tests/test_joarapi.py new file mode 100644 index 00000000..89cf1026 --- /dev/null +++ b/mediagoblin/tests/test_joarapi.py @@ -0,0 +1,92 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + + +import logging +import base64 + +import pytest + +from mediagoblin import mg_globals +from mediagoblin.tools import template, pluginapi +from mediagoblin.tests.tools import fixture_add_user +from .resources import GOOD_JPG, GOOD_PNG, EVIL_FILE, EVIL_JPG, EVIL_PNG, \ + BIG_BLUE + + +_log = logging.getLogger(__name__) + + +class TestAPI(object): + def setup(self): + self.db = mg_globals.database + + self.user_password = u'4cc355_70k3N' + self.user = fixture_add_user(u'joapi', self.user_password) + + def login(self, test_app): + test_app.post( + '/auth/login/', { + 'username': self.user.username, + 'password': self.user_password}) + + def get_context(self, template_name): + return template.TEMPLATE_TEST_CONTEXT[template_name] + + def http_auth_headers(self): + return {'Authorization': 'Basic {0}'.format( + base64.b64encode(':'.join([ + self.user.username, + self.user_password])))} + + def do_post(self, data, test_app, **kwargs): + url = kwargs.pop('url', '/api/submit') + do_follow = kwargs.pop('do_follow', False) + + if not 'headers' in kwargs.keys(): + kwargs['headers'] = self.http_auth_headers() + + response = test_app.post(url, data, **kwargs) + + if do_follow: + response.follow() + + return response + + def upload_data(self, filename): + return {'upload_files': [('file', filename)]} + + def test_1_test_test_view(self, test_app): + self.login(test_app) + + response = test_app.get( + '/api/test', + headers=self.http_auth_headers()) + + assert response.body == \ + '{"username": "joapi", "email": "joapi@example.com"}' + + def test_2_test_submission(self, test_app): + self.login(test_app) + + response = self.do_post( + {'title': 'Great JPG!'}, + test_app, + **self.upload_data(GOOD_JPG)) + + assert response.status_int == 200 + + assert self.db.MediaEntry.query.filter_by(title=u'Great JPG!').first() -- cgit v1.2.3 From 3d869e82b0d6ebe6a1a2f991a9efb76458704095 Mon Sep 17 00:00:00 2001 From: xray7224 Date: Sun, 12 Jan 2014 18:19:37 +0000 Subject: Improve the documentation --- docs/source/api/images.rst | 127 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 110 insertions(+), 17 deletions(-) diff --git a/docs/source/api/images.rst b/docs/source/api/images.rst index 6e4d3d48..8c2653d4 100644 --- a/docs/source/api/images.rst +++ b/docs/source/api/images.rst @@ -15,27 +15,120 @@ Uploading an Image ================== -You must have fully authenticated with oauth to upload an image. +To use any the APIs mentioned in this document you will required :doc:`oauth` -The endpoint is: ``/api/user//uploads/`` (POST endpoint) +Uploading and posting an image requiest you to make two requests, one of which +submits the image to the server, the other of which will post the meta data. -There are four GET parameters available to use, if they're not specified the defaults (listed below) will be used, the parameters are: +To upload an image you should use the URI `/api/user//uploads`. -+-------------+-----------+---------------------+--------------------+ -| Parameter | Required | Default | Example | -+=============+===========+=====================+====================+ -| qqfile | No | unknown | my_picture.jpg | -+-------------+-----------+---------------------+--------------------+ -| title | No | | My Picture! | -+-------------+-----------+---------------------+--------------------+ -| description | No | None | My awesome picture | -+-------------+-----------+---------------------+--------------------+ -| licence | No | All rights reserved | CC BY-SA 3.0 | -+-------------+-----------+---------------------+--------------------+ +A POST request should be made to the image upload URI submitting at least two header: -*Note: licence is not part of the pump.io spec and is a GNU MediaGoblin specific parameter* +* `Content-Type` - This being a valid mimetype for the image. +* `Content-Length` - size in bytes of the image. -Example URL (with parameters): /api/user/tsyesika/uploads/?qqfile=river.jpg&title=The%20River&description=The%20river%20that%20I%20use%20to%20visit%20as%20a%20child%20licence=CC%20BY-SA%203.0 +The binary image data should be submitted as POST data to the image upload URI. +You will get back a JSON encoded response which will look similiar to:: -Submit the binary image data in the POST parameter. + { + "updated": "2014-01-11T09:45:48Z", + "links": { + "self": { + "href": "https:///image/4wiBUV1HT8GRqseyvX8m-w" + } + }, + "fullImage": { + "url": "https:////uploads//2014/1/11/V3cBMw.jpg", + "width": 505, + "height": 600 + }, + "replies": { + "url": "https:////api/image/4wiBUV1HT8GRqseyvX8m-w/replies" + }, + "image": { + "url": "https:///uploads//2014/1/11/V3cBMw_thumb.jpg", + "width": 269, + "height": 320 + }, + "author": { + "preferredUsername": "", + "displayName": "", + "links": { + "activity-outbox": { + "href": "https:///api/user//feed" + }, + "self": { + "href": "https:///api/user//profile" + }, + "activity-inbox": { + "href": "https:///api/user//inbox" + } + }, + "url": "https:///", + "updated": "2013-08-14T10:01:21Z", + "id": "acct:@", + "objectType": "person" + }, + "url": "https:////image/4wiBUV1HT8GRqseyvX8m-w", + "published": "2014-01-11T09:45:48Z", + "id": "https:///api/image/4wiBUV1HT8GRqseyvX8m-w", + "objectType": "image" + } +The main things in this response is `fullImage` which contains `url` (the URL +of the original image - i.e. fullsize) and `image` which contains `url` (the URL +of a thumbnail version). + +Submit to feed +============== + +The next request you will probably wish to make is to post the image to your +feed, this currently in GNU MediaGoblin will just show it visably on the website. +In the future it will allow you to specify whom should see this image. + +The URL you will want to make a POST request to to is `/api/user//feed` + +You first should do a post to the feed URI with some of the information you got +back from the above request (which uploaded the image). The request should look +something like:: + + { + "verb": "post", + "object": { + "id": "https:///api/image/6_K9m-2NQFi37je845c83w", + "objectType": "image" + } + } + +(Any other data submitted **will** be ignored) + +Finally if you wish to set a title, description and licence you will need to do +and update request to the endpoint, the following attributes can be submitted: + ++--------------+---------------------------------------+-------------------+ +| Name | Description | Required/Optional | ++==============+=======================================+===================+ +| displayName | This is the title for the image | Optional | ++--------------+---------------------------------------+-------------------+ +| content | This is the description for the image | Optional | ++--------------+---------------------------------------+-------------------+ +| license | This is the licence to be used | Optional | ++--------------+---------------------------------------+-------------------+ + +.. note:: license attribute is mediagoblin specific, pump.io does not support this attribute + + +The update request should look something similiar to:: + + { + "verb": "update", + "object": { + "displayName": "My super awesome image!", + "content": "The awesome image I took while backpacking to modor", + "license": "creativecommons.org/licenses/by-sa/3.0/", + "id": "https:///api/image/6_K9m-2NQFi37je845c83w", + "objectType": "image" + } + } + +(Again, any other data submitted **will** be ignored). -- cgit v1.2.3 From d70b7a5167fe88989500017912e8ac2053a9d84a Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Fri, 4 Apr 2014 11:47:59 -0500 Subject: Fix issue where create_uuid doesn't exist nor used --- mediagoblin/db/migrations.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 242d72d9..88cda6f1 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -29,9 +29,10 @@ from mediagoblin.db.extratypes import JSONEncoded, MutationDict from mediagoblin.db.migration_tools import ( RegisterMigration, inspect_table, replace_table_hack) from mediagoblin.db.models import (MediaEntry, Collection, MediaComment, User, - create_uuid, Privilege) + Privilege) from mediagoblin.db.extratypes import JSONEncoded, MutationDict + MIGRATIONS = {} -- cgit v1.2.3 From 1304a28fa75ff76313e2dcb50d25a87be5b2de95 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Fri, 4 Apr 2014 12:24:45 -0500 Subject: Add .jpe file extension recognition --- mediagoblin/media_types/image/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 0a77b0ce..ae0bfd11 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -26,7 +26,7 @@ from mediagoblin.notifications import add_comment_subscription _log = logging.getLogger(__name__) -ACCEPTED_EXTENSIONS = ["jpg", "jpeg", "png", "gif", "tiff"] +ACCEPTED_EXTENSIONS = ["jpe", "jpg", "jpeg", "png", "gif", "tiff"] MEDIA_TYPE = 'mediagoblin.media_types.image' -- cgit v1.2.3 From 41599bf23c7bfe9b1b6fe88ef3a05d6bac987f81 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Fri, 4 Apr 2014 12:25:20 -0500 Subject: Fix image upload problem in API --- mediagoblin/federation/views.py | 8 ++++++-- mediagoblin/media_types/image/__init__.py | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 5ae7754c..7107f4bc 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -1,5 +1,6 @@ import json import io +import mimetypes from werkzeug.datastructures import FileStorage @@ -56,14 +57,17 @@ def uploads(request): request.user = requested_user[0] if request.method == "POST": # Wrap the data in the werkzeug file wrapper + mimetype = request.headers.get("Content-Type", "application/octal-stream") + filename = mimetypes.guess_all_extensions(mimetype) + filename = 'unknown' + filename[0] if filename else filename file_data = FileStorage( stream=io.BytesIO(request.data), - filename=request.args.get("qqfile", "unknown"), + filename=filename, content_type=request.headers.get("Content-Type", "application/octal-stream") ) # Find media manager - media_type, media_manager = sniff_media(file_data) + media_type, media_manager = sniff_media(file_data, filename) entry = new_upload_entry(request.user) if hasattr(media_manager, "api_upload_request"): return media_manager.api_upload_request(request, file_data, entry) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index ae0bfd11..7b9296fe 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -72,7 +72,7 @@ class ImageMediaManager(MediaManagerBase): queue_file = prepare_queue_task(request.app, entry, file_data.filename) with queue_file: queue_file.write(request.data) - + entry.save() feed_url = request.urlgen( -- cgit v1.2.3 From c3b89febc0a030cc6c6fb1c9dfec5741b598c86b Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Mon, 7 Apr 2014 11:09:08 -0500 Subject: Fix problem where feed posting wasn't returning correct object --- mediagoblin/federation/views.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 7107f4bc..1e8c3e14 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -1,3 +1,4 @@ + import json import io import mimetypes @@ -72,9 +73,9 @@ def uploads(request): if hasattr(media_manager, "api_upload_request"): return media_manager.api_upload_request(request, file_data, entry) else: - return json_response({"error": "Not yet implemented"}, status=400) + return json_response({"error": "Not yet implemented"}, status=501) - return json_response({"error": "Not yet implemented"}, status=400) + return json_response({"error": "Not yet implemented"}, status=501) @oauth_required @csrf_exempt @@ -120,7 +121,10 @@ def feed(request): error = "No such 'image' with id '{0}'".format(id=media_id) return json_response(error, status=404) media = media[0] - return json_response(media.serialize(request)) + return json_response({ + "verb": "post", + "object": media.serialize(request) + }) elif obj.get("objectType", None) is None: # They need to tell us what type of object they're giving us. -- cgit v1.2.3 From 6781ff3cb1a26752a0f4bca224813fa374a7f248 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 8 Jul 2014 21:27:43 +0100 Subject: Clean up & Add support to update objects in feed API --- mediagoblin/federation/views.py | 105 ++++++++++++++++++++++++++++++++-------- mediagoblin/oauth/oauth.py | 16 +++--- 2 files changed, 93 insertions(+), 28 deletions(-) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 1e8c3e14..8af5565b 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -64,7 +64,7 @@ def uploads(request): file_data = FileStorage( stream=io.BytesIO(request.data), filename=filename, - content_type=request.headers.get("Content-Type", "application/octal-stream") + content_type=mimetype ) # Find media manager @@ -90,9 +90,12 @@ def feed(request): return json_response({"error": error}, status=404) request.user = requested_user[0] - - if request.method == "POST": + if request.data: data = json.loads(request.data) + else: + data = {"verb": None, "object": {}} + + if request.method == "POST" and data["verb"] == "post": obj = data.get("object", None) if obj is None: error = {"error": "Could not find 'object' element."} @@ -139,12 +142,74 @@ def feed(request): error = {"error": error_message} return json_response(error, status=400) + elif request.method in ["PUT", "POST"] and data["verb"] == "update": + # Check we've got a valid object + obj = data.get("object", None) + + if obj is None: + error = {"error": "Could not find 'object' element."} + return json_response(error, status=400) + + if "objectType" not in obj: + error = {"error": "No objectType specified."} + return json_response(error, status=400) + + if "id" not in obj: + error = {"error": "Object ID has not been specified."} + return json_response(error, status=400) + + obj_id = obj["id"] + + # Now try and find object + if obj["objectType"] == "comment": + comment = MediaComment.query.filter_by(id=obj_id) + if comment is None: + error = {"error": "No such 'comment' with id '{0}'.".format(obj_id)} + return json_response(error, status=400) + comment = comment[0] + + # TODO: refactor this out to update/setting method on MediaComment + if obj.get("content", None) is not None: + comment.content = obj["content"] + + comment.save() + activity = { + "verb": "update", + "object": comment.serialize(request), + } + return json_response(activity) + + elif obj["objectType"] == "image": + image = MediaEntry.query.filter_by(id=obj_id) + if image is None: + error = {"error": "No such 'image' with the id '{0}'.".format(obj_id)} + return json_response(error, status=400) + + image = image[0] + + # TODO: refactor this out to update/setting method on MediaEntry + if obj.get("displayName", None) is not None: + image.title = obj["displayName"] + + if obj.get("content", None) is not None: + image.description = obj["content"] + + if obj.get("license", None) is not None: + # I think we might need some validation here + image.license = obj["license"] + + image.save() + activity = { + "verb": "update", + "object": image.serialize(request), + } + return json_response(activity) feed_url = request.urlgen( - "mediagoblin.federation.feed", - username=request.user.username, - qualified=True - ) + "mediagoblin.federation.feed", + username=request.user.username, + qualified=True + ) feed = { "displayName": "Activities by {user}@{host}".format( @@ -191,17 +256,17 @@ def feed(request): @oauth_required def object(request, raw_obj=False): """ Lookup for a object type """ - objectType = request.matchdict["objectType"] + object_type = request.matchdict["objectType"] uuid = request.matchdict["uuid"] - if objectType not in ["image"]: - error = "Unknown type: {0}".format(objectType) + if object_type not in ["image"]: + error = "Unknown type: {0}".format(object_type) # not sure why this is 404, maybe ask evan. Maybe 400? return json_response({"error": error}, status=404) media = MediaEntry.query.filter_by(slug=uuid).first() if media is None: # no media found with that uuid - error = "Can't find a {0} with ID = {1}".format(objectType, uuid) + error = "Can't find a {0} with ID = {1}".format(object_type, uuid) return json_response({"error": error}, status=404) if raw_obj: @@ -217,14 +282,16 @@ def object_comments(request): if isinstance(response, MediaEntry): comments = response.serialize(request) comments = comments.get("replies", { - "totalItems": 0, - "items": [], - "url": request.urlgen( - "mediagoblin.federation.object.comments", - objectType=media.objectType, - uuid=media.slug, - qualified=True) - }) + "totalItems": 0, + "items": [], + "url": request.urlgen( + "mediagoblin.federation.object.comments", + objectType=media.objectType, + uuid=media.slug, + qualified=True + ) + }) + comments["displayName"] = "Replies to {0}".format(comments["url"]) comments["links"] = { "first": comments["url"], diff --git a/mediagoblin/oauth/oauth.py b/mediagoblin/oauth/oauth.py index d9defa4b..8a60392c 100644 --- a/mediagoblin/oauth/oauth.py +++ b/mediagoblin/oauth/oauth.py @@ -15,12 +15,10 @@ # along with this program. If not, see . from oauthlib.common import Request -from oauthlib.oauth1 import RequestValidator +from oauthlib.oauth1 import RequestValidator from mediagoblin.db.models import NonceTimestamp, Client, RequestToken, AccessToken - - class GMGRequestValidator(RequestValidator): enforce_ssl = False @@ -63,14 +61,14 @@ class GMGRequestValidator(RequestValidator): """ Currently a stub - called when making AccessTokens """ return list() - def validate_timestamp_and_nonce(self, client_key, timestamp, - nonce, request, request_token=None, + def validate_timestamp_and_nonce(self, client_key, timestamp, + nonce, request, request_token=None, access_token=None): nc = NonceTimestamp.query.filter_by(timestamp=timestamp, nonce=nonce) nc = nc.first() if nc is None: return True - + return False def validate_client_key(self, client_key, request): @@ -78,7 +76,7 @@ class GMGRequestValidator(RequestValidator): client = Client.query.filter_by(id=client_key).first() if client is None: return False - + return True def validate_access_token(self, client_key, token, request): @@ -119,9 +117,9 @@ class GMGRequest(Request): """ def __init__(self, request, *args, **kwargs): - """ + """ :param request: werkzeug request object - + any extra params are passed to oauthlib.common.Request object """ kwargs["uri"] = kwargs.get("uri", request.url) -- cgit v1.2.3 From 24e12cb133ac7b87094f8c6ec7efa03464ce4474 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 8 Jul 2014 15:39:24 +0100 Subject: Fix problem in OAuth views --- mediagoblin/oauth/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mediagoblin/oauth/views.py b/mediagoblin/oauth/views.py index f424576b..5ade7a8d 100644 --- a/mediagoblin/oauth/views.py +++ b/mediagoblin/oauth/views.py @@ -252,6 +252,7 @@ def authorize(request): if oauth_request.verifier is None: orequest = GMGRequest(request) + orequest.resource_owner_key = token request_validator = GMGRequestValidator() auth_endpoint = AuthorizationEndpoint(request_validator) verifier = auth_endpoint.create_verifier(orequest, {}) @@ -333,7 +334,7 @@ def access_token(request): error = "Missing required parameter." return json_response({"error": error}, status=400) - + request.resource_owner_key = parsed_tokens["oauth_consumer_key"] request.oauth_token = parsed_tokens["oauth_token"] request_validator = GMGRequestValidator(data) av = AccessTokenEndpoint(request_validator) -- cgit v1.2.3 From 128af9533ffa60c356a187d0f98c370f65876893 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 8 Jul 2014 17:27:38 +0100 Subject: Update documentation on uploading media via API --- docs/source/api/images.rst | 134 --------------------------------------- docs/source/api/media.rst | 155 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 155 insertions(+), 134 deletions(-) delete mode 100644 docs/source/api/images.rst create mode 100644 docs/source/api/media.rst diff --git a/docs/source/api/images.rst b/docs/source/api/images.rst deleted file mode 100644 index 8c2653d4..00000000 --- a/docs/source/api/images.rst +++ /dev/null @@ -1,134 +0,0 @@ -.. MediaGoblin Documentation - - Written in 2011, 2012 by MediaGoblin contributors - - To the extent possible under law, the author(s) have dedicated all - copyright and related and neighboring rights to this software to - the public domain worldwide. This software is distributed without - any warranty. - - You should have received a copy of the CC0 Public Domain - Dedication along with this software. If not, see - . - -================== -Uploading an Image -================== - -To use any the APIs mentioned in this document you will required :doc:`oauth` - -Uploading and posting an image requiest you to make two requests, one of which -submits the image to the server, the other of which will post the meta data. - -To upload an image you should use the URI `/api/user//uploads`. - -A POST request should be made to the image upload URI submitting at least two header: - -* `Content-Type` - This being a valid mimetype for the image. -* `Content-Length` - size in bytes of the image. - -The binary image data should be submitted as POST data to the image upload URI. -You will get back a JSON encoded response which will look similiar to:: - - { - "updated": "2014-01-11T09:45:48Z", - "links": { - "self": { - "href": "https:///image/4wiBUV1HT8GRqseyvX8m-w" - } - }, - "fullImage": { - "url": "https:////uploads//2014/1/11/V3cBMw.jpg", - "width": 505, - "height": 600 - }, - "replies": { - "url": "https:////api/image/4wiBUV1HT8GRqseyvX8m-w/replies" - }, - "image": { - "url": "https:///uploads//2014/1/11/V3cBMw_thumb.jpg", - "width": 269, - "height": 320 - }, - "author": { - "preferredUsername": "", - "displayName": "", - "links": { - "activity-outbox": { - "href": "https:///api/user//feed" - }, - "self": { - "href": "https:///api/user//profile" - }, - "activity-inbox": { - "href": "https:///api/user//inbox" - } - }, - "url": "https:///", - "updated": "2013-08-14T10:01:21Z", - "id": "acct:@", - "objectType": "person" - }, - "url": "https:////image/4wiBUV1HT8GRqseyvX8m-w", - "published": "2014-01-11T09:45:48Z", - "id": "https:///api/image/4wiBUV1HT8GRqseyvX8m-w", - "objectType": "image" - } - -The main things in this response is `fullImage` which contains `url` (the URL -of the original image - i.e. fullsize) and `image` which contains `url` (the URL -of a thumbnail version). - -Submit to feed -============== - -The next request you will probably wish to make is to post the image to your -feed, this currently in GNU MediaGoblin will just show it visably on the website. -In the future it will allow you to specify whom should see this image. - -The URL you will want to make a POST request to to is `/api/user//feed` - -You first should do a post to the feed URI with some of the information you got -back from the above request (which uploaded the image). The request should look -something like:: - - { - "verb": "post", - "object": { - "id": "https:///api/image/6_K9m-2NQFi37je845c83w", - "objectType": "image" - } - } - -(Any other data submitted **will** be ignored) - -Finally if you wish to set a title, description and licence you will need to do -and update request to the endpoint, the following attributes can be submitted: - -+--------------+---------------------------------------+-------------------+ -| Name | Description | Required/Optional | -+==============+=======================================+===================+ -| displayName | This is the title for the image | Optional | -+--------------+---------------------------------------+-------------------+ -| content | This is the description for the image | Optional | -+--------------+---------------------------------------+-------------------+ -| license | This is the licence to be used | Optional | -+--------------+---------------------------------------+-------------------+ - -.. note:: license attribute is mediagoblin specific, pump.io does not support this attribute - - -The update request should look something similiar to:: - - { - "verb": "update", - "object": { - "displayName": "My super awesome image!", - "content": "The awesome image I took while backpacking to modor", - "license": "creativecommons.org/licenses/by-sa/3.0/", - "id": "https:///api/image/6_K9m-2NQFi37je845c83w", - "objectType": "image" - } - } - -(Again, any other data submitted **will** be ignored). diff --git a/docs/source/api/media.rst b/docs/source/api/media.rst new file mode 100644 index 00000000..bafe43d3 --- /dev/null +++ b/docs/source/api/media.rst @@ -0,0 +1,155 @@ +.. MediaGoblin Documentation + + Written in 2011, 2012 by MediaGoblin contributors + + To the extent possible under law, the author(s) have dedicated all + copyright and related and neighboring rights to this software to + the public domain worldwide. This software is distributed without + any warranty. + + You should have received a copy of the CC0 Public Domain + Dedication along with this software. If not, see + . + +.. info:: Currently only image uploading is supported. + +=============== +Uploading Media +=============== + +To use any the APIs mentioned in this document you will required :doc:`oauth` + +Uploading and posting an media requiest you to make two to three requests: + +1) Uploads the data to the server +2) Post media to feed +3) Update media to have title, description, license, etc. (optional) + +These steps could be condenced in the future however currently this is how the +pump.io API works. There is currently an issue open, if you would like to change +how this works please contribute upstream: https://github.com/e14n/pump.io/issues/657 + +---------------------- +Upload Media to Server +---------------------- + +To upload media you should use the URI `/api/user//uploads`. + +A POST request should be made to the media upload URI submitting at least two header: + +* `Content-Type` - This being a valid mimetype for the media. +* `Content-Length` - size in bytes of the media. + +The media data should be submitted as POST data to the image upload URI. +You will get back a JSON encoded response which will look similiar to:: + + { + "updated": "2014-01-11T09:45:48Z", + "links": { + "self": { + "href": "https:///image/4wiBUV1HT8GRqseyvX8m-w" + } + }, + "fullImage": { + "url": "https:////uploads//2014/1/11/V3cBMw.jpg", + "width": 505, + "height": 600 + }, + "replies": { + "url": "https:////api/image/4wiBUV1HT8GRqseyvX8m-w/replies" + }, + "image": { + "url": "https:///uploads//2014/1/11/V3cBMw_thumb.jpg", + "width": 269, + "height": 320 + }, + "author": { + "preferredUsername": "", + "displayName": "", + "links": { + "activity-outbox": { + "href": "https:///api/user//feed" + }, + "self": { + "href": "https:///api/user//profile" + }, + "activity-inbox": { + "href": "https:///api/user//inbox" + } + }, + "url": "https:///", + "updated": "2013-08-14T10:01:21Z", + "id": "acct:@", + "objectType": "person" + }, + "url": "https:////image/4wiBUV1HT8GRqseyvX8m-w", + "published": "2014-01-11T09:45:48Z", + "id": "https:///api/image/4wiBUV1HT8GRqseyvX8m-w", + "objectType": "image" + } + +The main things in this response is `fullImage` which contains `url` (the URL +of the original image - i.e. fullsize) and `image` which contains `url` (the URL +of a thumbnail version). + +.. warning:: Media which have been uploaded but not submitted to a feed will + periodically be deleted. + +-------------- +Submit to feed +-------------- + +This is submitting the media to appear on the website. This will create an +object in your feed which will then appear on the GNU MediaGoblin website so the +user and others can view and interact with the media. + +The URL you need to POST to is `/api/user//feed` + +You first should do a post to the feed URI with some of the information you got +back from the above request (which uploaded the media). The request should look +something like:: + + { + "verb": "post", + "object": { + "id": "https:///api/image/6_K9m-2NQFi37je845c83w", + "objectType": "image" + } + } + +.. warning:: Any other data submitted **will** be ignored + +------------------- +Submitting Metadata +------------------- + +Finally if you wish to set a title, description and license you will need to do +and update request to the endpoint, the following attributes can be submitted: + ++--------------+---------------------------------------+-------------------+ +| Name | Description | Required/Optional | ++==============+=======================================+===================+ +| displayName | This is the title for the media | Optional | ++--------------+---------------------------------------+-------------------+ +| content | This is the description for the media | Optional | ++--------------+---------------------------------------+-------------------+ +| license | This is the license to be used | Optional | ++--------------+---------------------------------------+-------------------+ + +.. note:: license attribute is mediagoblin specific, pump.io does not support this attribute + + +The update request should look something similiar to:: + + { + "verb": "update", + "object": { + "displayName": "My super awesome image!", + "content": "The awesome image I took while backpacking to modor", + "license": "creativecommons.org/licenses/by-sa/3.0/", + "id": "https:///api/image/6_K9m-2NQFi37je845c83w", + "objectType": "image" + } + } + +.. warning:: Any other data submitted **will** be ignored. -- cgit v1.2.3 From f751d346cf48dc2c6eeb6fa8dcd07be26715f4de Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 9 Jul 2014 17:23:57 +0100 Subject: Add fixtures to provide OAuth client, request and access models --- mediagoblin/tests/tools.py | 64 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 1 deletion(-) diff --git a/mediagoblin/tests/tools.py b/mediagoblin/tests/tools.py index 060dfda9..d839373b 100644 --- a/mediagoblin/tests/tools.py +++ b/mediagoblin/tests/tools.py @@ -25,13 +25,16 @@ from webtest import TestApp from mediagoblin import mg_globals from mediagoblin.db.models import User, MediaEntry, Collection, MediaComment, \ - CommentSubscription, CommentNotification, Privilege, CommentReport + CommentSubscription, CommentNotification, Privilege, CommentReport, Client, \ + RequestToken, AccessToken from mediagoblin.tools import testing from mediagoblin.init.config import read_mediagoblin_config from mediagoblin.db.base import Session from mediagoblin.meddleware import BaseMeddleware from mediagoblin.auth import gen_password_hash from mediagoblin.gmg_commands.dbupdate import run_dbupdate +from mediagoblin.oauth.views import OAUTH_ALPHABET +from mediagoblin.tools.crypto import random_string from datetime import datetime @@ -343,3 +346,62 @@ def fixture_add_comment_report(comment=None, reported_user=None, Session.expunge(comment_report) return comment_report + +def fixture_add_oauth_client(client_name=None, client_type="native", + redirect_uri=None, contacts=None): + + client_id = random_string(22, OAUTH_ALPHABET) + client_secret = random_string(43, OAUTH_ALPHABET) + + client = Client( + id=client_id, + secret=client_secret, + expirey=None, + application_type=client_type, + application_name=client_name, + contacts=contacts, + redirect_uri=redirect_uri + ) + client.save() + + return client + +def fixture_add_oauth_request_token(user, client=None): + if client is None: + client = fixture_add_oauth_client() + + rt_token = random_string(22, OAUTH_ALPHABET) + rt_secret = random_string(43, OAUTH_ALPHABET) + rt_verifier = random_string(22, OAUTH_ALPHABET) + + request_token = RequestToken( + token=rt_token, + secret=rt_secret, + user=user.id, + used=True, + authenticated=True, + verifier=rt_verifier, + ) + request_token.save() + + return request_token + +def fixture_add_oauth_access_token(user, client=None, request_token=None): + if client is None: + client = fixture_add_oauth_client() + + if request_token is None: + request_token = fixture_add_oauth_request_token(user) + + at_token = random_string(22, OAUTH_ALPHABET) + at_secret = random_string(43, OAUTH_ALPHABET) + + access_token = AccessToken( + token=at_token, + secret=at_secret, + user=user.id, + request_token=request_token.token + ) + access_token.save() + + return access_token -- cgit v1.2.3 From c9115b89c95fa26344f7688120a29d6b6a3efbf3 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 9 Jul 2014 18:01:08 +0100 Subject: Rename test_joarapi.py => test_legacy_api.py --- mediagoblin/tests/test_joarapi.py | 92 ----------------------------------- mediagoblin/tests/test_legacy_api.py | 93 ++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+), 92 deletions(-) delete mode 100644 mediagoblin/tests/test_joarapi.py create mode 100644 mediagoblin/tests/test_legacy_api.py diff --git a/mediagoblin/tests/test_joarapi.py b/mediagoblin/tests/test_joarapi.py deleted file mode 100644 index 89cf1026..00000000 --- a/mediagoblin/tests/test_joarapi.py +++ /dev/null @@ -1,92 +0,0 @@ -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - - -import logging -import base64 - -import pytest - -from mediagoblin import mg_globals -from mediagoblin.tools import template, pluginapi -from mediagoblin.tests.tools import fixture_add_user -from .resources import GOOD_JPG, GOOD_PNG, EVIL_FILE, EVIL_JPG, EVIL_PNG, \ - BIG_BLUE - - -_log = logging.getLogger(__name__) - - -class TestAPI(object): - def setup(self): - self.db = mg_globals.database - - self.user_password = u'4cc355_70k3N' - self.user = fixture_add_user(u'joapi', self.user_password) - - def login(self, test_app): - test_app.post( - '/auth/login/', { - 'username': self.user.username, - 'password': self.user_password}) - - def get_context(self, template_name): - return template.TEMPLATE_TEST_CONTEXT[template_name] - - def http_auth_headers(self): - return {'Authorization': 'Basic {0}'.format( - base64.b64encode(':'.join([ - self.user.username, - self.user_password])))} - - def do_post(self, data, test_app, **kwargs): - url = kwargs.pop('url', '/api/submit') - do_follow = kwargs.pop('do_follow', False) - - if not 'headers' in kwargs.keys(): - kwargs['headers'] = self.http_auth_headers() - - response = test_app.post(url, data, **kwargs) - - if do_follow: - response.follow() - - return response - - def upload_data(self, filename): - return {'upload_files': [('file', filename)]} - - def test_1_test_test_view(self, test_app): - self.login(test_app) - - response = test_app.get( - '/api/test', - headers=self.http_auth_headers()) - - assert response.body == \ - '{"username": "joapi", "email": "joapi@example.com"}' - - def test_2_test_submission(self, test_app): - self.login(test_app) - - response = self.do_post( - {'title': 'Great JPG!'}, - test_app, - **self.upload_data(GOOD_JPG)) - - assert response.status_int == 200 - - assert self.db.MediaEntry.query.filter_by(title=u'Great JPG!').first() diff --git a/mediagoblin/tests/test_legacy_api.py b/mediagoblin/tests/test_legacy_api.py new file mode 100644 index 00000000..4e0cbd8f --- /dev/null +++ b/mediagoblin/tests/test_legacy_api.py @@ -0,0 +1,93 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + + +import logging +import base64 + +import pytest + +from mediagoblin import mg_globals +from mediagoblin.tools import template, pluginapi +from mediagoblin.tests.tools import fixture_add_user +from .resources import GOOD_JPG, GOOD_PNG, EVIL_FILE, EVIL_JPG, EVIL_PNG, \ + BIG_BLUE + + +_log = logging.getLogger(__name__) + + +class TestAPI(object): + def setup(self): + self.db = mg_globals.database + + self.user_password = u'4cc355_70k3N' + self.user = fixture_add_user(u'joapi', self.user_password, + privileges=[u'active',u'uploader']) + + def login(self, test_app): + test_app.post( + '/auth/login/', { + 'username': self.user.username, + 'password': self.user_password}) + + def get_context(self, template_name): + return template.TEMPLATE_TEST_CONTEXT[template_name] + + def http_auth_headers(self): + return {'Authorization': 'Basic {0}'.format( + base64.b64encode(':'.join([ + self.user.username, + self.user_password])))} + + def do_post(self, data, test_app, **kwargs): + url = kwargs.pop('url', '/api/submit') + do_follow = kwargs.pop('do_follow', False) + + if not 'headers' in kwargs.keys(): + kwargs['headers'] = self.http_auth_headers() + + response = test_app.post(url, data, **kwargs) + + if do_follow: + response.follow() + + return response + + def upload_data(self, filename): + return {'upload_files': [('file', filename)]} + + def test_1_test_test_view(self, test_app): + self.login(test_app) + + response = test_app.get( + '/api/test', + headers=self.http_auth_headers()) + + assert response.body == \ + '{"username": "joapi", "email": "joapi@example.com"}' + + def test_2_test_submission(self, test_app): + self.login(test_app) + + response = self.do_post( + {'title': 'Great JPG!'}, + test_app, + **self.upload_data(GOOD_JPG)) + + assert response.status_int == 200 + + assert self.db.MediaEntry.query.filter_by(title=u'Great JPG!').first() -- cgit v1.2.3 From ee9956c3de39854f32207789b223f09eb7bbb20b Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Thu, 10 Jul 2014 17:47:54 +0100 Subject: Remove unneeded oauth fixtures and add test for image submission --- mediagoblin/tests/test_api.py | 118 ++++++++++++++++++++++++++++-------------- 1 file changed, 80 insertions(+), 38 deletions(-) diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index 0ba8a424..e1ca688b 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -13,58 +13,100 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . - import urllib +import json import pytest import mock -from oauthlib.oauth1 import Client - from mediagoblin import mg_globals -from mediagoblin.tests.tools import fixture_add_user from .resources import GOOD_JPG +from mediagoblin.tests.tools import fixture_add_user +from mediagoblin.moderation.tools import take_away_privileges +from .resources import GOOD_JPG, GOOD_PNG, EVIL_FILE, EVIL_JPG, EVIL_PNG, \ + BIG_BLUE + +def mocked_oauth_required(*args, **kwargs): + """ Mocks mediagoblin.decorator.oauth_required to always validate """ + + def oauth_required(controller): + return controller + + return oauth_required class TestAPI(object): - def setup(self): + @pytest.fixture(autouse=True) + def setup(self, test_app): + self.test_app = test_app self.db = mg_globals.database - self.user = fixture_add_user() - - def test_profile_endpoint(self, test_app): - """ Test that you can successfully get the profile of a user """ - @mock.patch("mediagoblin.decorators.oauth_required") - def _real_test(*args, **kwargs): - profile = test_app.get( - "/api/user/{0}/profile".format(self.user.username) - ).json - - assert profile["preferredUsername"] == self.user.username - assert profile["objectType"] == "person" - - _real_test() - - def test_upload_file(self, test_app): - """ Test that i can upload a file """ - context = { - "title": "Rel", - "description": "ayRel sunu oeru", - "qqfile": "my_picture.jpg", + self.user = fixture_add_user(privileges=[u'active', u'uploader']) + + def test_can_post_image(self, test_app): + """ Tests that an image can be posted to the API """ + # First request we need to do is to upload the image + data = open(GOOD_JPG, "rb").read() + headers = { + "Content-Type": "image/jpeg", + "Content-Length": str(len(data)) } - encoded_context = urllib.urlencode(context) - response = test_app.post( - "/api/user/{0}/uploads?{1}".format( - self.user.username, - encoded_context[1:] + + + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=mocked_oauth_required): + response = test_app.post( + "/api/user/{0}/uploads".format(self.user.username), + data, + headers=headers ) - ) + image = json.loads(response.body) - picture = self.db.MediaEntry.query.filter_by(title=context["title"]) - picture = picture.first() - assert response.status_int == 200 - assert picture - raise Exception(str(dir(picture))) - assert picture.description == context["description"] + # I should have got certain things back + assert response.status_code == 200 + + assert "id" in image + assert "fullImage" in image + assert "url" in image["fullImage"] + assert "url" in image + assert "author" in image + assert "published" in image + assert "updated" in image + assert image["objectType"] == "image" + + # Now post this to the feed + activity = { + "verb": "post", + "object": image, + } + response = test_app.post( + "/api/user/{0}/feed".format(self.user.username), + activity + ) + + # Check that we got the response we're expecting + assert response.status_code == 200 + + def test_only_uploaders_post_image(self, test_app): + """ Test that only uploaders can upload images """ + # Remove uploader permissions from user + take_away_privileges(self.user.username, u"uploader") + + # Now try and upload a image + data = open(GOOD_JPG, "rb").read() + headers = { + "Content-Type": "image/jpeg", + "Content-Length": str(len(data)), + } + + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=mocked_oauth_required): + response = test_app.post( + "/api/user/{0}/uploads".format(self.user.username), + data, + headers=headers + ) + error = json.loads(response.body) + # Assert that we've got a 403 + assert response.status_code == 403 + assert "error" in error -- cgit v1.2.3 From 967df5eff0c00fe7cd860ebfb297ee1f2e0bcdaf Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Thu, 10 Jul 2014 18:17:47 +0100 Subject: Require uploader privileges to upload media to API --- mediagoblin/federation/views.py | 3 ++- mediagoblin/tests/test_api.py | 43 ++++++++++++++++++++++------------------ mediagoblin/tests/test_oauth1.py | 9 ++++----- mediagoblin/tools/request.py | 18 +++++++++++++++-- 4 files changed, 46 insertions(+), 27 deletions(-) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 8af5565b..6e4d81d4 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -1,4 +1,3 @@ - import json import io import mimetypes @@ -7,6 +6,7 @@ from werkzeug.datastructures import FileStorage from mediagoblin.media_types import sniff_media from mediagoblin.decorators import oauth_required +from mediagoblin.federation.decorators import user_has_privilege from mediagoblin.db.models import User, MediaEntry, MediaComment from mediagoblin.tools.response import redirect, json_response from mediagoblin.meddleware.csrf import csrf_exempt @@ -46,6 +46,7 @@ def user(request): @oauth_required @csrf_exempt +@user_has_privilege(u'uploader') def uploads(request): """ Endpoint for file uploads """ user = request.matchdict["username"] diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index e1ca688b..21222304 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -19,21 +19,16 @@ import json import pytest import mock +from webtest import AppError + from mediagoblin import mg_globals from .resources import GOOD_JPG +from mediagoblin.db.models import User from mediagoblin.tests.tools import fixture_add_user from mediagoblin.moderation.tools import take_away_privileges from .resources import GOOD_JPG, GOOD_PNG, EVIL_FILE, EVIL_JPG, EVIL_PNG, \ BIG_BLUE -def mocked_oauth_required(*args, **kwargs): - """ Mocks mediagoblin.decorator.oauth_required to always validate """ - - def oauth_required(controller): - return controller - - return oauth_required - class TestAPI(object): @pytest.fixture(autouse=True) @@ -42,6 +37,18 @@ class TestAPI(object): self.db = mg_globals.database self.user = fixture_add_user(privileges=[u'active', u'uploader']) + def mocked_oauth_required(self, *args, **kwargs): + """ Mocks mediagoblin.decorator.oauth_required to always validate """ + + def fake_controller(controller, request, *args, **kwargs): + request.user = User.query.filter_by(id=self.user.id).first() + return controller(request, *args, **kwargs) + + def oauth_required(c): + return lambda *args, **kwargs: fake_controller(c, *args, **kwargs) + + return oauth_required + def test_can_post_image(self, test_app): """ Tests that an image can be posted to the API """ # First request we need to do is to upload the image @@ -52,7 +59,7 @@ class TestAPI(object): } - with mock.patch("mediagoblin.decorators.oauth_required", new_callable=mocked_oauth_required): + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): response = test_app.post( "/api/user/{0}/uploads".format(self.user.username), data, @@ -98,15 +105,13 @@ class TestAPI(object): "Content-Length": str(len(data)), } - with mock.patch("mediagoblin.decorators.oauth_required", new_callable=mocked_oauth_required): - response = test_app.post( - "/api/user/{0}/uploads".format(self.user.username), - data, - headers=headers - ) - - error = json.loads(response.body) + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + with pytest.raises(AppError) as excinfo: + response = test_app.post( + "/api/user/{0}/uploads".format(self.user.username), + data, + headers=headers + ) # Assert that we've got a 403 - assert response.status_code == 403 - assert "error" in error + assert "403 FORBIDDEN" in excinfo.value.message diff --git a/mediagoblin/tests/test_oauth1.py b/mediagoblin/tests/test_oauth1.py index 073c2884..568036e5 100644 --- a/mediagoblin/tests/test_oauth1.py +++ b/mediagoblin/tests/test_oauth1.py @@ -52,8 +52,8 @@ class TestOAuth(object): def register_client(self, **kwargs): """ Regiters a client with the API """ - - kwargs["type"] = "client_associate" + + kwargs["type"] = "client_associate" kwargs["application_type"] = kwargs.get("application_type", "native") return self.test_app.post("/api/client/register", kwargs) @@ -63,7 +63,7 @@ class TestOAuth(object): client_info = response.json client = self.db.Client.query.filter_by(id=client_info["client_id"]).first() - + assert response.status_int == 200 assert client is not None @@ -81,7 +81,7 @@ class TestOAuth(object): client_info = response.json client = self.db.Client.query.filter_by(id=client_info["client_id"]).first() - + assert client is not None assert client.secret == client_info["client_secret"] assert client.application_type == query["application_type"] @@ -163,4 +163,3 @@ class TestOAuth(object): assert request_token.client == client.id assert request_token.used == False assert request_token.callback == request_query["oauth_callback"] - diff --git a/mediagoblin/tools/request.py b/mediagoblin/tools/request.py index 2de0b32f..d2cb0f6a 100644 --- a/mediagoblin/tools/request.py +++ b/mediagoblin/tools/request.py @@ -16,7 +16,9 @@ import json import logging -from mediagoblin.db.models import User + +from mediagoblin.db.models import User, AccessToken +from mediagoblin.oauth.tools.request import decode_authorization_header _log = logging.getLogger(__name__) @@ -31,6 +33,18 @@ def setup_user_in_request(request): Examine a request and tack on a request.user parameter if that's appropriate. """ + # If API request the user will be associated with the access token + authorization = decode_authorization_header(request.headers) + + if authorization.get(u"access_token"): + # Check authorization header. + token = authorization[u"oauth_token"] + token = AccessToken.query.filter_by(token=token).first() + if token is not None: + request.user = token.user + return + + if 'user_id' not in request.session: request.user = None return @@ -46,7 +60,7 @@ def setup_user_in_request(request): def decode_request(request): """ Decodes a request based on MIME-Type """ data = request.data - + if request.content_type == json_encoded: data = json.loads(data) elif request.content_type == form_encoded or request.content_type == "": -- cgit v1.2.3 From 51ab51921e5104f1b71402d38928651562c7134a Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Fri, 11 Jul 2014 15:23:55 +0100 Subject: Add more tests for federation APIs --- mediagoblin/db/models.py | 15 ++- mediagoblin/federation/views.py | 25 ++++- mediagoblin/media_types/image/__init__.py | 15 ++- mediagoblin/tests/test_api.py | 177 ++++++++++++++++++++++++------ mediagoblin/tests/tools.py | 58 ---------- 5 files changed, 187 insertions(+), 103 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index cc5d0afa..27ca74e0 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -446,9 +446,8 @@ class MediaEntry(Base, MediaEntryMixin): ) context = { - "id": self.id, + "id": self.id, "author": author.serialize(request), - "displayName": self.title, "objectType": self.objectType, "url": url, "image": { @@ -464,6 +463,15 @@ class MediaEntry(Base, MediaEntryMixin): }, } + if self.title: + context["displayName"] = self.title + + if self.description: + context["content"] = self.description + + if self.license: + context["license"] = self.license + if show_comments: comments = [comment.serialize(request) for comment in self.get_comments()] total = len(comments) @@ -478,7 +486,7 @@ class MediaEntry(Base, MediaEntryMixin): ), } - return context + return context class FileKeynames(Base): """ @@ -630,6 +638,7 @@ class MediaComment(Base, MediaCommentMixin): media = MediaEntry.query.filter_by(id=self.media_entry).first() author = self.get_author context = { + "id": self.id, "objectType": "comment", "content": self.content, "inReplyTo": media.serialize(request, show_comments=False), diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 6e4d81d4..c2b02ec0 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -116,15 +116,27 @@ def feed(request): elif obj.get("objectType", None) == "image": # Posting an image to the feed - # NB: This is currently just handing the image back until we have an - # to send the image to the actual feed - media_id = int(data["object"]["id"]) media = MediaEntry.query.filter_by(id=media_id) if media is None: error = "No such 'image' with id '{0}'".format(id=media_id) return json_response(error, status=404) - media = media[0] + + media = media.first() + obj = data["object"] + + if "displayName" in obj: + media.title = obj["displayName"] + + if "content" in obj: + media.description = obj["content"] + + if "license" in obj: + media.license = obj["license"] + + media.save() + manager = media.media_manager.api_add_to_feed(request, media) + return json_response({ "verb": "post", "object": media.serialize(request) @@ -206,6 +218,11 @@ def feed(request): } return json_response(activity) + elif request.method != "GET": + # Currently unsupported + error = "Unsupported HTTP method {0}".format(request.method) + return json_response({"error": error}, status=501) + feed_url = request.urlgen( "mediagoblin.federation.feed", username=request.user.username, diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 7b9296fe..96081068 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -63,10 +63,7 @@ class ImageMediaManager(MediaManagerBase): """ This handles a image upload request """ # Use the same kind of method from mediagoblin/submit/views:submit_start entry.media_type = unicode(MEDIA_TYPE) - entry.title = unicode(request.args.get("title", file_data.filename)) - entry.description = unicode(request.args.get("description", "")) - entry.license = request.args.get("license", "") # not part of the standard API - + entry.title = file_data.filename entry.generate_slug() queue_file = prepare_queue_task(request.app, entry, file_data.filename) @@ -74,6 +71,16 @@ class ImageMediaManager(MediaManagerBase): queue_file.write(request.data) entry.save() + return json_response(entry.serialize(request)) + + @staticmethod + def api_add_to_feed(request, entry): + """ Add media to Feed """ + if entry.title: + # Shame we have to do this here but we didn't have the data in + # api_upload_request as no filename is usually specified. + entry.slug = None + entry.generate_slug() feed_url = request.urlgen( 'mediagoblin.user_pages.atom_feed', diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index 21222304..38d4c0d5 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -23,11 +23,10 @@ from webtest import AppError from mediagoblin import mg_globals from .resources import GOOD_JPG -from mediagoblin.db.models import User +from mediagoblin.db.models import User, MediaEntry from mediagoblin.tests.tools import fixture_add_user from mediagoblin.moderation.tools import take_away_privileges -from .resources import GOOD_JPG, GOOD_PNG, EVIL_FILE, EVIL_JPG, EVIL_PNG, \ - BIG_BLUE +from .resources import GOOD_JPG class TestAPI(object): @@ -35,8 +34,54 @@ class TestAPI(object): def setup(self, test_app): self.test_app = test_app self.db = mg_globals.database + self.user = fixture_add_user(privileges=[u'active', u'uploader']) + def _activity_to_feed(self, test_app, activity, headers=None): + """ Posts an activity to the user's feed """ + if headers: + headers.setdefault("Content-Type", "application/json") + else: + headers = {"Content-Type": "application/json"} + + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + response = test_app.post( + "/api/user/{0}/feed".format(self.user.username), + json.dumps(activity), + headers=headers + ) + + return response, json.loads(response.body) + + def _upload_image(self, test_app, image): + """ Uploads and image to MediaGoblin via pump.io API """ + data = open(image, "rb").read() + headers = { + "Content-Type": "image/jpeg", + "Content-Length": str(len(data)) + } + + + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + response = test_app.post( + "/api/user/{0}/uploads".format(self.user.username), + data, + headers=headers + ) + image = json.loads(response.body) + + return response, image + + def _post_image_to_feed(self, test_app, image): + """ Posts an already uploaded image to feed """ + activity = { + "verb": "post", + "object": image, + } + + return self._activity_to_feed(test_app, activity) + + def mocked_oauth_required(self, *args, **kwargs): """ Mocks mediagoblin.decorator.oauth_required to always validate """ @@ -52,46 +97,63 @@ class TestAPI(object): def test_can_post_image(self, test_app): """ Tests that an image can be posted to the API """ # First request we need to do is to upload the image - data = open(GOOD_JPG, "rb").read() - headers = { - "Content-Type": "image/jpeg", - "Content-Length": str(len(data)) - } + response, image = self._upload_image(test_app, GOOD_JPG) + # I should have got certain things back + assert response.status_code == 200 - with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): - response = test_app.post( - "/api/user/{0}/uploads".format(self.user.username), - data, - headers=headers - ) - image = json.loads(response.body) + assert "id" in image + assert "fullImage" in image + assert "url" in image["fullImage"] + assert "url" in image + assert "author" in image + assert "published" in image + assert "updated" in image + assert image["objectType"] == "image" + # Check that we got the response we're expecting + response, _ = self._post_image_to_feed(test_app, image) + assert response.status_code == 200 - # I should have got certain things back - assert response.status_code == 200 + def test_upload_image_with_filename(self, test_app): + """ Tests that you can upload an image with filename and description """ + response, data = self._upload_image(test_app, GOOD_JPG) + response, data = self._post_image_to_feed(test_app, data) - assert "id" in image - assert "fullImage" in image - assert "url" in image["fullImage"] - assert "url" in image - assert "author" in image - assert "published" in image - assert "updated" in image - assert image["objectType"] == "image" - - # Now post this to the feed - activity = { - "verb": "post", - "object": image, - } + image = data["object"] + + # Now we need to add a title and description + title = "My image ^_^" + description = "This is my super awesome image :D" + license = "CC-BY-SA" + + image["displayName"] = title + image["content"] = description + image["license"] = license + + activity = {"verb": "update", "object": image} + + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): response = test_app.post( "/api/user/{0}/feed".format(self.user.username), - activity + json.dumps(activity), + headers={"Content-Type": "application/json"} ) - # Check that we got the response we're expecting - assert response.status_code == 200 + image = json.loads(response.body)["object"] + + # Check everything has been set on the media correctly + media = MediaEntry.query.filter_by(id=image["id"]).first() + assert media.title == title + assert media.description == description + assert media.license == license + + # Check we're being given back everything we should on an update + assert image["id"] == media.id + assert image["displayName"] == title + assert image["content"] == description + assert image["license"] == license + def test_only_uploaders_post_image(self, test_app): """ Test that only uploaders can upload images """ @@ -115,3 +177,50 @@ class TestAPI(object): # Assert that we've got a 403 assert "403 FORBIDDEN" in excinfo.value.message + + + def test_post_comment(self, test_app): + """ Tests that I can post an comment media """ + # Upload some media to comment on + response, data = self._upload_image(test_app, GOOD_JPG) + response, data = self._post_image_to_feed(test_app, data) + + content = "Hai this is a comment on this lovely picture ^_^" + + activity = { + "verb": "post", + "object": { + "objectType": "comment", + "content": content, + "inReplyTo": data["object"], + } + } + + response, comment_data = self._activity_to_feed(test_app, activity) + assert response.status_code == 200 + + # Find the objects in the database + media = MediaEntry.query.filter_by(id=data["object"]["id"]).first() + comment = media.get_comments()[0] + + # Tests that it matches in the database + assert comment.author == self.user.id + assert comment.content == content + + # Test that the response is what we should be given + assert comment.id == comment_data["object"]["id"] + assert comment.content == comment_data["object"]["content"] + + def test_profile(self, test_app): + """ Tests profile endpoint """ + uri = "/api/user/{0}/profile".format(self.user.username) + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + response = test_app.get(uri) + profile = json.loads(response.body) + + assert response.status_code == 200 + + assert profile["preferredUsername"] == self.user.username + assert profile["objectType"] == "person" + + assert "links" in profile diff --git a/mediagoblin/tests/tools.py b/mediagoblin/tests/tools.py index d839373b..57dea7b0 100644 --- a/mediagoblin/tests/tools.py +++ b/mediagoblin/tests/tools.py @@ -347,61 +347,3 @@ def fixture_add_comment_report(comment=None, reported_user=None, return comment_report -def fixture_add_oauth_client(client_name=None, client_type="native", - redirect_uri=None, contacts=None): - - client_id = random_string(22, OAUTH_ALPHABET) - client_secret = random_string(43, OAUTH_ALPHABET) - - client = Client( - id=client_id, - secret=client_secret, - expirey=None, - application_type=client_type, - application_name=client_name, - contacts=contacts, - redirect_uri=redirect_uri - ) - client.save() - - return client - -def fixture_add_oauth_request_token(user, client=None): - if client is None: - client = fixture_add_oauth_client() - - rt_token = random_string(22, OAUTH_ALPHABET) - rt_secret = random_string(43, OAUTH_ALPHABET) - rt_verifier = random_string(22, OAUTH_ALPHABET) - - request_token = RequestToken( - token=rt_token, - secret=rt_secret, - user=user.id, - used=True, - authenticated=True, - verifier=rt_verifier, - ) - request_token.save() - - return request_token - -def fixture_add_oauth_access_token(user, client=None, request_token=None): - if client is None: - client = fixture_add_oauth_client() - - if request_token is None: - request_token = fixture_add_oauth_request_token(user) - - at_token = random_string(22, OAUTH_ALPHABET) - at_secret = random_string(43, OAUTH_ALPHABET) - - access_token = AccessToken( - token=at_token, - secret=at_secret, - user=user.id, - request_token=request_token.token - ) - access_token.save() - - return access_token -- cgit v1.2.3 From 3c8bd177b24cbc53dba9ebc8a03f83370e409c4f Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Sat, 12 Jul 2014 08:42:39 +0100 Subject: Add test for API object endpoint --- mediagoblin/db/models.py | 11 +++++++++++ mediagoblin/federation/routing.py | 2 +- mediagoblin/federation/views.py | 6 +++--- mediagoblin/tests/test_api.py | 29 +++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 27ca74e0..0507161e 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -461,6 +461,17 @@ class MediaEntry(Base, MediaEntryMixin): "pump_io": { "shared": False, }, + "links": { + "self": { + "href": request.urlgen( + "mediagoblin.federation.object", + objectType=self.objectType, + slug=self.slug, + qualified=True + ), + }, + + } } if self.title: diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index b9cc4e2e..544edc68 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -51,7 +51,7 @@ add_route( # object endpoints add_route( "mediagoblin.federation.object", - "/api//", + "/api//", "mediagoblin.federation.views:object" ) add_route( diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index c2b02ec0..af81cbcb 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -275,16 +275,16 @@ def feed(request): def object(request, raw_obj=False): """ Lookup for a object type """ object_type = request.matchdict["objectType"] - uuid = request.matchdict["uuid"] + slug = request.matchdict["slug"] if object_type not in ["image"]: error = "Unknown type: {0}".format(object_type) # not sure why this is 404, maybe ask evan. Maybe 400? return json_response({"error": error}, status=404) - media = MediaEntry.query.filter_by(slug=uuid).first() + media = MediaEntry.query.filter_by(slug=slug).first() if media is None: # no media found with that uuid - error = "Can't find a {0} with ID = {1}".format(object_type, uuid) + error = "Can't find a {0} with ID = {1}".format(object_type, slug) return json_response({"error": error}, status=404) if raw_obj: diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index 38d4c0d5..07c34d04 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -178,6 +178,35 @@ class TestAPI(object): # Assert that we've got a 403 assert "403 FORBIDDEN" in excinfo.value.message + def test_object_endpoint(self, test_app): + """ Tests that object can be looked up at endpoint """ + # Post an image + response, data = self._upload_image(test_app, GOOD_JPG) + response, data = self._post_image_to_feed(test_app, data) + + # Now lookup image to check that endpoint works. + image = data["object"] + + assert "links" in image + assert "self" in image["links"] + + # Get URI and strip testing host off + object_uri = image["links"]["self"]["href"] + object_uri = object_uri.replace("http://localhost:80", "") + + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + request = test_app.get(object_uri) + + image = json.loads(request.body) + entry = MediaEntry.query.filter_by(id=image["id"]).first() + + assert request.status_code == 200 + assert entry.id == image["id"] + + assert "image" in image + assert "fullImage" in image + assert "pump_io" in image + assert "links" in image def test_post_comment(self, test_app): """ Tests that I can post an comment media """ -- cgit v1.2.3 From 161cf125f06ae6e0f7f1f1b719ce708dbc70ab4c Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Sat, 12 Jul 2014 09:04:40 +0100 Subject: Add documentation for interacting with media entires --- docs/source/api/media_interaction.rst | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 docs/source/api/media_interaction.rst diff --git a/docs/source/api/media_interaction.rst b/docs/source/api/media_interaction.rst new file mode 100644 index 00000000..41114a71 --- /dev/null +++ b/docs/source/api/media_interaction.rst @@ -0,0 +1,65 @@ +.. MediaGoblin Documentation + + Written in 2011, 2012 by MediaGoblin contributors + + To the extent possible under law, the author(s) have dedicated all + copyright and related and neighboring rights to this software to + the public domain worldwide. This software is distributed without + any warranty. + + You should have received a copy of the CC0 Public Domain + Dedication along with this software. If not, see + . + +Pump.io supports a number of different interactions that can happen against +media. Theser are commenting, liking/favoriting and (re-)sharing. Currently +MediaGoblin supports just commenting although other interactions will come at +a later date. + +-------------- +How to comment +-------------- + +.. warning:: Commenting on a comment currently is NOT supported. + +Commenting is done by posting a comment activity to the users feed. The +activity should look similiar to:: + + { + "verb": "post", + "object": { + "objectType": "comment", + "inReplyTo": + } + } + +This is where `` is the media object you have got with from the server. + +---------------- +Getting comments +---------------- + +The media object you get back should have a `replies` section. This should +be an object which contains the number of replies and if there are any (i.e. +number of replies > 0) then `items` will include an array of every item:: + + { + "totalItems": 2, + "items: [ + { + "id": 1, + "objectType": "comment", + "content": "I'm a comment ^_^", + "author": + }, + { + "id": 4, + "objectType": "comment", + "content": "Another comment! Blimey!", + "author": + } + ], + "url": "http://some.server/api/images/1/comments/" + } + + -- cgit v1.2.3 From 0e283215bd2938f665930f3c481a6003d74bb845 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Sat, 12 Jul 2014 09:15:16 +0100 Subject: oops - add decorators for federated APIs --- mediagoblin/federation/decorators.py | 51 ++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 mediagoblin/federation/decorators.py diff --git a/mediagoblin/federation/decorators.py b/mediagoblin/federation/decorators.py new file mode 100644 index 00000000..f515af42 --- /dev/null +++ b/mediagoblin/federation/decorators.py @@ -0,0 +1,51 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from functools import wraps + +from mediagoblin.db.models import User +from mediagoblin.decorators import require_active_login +from mediagoblin.tools.response import json_response + +def user_has_privilege(privilege_name): + """ + Requires that a user have a particular privilege in order to access a page. + In order to require that a user have multiple privileges, use this + decorator twice on the same view. This decorator also makes sure that the + user is not banned, or else it redirects them to the "You are Banned" page. + + :param privilege_name A unicode object that is that represents + the privilege object. This object is + the name of the privilege, as assigned + in the Privilege.privilege_name column + """ + + def user_has_privilege_decorator(controller): + @wraps(controller) + @require_active_login + def wrapper(request, *args, **kwargs): + user_id = request.user.id + if not request.user.has_privilege(privilege_name): + error = "User '{0}' needs '{1}' privilege".format( + request.user.username, + privilege_name + ) + return json_response({"error": error}, status=403) + + return controller(request, *args, **kwargs) + + return wrapper + return user_has_privilege_decorator + -- cgit v1.2.3 From 0679545f192d8d45a4d98c65bf731e236d73b418 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 15 Jul 2014 21:24:25 +0100 Subject: Add garbage collection task --- mediagoblin.ini | 4 +++ mediagoblin/federation/routing.py | 18 +++++++------- mediagoblin/federation/task.py | 49 +++++++++++++++++++++++++++++++++++++ mediagoblin/federation/views.py | 31 +++++++++++++++++------ mediagoblin/init/celery/__init__.py | 13 ++++++++++ 5 files changed, 98 insertions(+), 17 deletions(-) create mode 100755 mediagoblin/federation/task.py diff --git a/mediagoblin.ini b/mediagoblin.ini index 5e2477a4..6ccfa4f7 100644 --- a/mediagoblin.ini +++ b/mediagoblin.ini @@ -23,6 +23,10 @@ allow_registration = true # Set to false to disable the ability for users to report offensive content allow_reporting = true +# Frequency garbage collection will run (setting to 0 or false to disable) +# Setting units are minutes. +garbage_collection = 60 + ## Uncomment this to put some user-overriding templates here # local_templates = %(here)s/user_dev/templates/ diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index 544edc68..c5fa5ce8 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -21,32 +21,32 @@ add_route( "mediagoblin.federation.user", "/api/user//", "mediagoblin.federation.views:user" - ) +) add_route( "mediagoblin.federation.user.profile", "/api/user//profile", "mediagoblin.federation.views:profile" - ) +) # Inbox and Outbox (feed) add_route( "mediagoblin.federation.feed", "/api/user//feed", "mediagoblin.federation.views:feed" - ) +) add_route( "mediagoblin.federation.user.uploads", "/api/user//uploads", "mediagoblin.federation.views:uploads" - ) +) add_route( "mediagoblin.federation.inbox", "/api/user//inbox", "mediagoblin.federation.views:feed" - ) +) # object endpoints add_route( @@ -58,22 +58,22 @@ add_route( "mediagoblin.federation.object.comments", "/api///comments", "mediagoblin.federation.views:object_comments" - ) +) add_route( "mediagoblin.webfinger.well-known.host-meta", "/.well-known/host-meta", "mediagoblin.federation.views:host_meta" - ) +) add_route( "mediagoblin.webfinger.well-known.host-meta.json", "/.well-known/host-meta.json", "mediagoblin.federation.views:host_meta" - ) +) add_route( "mediagoblin.webfinger.whoami", "/api/whoami", "mediagoblin.federation.views:whoami" - ) +) diff --git a/mediagoblin/federation/task.py b/mediagoblin/federation/task.py new file mode 100755 index 00000000..1d42e851 --- /dev/null +++ b/mediagoblin/federation/task.py @@ -0,0 +1,49 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import celery +import datetime +import logging +import pytz + +from mediagoblin.db.models import MediaEntry + +_log = logging.getLogger(__name__) +logging.basicConfig() +_log.setLevel(logging.DEBUG) + +@celery.task() +def collect_garbage(): + """ + Garbage collection to clean up media + + This will look for all critera on models to clean + up. This is primerally written to clean up media that's + entered a erroneous state. + """ + _log.info("Garbage collection is running.") + now = datetime.datetime.now(pytz.UTC) - datetime.timedelta(days=1) + + garbage = MediaEntry.query.filter(MediaEntry.created > now) + garbage = garbage.filter(MediaEntry.state == "unprocessed") + + for entry in garbage.all(): + _log.info("Garbage media found with ID '{0}'".format(entry.id)) + entry.delete() + + + + diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index af81cbcb..c383b3ef 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -1,3 +1,19 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + import json import io import mimetypes @@ -135,7 +151,7 @@ def feed(request): media.license = obj["license"] media.save() - manager = media.media_manager.api_add_to_feed(request, media) + media.media_manager.api_add_to_feed(request, media) return json_response({ "verb": "post", @@ -263,7 +279,7 @@ def feed(request): "actor": request.user.serialize(request), "content": "{0} posted a picture".format(request.user.username), "id": 1, - }) + }) feed["items"][-1]["updated"] = feed["items"][-1]["object"]["updated"] feed["items"][-1]["published"] = feed["items"][-1]["object"]["published"] feed["items"][-1]["url"] = feed["items"][-1]["object"]["url"] @@ -319,7 +335,6 @@ def object_comments(request): return response - ## # Well known ## @@ -331,19 +346,19 @@ def host_meta(request): links.append({ "ref": "registration_endpoint", "href": request.urlgen("mediagoblin.oauth.client_register", qualified=True), - }) + }) links.append({ "ref": "http://apinamespace.org/oauth/request_token", "href": request.urlgen("mediagoblin.oauth.request_token", qualified=True), - }) + }) links.append({ "ref": "http://apinamespace.org/oauth/authorize", "href": request.urlgen("mediagoblin.oauth.authorize", qualified=True), - }) + }) links.append({ "ref": "http://apinamespace.org/oauth/access_token", "href": request.urlgen("mediagoblin.oauth.access_token", qualified=True), - }) + }) return json_response({"links": links}) @@ -353,6 +368,6 @@ def whoami(request): "mediagoblin.federation.user.profile", username=request.user.username, qualified=True - ) + ) return redirect(request, location=profile) diff --git a/mediagoblin/init/celery/__init__.py b/mediagoblin/init/celery/__init__.py index 57242bf6..214d00c3 100644 --- a/mediagoblin/init/celery/__init__.py +++ b/mediagoblin/init/celery/__init__.py @@ -16,6 +16,7 @@ import os import sys +import datetime import logging from celery import Celery @@ -58,6 +59,18 @@ def get_celery_settings_dict(app_config, global_config, celery_settings['CELERY_ALWAYS_EAGER'] = True celery_settings['CELERY_EAGER_PROPAGATES_EXCEPTIONS'] = True + # Garbage collection periodic task + frequency = app_config.get('garbage_collection', 60) + if frequency: + frequency = int(app_config['garbage_collection']) + celery_settings['CELERYBEAT_SCHEDULE'] = { + 'garbage-collection': { + 'task': 'mediagoblin.federation.task.garbage_collection', + 'schedule': datetime.timedelta(minutes=frequency), + } + } + celery_settings['BROKER_HEARTBEAT'] = 1 + return celery_settings -- cgit v1.2.3 From d8f55f2b412507d4c75ebd249a824fdaee66c6dd Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Wed, 16 Jul 2014 17:59:03 +0100 Subject: Add unseralize for API objects --- lazystarter.sh | 2 +- mediagoblin/db/models.py | 31 ++++++++++++++++++++++ mediagoblin/federation/views.py | 51 ++++++++++++------------------------- mediagoblin/init/celery/__init__.py | 2 +- 4 files changed, 49 insertions(+), 37 deletions(-) diff --git a/lazystarter.sh b/lazystarter.sh index d3770194..41994015 100755 --- a/lazystarter.sh +++ b/lazystarter.sh @@ -76,7 +76,7 @@ case "$selfname" in lazycelery.sh) MEDIAGOBLIN_CONFIG="${ini_file}" \ CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery \ - $starter "$@" + $starter -B "$@" ;; *) exit 1 ;; esac diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 0507161e..8ea16b80 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -499,6 +499,19 @@ class MediaEntry(Base, MediaEntryMixin): return context + def unserialize(self, data): + """ Takes API objects and unserializes on existing MediaEntry """ + if "displayName" in data: + self.title = data["displayName"] + + if "content" in data: + self.description = data["content"] + + if "license" in data: + self.license = data["license"] + + return True + class FileKeynames(Base): """ keywords for various places. @@ -658,6 +671,24 @@ class MediaComment(Base, MediaCommentMixin): return context + def unserialize(self, data): + """ Takes API objects and unserializes on existing comment """ + # Do initial checks to verify the object is correct + required_attributes = ["content", "inReplyTo"] + for attr in required_attributes: + if attr not in data: + return False + + # Validate inReplyTo has ID + if "id" not in data["inReplyTo"]: + return False + + self.media_entry = data["inReplyTo"]["id"] + self.content = data["content"] + return True + + + class Collection(Base, CollectionMixin): """An 'album' or 'set' of media by a user. diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index c383b3ef..8db04f3a 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -55,8 +55,8 @@ def user(request): "nickname": user.username, "updated": user.created.isoformat(), "published": user.created.isoformat(), - "profile": user_profile - } + "profile": user_profile, + } return json_response(data) @@ -120,12 +120,8 @@ def feed(request): if obj.get("objectType", None) == "comment": # post a comment - media = int(data["object"]["inReplyTo"]["id"]) - comment = MediaComment( - media_entry=media, - author=request.user.id, - content=data["object"]["content"] - ) + comment = MediaComment(author=request.user.id) + comment.unserialize(data["object"]) comment.save() data = {"verb": "post", "object": comment.serialize(request)} return json_response(data) @@ -139,17 +135,9 @@ def feed(request): return json_response(error, status=404) media = media.first() - obj = data["object"] - - if "displayName" in obj: - media.title = obj["displayName"] - - if "content" in obj: - media.description = obj["content"] - - if "license" in obj: - media.license = obj["license"] - + if not media.unserialize(data["object"]): + error = {"error": "Invalid 'image' with id '{0}'".format(obj_id)} + return json_response(error, status=400) media.save() media.media_manager.api_add_to_feed(request, media) @@ -195,13 +183,14 @@ def feed(request): if comment is None: error = {"error": "No such 'comment' with id '{0}'.".format(obj_id)} return json_response(error, status=400) - comment = comment[0] - # TODO: refactor this out to update/setting method on MediaComment - if obj.get("content", None) is not None: - comment.content = obj["content"] + comment = comment[0] + if not comment.unserialize(data["object"]): + error = {"error": "Invalid 'comment' with id '{0}'".format(obj_id)} + return json_response(error, status=400) comment.save() + activity = { "verb": "update", "object": comment.serialize(request), @@ -215,19 +204,11 @@ def feed(request): return json_response(error, status=400) image = image[0] - - # TODO: refactor this out to update/setting method on MediaEntry - if obj.get("displayName", None) is not None: - image.title = obj["displayName"] - - if obj.get("content", None) is not None: - image.description = obj["content"] - - if obj.get("license", None) is not None: - # I think we might need some validation here - image.license = obj["license"] - + if not image.unserialize(obj): + error = {"error": "Invalid 'image' with id '{0}'".format(obj_id)} + return json_response(error, status=400) image.save() + activity = { "verb": "update", "object": image.serialize(request), diff --git a/mediagoblin/init/celery/__init__.py b/mediagoblin/init/celery/__init__.py index 214d00c3..2f2c40d3 100644 --- a/mediagoblin/init/celery/__init__.py +++ b/mediagoblin/init/celery/__init__.py @@ -62,7 +62,7 @@ def get_celery_settings_dict(app_config, global_config, # Garbage collection periodic task frequency = app_config.get('garbage_collection', 60) if frequency: - frequency = int(app_config['garbage_collection']) + frequency = int(frequency) celery_settings['CELERYBEAT_SCHEDULE'] = { 'garbage-collection': { 'task': 'mediagoblin.federation.task.garbage_collection', -- cgit v1.2.3 From 8ac7a653d93831ab5e297e31a94f1056bede05a4 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Thu, 17 Jul 2014 11:39:24 +0100 Subject: Create test for garbage collection --- mediagoblin/tests/test_api.py | 41 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index 07c34d04..7142ef39 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -13,20 +13,24 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import urllib import json +import datetime -import pytest import mock +import pytz +import pytest from webtest import AppError +from werkzeug.datastructures import FileStorage -from mediagoblin import mg_globals from .resources import GOOD_JPG +from mediagoblin import mg_globals +from mediagoblin.media_types import sniff_media from mediagoblin.db.models import User, MediaEntry +from mediagoblin.submit.lib import new_upload_entry from mediagoblin.tests.tools import fixture_add_user +from mediagoblin.federation.task import collect_garbage from mediagoblin.moderation.tools import take_away_privileges -from .resources import GOOD_JPG class TestAPI(object): @@ -253,3 +257,32 @@ class TestAPI(object): assert profile["objectType"] == "person" assert "links" in profile + + def test_garbage_collection_task(self, test_app): + """ Test old media entry are removed by GC task """ + # Create a media entry that's unprocessed and over an hour old. + entry_id = 72 + file_data = FileStorage( + stream=open(GOOD_JPG, "rb"), + filename="mah_test.jpg", + content_type="image/jpeg" + ) + + # Find media manager + media_type, media_manager = sniff_media(file_data, "mah_test.jpg") + entry = new_upload_entry(self.user) + entry.id = entry_id + entry.title = "Mah Image" + entry.slug = "slugy-slug-slug" + entry.media_type = 'image' + entry.uploaded = datetime.datetime.now(pytz.UTC) - datetime.timedelta(days=2) + entry.save() + + # Validate the model exists + assert MediaEntry.query.filter_by(id=entry_id).first() is not None + + # Call the garbage collection task + collect_garbage() + + # Now validate the image has been deleted + assert MediaEntry.query.filter_by(id=entry_id).first() is None -- cgit v1.2.3 From a14d90c2db5ff96bdd72009a07f1afc0e8ef3595 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Mon, 21 Jul 2014 18:32:47 +0100 Subject: Switch from slug to ID and clean up style to conform to PEP-8 --- mediagoblin/db/models.py | 4 +- mediagoblin/federation/__init__.py | 15 +++++++ mediagoblin/federation/routing.py | 4 +- mediagoblin/federation/views.py | 80 +++++++++++++++++++++++++------------- mediagoblin/tests/test_api.py | 24 ++++++++---- 5 files changed, 88 insertions(+), 39 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 8ea16b80..aaceb599 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -466,7 +466,7 @@ class MediaEntry(Base, MediaEntryMixin): "href": request.urlgen( "mediagoblin.federation.object", objectType=self.objectType, - slug=self.slug, + id=self.id, qualified=True ), }, @@ -492,7 +492,7 @@ class MediaEntry(Base, MediaEntryMixin): "url": request.urlgen( "mediagoblin.federation.object.comments", objectType=self.objectType, - uuid=self.slug, + id=self.id, qualified=True ), } diff --git a/mediagoblin/federation/__init__.py b/mediagoblin/federation/__init__.py index e69de29b..621845ba 100644 --- a/mediagoblin/federation/__init__.py +++ b/mediagoblin/federation/__init__.py @@ -0,0 +1,15 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index c5fa5ce8..2993b388 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -51,12 +51,12 @@ add_route( # object endpoints add_route( "mediagoblin.federation.object", - "/api//", + "/api//", "mediagoblin.federation.views:object" ) add_route( "mediagoblin.federation.object.comments", - "/api///comments", + "/api///comments", "mediagoblin.federation.views:object_comments" ) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 8db04f3a..86670857 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -75,7 +75,10 @@ def uploads(request): request.user = requested_user[0] if request.method == "POST": # Wrap the data in the werkzeug file wrapper - mimetype = request.headers.get("Content-Type", "application/octal-stream") + if "Content-Type" not in request.headers: + error = "Must supply 'Content-Type' header to upload media." + return json_response({"error": error}, status=400) + mimetype = request.headers["Content-Type"] filename = mimetypes.guess_all_extensions(mimetype) filename = 'unknown' + filename[0] if filename else filename file_data = FileStorage( @@ -136,8 +139,8 @@ def feed(request): media = media.first() if not media.unserialize(data["object"]): - error = {"error": "Invalid 'image' with id '{0}'".format(obj_id)} - return json_response(error, status=400) + error = "Invalid 'image' with id '{0}'".format(media_id) + return json_response({"error": error}, status=400) media.save() media.media_manager.api_add_to_feed(request, media) @@ -181,13 +184,13 @@ def feed(request): if obj["objectType"] == "comment": comment = MediaComment.query.filter_by(id=obj_id) if comment is None: - error = {"error": "No such 'comment' with id '{0}'.".format(obj_id)} - return json_response(error, status=400) + error = "No such 'comment' with id '{0}'.".format(obj_id) + return json_response({"error": error}, status=400) comment = comment[0] if not comment.unserialize(data["object"]): - error = {"error": "Invalid 'comment' with id '{0}'".format(obj_id)} - return json_response(error, status=400) + error = "Invalid 'comment' with id '{0}'".format(obj_id) + return json_response({"error": error}, status=400) comment.save() @@ -200,13 +203,13 @@ def feed(request): elif obj["objectType"] == "image": image = MediaEntry.query.filter_by(id=obj_id) if image is None: - error = {"error": "No such 'image' with the id '{0}'.".format(obj_id)} - return json_response(error, status=400) + error = "No such 'image' with the id '{0}'.".format(obj_id) + return json_response({"error": error}, status=400) image = image[0] if not image.unserialize(obj): - error = {"error": "Invalid 'image' with id '{0}'".format(obj_id)} - return json_response(error, status=400) + "Invalid 'image' with id '{0}'".format(obj_id) + return json_response({"error": error}, status=400) image.save() activity = { @@ -254,16 +257,17 @@ def feed(request): # Now lookup the user's feed. for media in MediaEntry.query.all(): - feed["items"].append({ + item = { "verb": "post", "object": media.serialize(request), "actor": request.user.serialize(request), "content": "{0} posted a picture".format(request.user.username), "id": 1, - }) - feed["items"][-1]["updated"] = feed["items"][-1]["object"]["updated"] - feed["items"][-1]["published"] = feed["items"][-1]["object"]["published"] - feed["items"][-1]["url"] = feed["items"][-1]["object"]["url"] + } + item["updated"] = item["object"]["updated"] + item["published"] = item["object"]["published"] + item["url"] = item["object"]["url"] + feed["items"].append(item) feed["totalItems"] = len(feed["items"]) return json_response(feed) @@ -272,16 +276,27 @@ def feed(request): def object(request, raw_obj=False): """ Lookup for a object type """ object_type = request.matchdict["objectType"] - slug = request.matchdict["slug"] + try: + object_id = int(request.matchdict["id"]) + except ValueError: + error = "Invalid object ID '{0}' for '{1}'".format( + request.matchdict["id"], + object_type + ) + return json_response({"error": error}, status=400) + if object_type not in ["image"]: error = "Unknown type: {0}".format(object_type) # not sure why this is 404, maybe ask evan. Maybe 400? return json_response({"error": error}, status=404) - media = MediaEntry.query.filter_by(slug=slug).first() + media = MediaEntry.query.filter_by(id=object_id).first() if media is None: # no media found with that uuid - error = "Can't find a {0} with ID = {1}".format(object_type, slug) + error = "Can't find '{0}' with ID '{1}'".format( + object_type, + object_id + ) return json_response({"error": error}, status=404) if raw_obj: @@ -302,7 +317,7 @@ def object_comments(request): "url": request.urlgen( "mediagoblin.federation.object.comments", objectType=media.objectType, - uuid=media.slug, + uuid=media.id, qualified=True ) }) @@ -320,31 +335,42 @@ def object_comments(request): # Well known ## def host_meta(request): - """ This is /.well-known/host-meta - provides URL's to resources on server """ + """ /.well-known/host-meta - provide URLs to resources """ links = [] - # Client registration links links.append({ "ref": "registration_endpoint", - "href": request.urlgen("mediagoblin.oauth.client_register", qualified=True), + "href": request.urlgen( + "mediagoblin.oauth.client_register", + qualified=True + ), }) links.append({ "ref": "http://apinamespace.org/oauth/request_token", - "href": request.urlgen("mediagoblin.oauth.request_token", qualified=True), + "href": request.urlgen( + "mediagoblin.oauth.request_token", + qualified=True + ), }) links.append({ "ref": "http://apinamespace.org/oauth/authorize", - "href": request.urlgen("mediagoblin.oauth.authorize", qualified=True), + "href": request.urlgen( + "mediagoblin.oauth.authorize", + qualified=True + ), }) links.append({ "ref": "http://apinamespace.org/oauth/access_token", - "href": request.urlgen("mediagoblin.oauth.access_token", qualified=True), + "href": request.urlgen( + "mediagoblin.oauth.access_token", + qualified=True + ), }) return json_response({"links": links}) def whoami(request): - """ This is /api/whoami - This is a HTTP redirect to api profile """ + """ /api/whoami - HTTP redirect to API profile """ profile = request.urlgen( "mediagoblin.federation.user.profile", username=request.user.username, diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index 7142ef39..55228edc 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -33,6 +33,7 @@ from mediagoblin.federation.task import collect_garbage from mediagoblin.moderation.tools import take_away_privileges class TestAPI(object): + """ Test mediagoblin's pump.io complient APIs """ @pytest.fixture(autouse=True) def setup(self, test_app): @@ -48,7 +49,8 @@ class TestAPI(object): else: headers = {"Content-Type": "application/json"} - with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): response = test_app.post( "/api/user/{0}/feed".format(self.user.username), json.dumps(activity), @@ -66,7 +68,8 @@ class TestAPI(object): } - with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): response = test_app.post( "/api/user/{0}/uploads".format(self.user.username), data, @@ -137,7 +140,8 @@ class TestAPI(object): activity = {"verb": "update", "object": image} - with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): response = test_app.post( "/api/user/{0}/feed".format(self.user.username), json.dumps(activity), @@ -171,9 +175,10 @@ class TestAPI(object): "Content-Length": str(len(data)), } - with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): with pytest.raises(AppError) as excinfo: - response = test_app.post( + test_app.post( "/api/user/{0}/uploads".format(self.user.username), data, headers=headers @@ -198,7 +203,8 @@ class TestAPI(object): object_uri = image["links"]["self"]["href"] object_uri = object_uri.replace("http://localhost:80", "") - with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): request = test_app.get(object_uri) image = json.loads(request.body) @@ -247,7 +253,8 @@ class TestAPI(object): def test_profile(self, test_app): """ Tests profile endpoint """ uri = "/api/user/{0}/profile".format(self.user.username) - with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): response = test_app.get(uri) profile = json.loads(response.body) @@ -262,6 +269,7 @@ class TestAPI(object): """ Test old media entry are removed by GC task """ # Create a media entry that's unprocessed and over an hour old. entry_id = 72 + now = datetime.datetime.now(pytz.UTC) file_data = FileStorage( stream=open(GOOD_JPG, "rb"), filename="mah_test.jpg", @@ -275,7 +283,7 @@ class TestAPI(object): entry.title = "Mah Image" entry.slug = "slugy-slug-slug" entry.media_type = 'image' - entry.uploaded = datetime.datetime.now(pytz.UTC) - datetime.timedelta(days=2) + entry.uploaded = now - datetime.timedelta(days=2) entry.save() # Validate the model exists -- cgit v1.2.3 From 196cef381dabf839316c017943b2cee041a58719 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 24 Jul 2014 12:09:17 -0500 Subject: Fix by thallian: use correct datetime.strptime datetime.dateime already imported, so.... --- mediagoblin/db/mixin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py index 87f4383a..3e9ed3a0 100644 --- a/mediagoblin/db/mixin.py +++ b/mediagoblin/db/mixin.py @@ -259,7 +259,7 @@ class MediaEntryMixin(GenerateSlugMixin): if 'Image DateTimeOriginal' in exif_all: # format date taken - takendate = datetime.datetime.strptime( + takendate = datetime.strptime( exif_all['Image DateTimeOriginal']['printable'], '%Y:%m:%d %H:%M:%S').date() taken = takendate.strftime('%B %d %Y') -- cgit v1.2.3 From 0e9aa9db14b19e0941fe4e585b929a575f8b7d1a Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 24 Jul 2014 12:15:12 -0500 Subject: Adding thallian to the authors list --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index e2146ef5..9429f5ae 100644 --- a/AUTHORS +++ b/AUTHORS @@ -83,6 +83,7 @@ Thank you! * Simon Fondrie-Teitler * Stefano Zacchiroli * sturm +* thallian * Tiberiu C. Turbureanu * Tran Thanh Bao * Tryggvi Björgvinsson -- cgit v1.2.3 From dc19e98d98bc53d983d2fab73be53cbf95b42ffa Mon Sep 17 00:00:00 2001 From: Tryggvi Bjorgvinsson Date: Sat, 19 Jul 2014 12:35:50 +0000 Subject: Add __unicode__ representation to Notification and MediaCommentMixin Instead of having __repr__ return a unicode object which it should not do, we use the __unicode__ method to allow use of Notification and MediaCommentMixin objects in unicode strings. --- mediagoblin/db/mixin.py | 9 ++++++++- mediagoblin/db/models.py | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py index 3e9ed3a0..1f2e7ec3 100644 --- a/mediagoblin/db/mixin.py +++ b/mediagoblin/db/mixin.py @@ -305,13 +305,20 @@ class MediaCommentMixin(object): """ return cleaned_markdown_conversion(self.content) - def __repr__(self): + def __unicode__(self): return u'<{klass} #{id} {author} "{comment}">'.format( klass=self.__class__.__name__, id=self.id, author=self.get_author, comment=self.content) + def __repr__(self): + return '<{klass} #{id} {author} "{comment}">'.format( + klass=self.__class__.__name__, + id=self.id, + author=self.get_author, + comment=self.content) + class CollectionMixin(GenerateSlugMixin): def check_slug_used(self, slug): diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index aaceb599..c2d101ac 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -820,6 +820,14 @@ class Notification(Base): } def __repr__(self): + return '<{klass} #{id}: {user}: {subject} ({seen})>'.format( + id=self.id, + klass=self.__class__.__name__, + user=self.user, + subject=getattr(self, 'subject', None), + seen='unseen' if not self.seen else 'seen') + + def __unicode__(self): return u'<{klass} #{id}: {user}: {subject} ({seen})>'.format( id=self.id, klass=self.__class__.__name__, -- cgit v1.2.3 From 7e0c51af3e76d7118f7a2c3a0078e1dc6c5ef8f3 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 25 Jul 2014 16:02:28 -0500 Subject: Remove the option about whether or not spectrograms are created. They always are. This commit sponsored by Emily O'Leary. Thanks, Emily! --- mediagoblin/media_types/audio/config_spec.ini | 1 - mediagoblin/media_types/audio/processing.py | 18 +++++------------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/mediagoblin/media_types/audio/config_spec.ini b/mediagoblin/media_types/audio/config_spec.ini index 743deaa4..bc1810f7 100644 --- a/mediagoblin/media_types/audio/config_spec.ini +++ b/mediagoblin/media_types/audio/config_spec.ini @@ -2,7 +2,6 @@ keep_original = boolean(default=True) # vorbisenc quality quality = float(default=0.3) -create_spectrogram = boolean(default=True) spectrogram_fft_size = integer(default=4096) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index f12f231e..c4ed4eca 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -251,32 +251,24 @@ class InitialProcessor(CommonAudioProcessor): type=int, help='The width of the spectogram') - parser.add_argument( - '--create_spectrogram', - action='store_true', - help='Create spectogram and thumbnail, will default to config') - return parser @classmethod def args_to_request(cls, args): return request_from_args( - args, ['create_spectrogram', 'quality', 'fft_size', + args, ['quality', 'fft_size', 'thumb_size', 'medium_width']) def process(self, quality=None, fft_size=None, thumb_size=None, - create_spectrogram=None, medium_width=None): + medium_width=None): self.common_setup() - if not create_spectrogram: - create_spectrogram = self.audio_config['create_spectrogram'] - self.transcode(quality=quality) self.copy_original() - if create_spectrogram: - self.create_spectrogram(max_width=medium_width, fft_size=fft_size) - self.generate_thumb(size=thumb_size) + self.create_spectrogram(max_width=medium_width, fft_size=fft_size) + self.generate_thumb(size=thumb_size) + self.delete_queue_file() -- cgit v1.2.3 From 6f8ae21a872df5e8d0322ad81bfc5731dd0a77a7 Mon Sep 17 00:00:00 2001 From: Laura Arjona Reina Date: Thu, 24 Jul 2014 19:09:28 +0200 Subject: Make translatable some strings that weren't i18n'ed --- mediagoblin/templates/mediagoblin/base.html | 2 +- mediagoblin/templates/mediagoblin/moderation/report.html | 2 +- mediagoblin/templates/mediagoblin/utils/comment-subscription.html | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mediagoblin/templates/mediagoblin/base.html b/mediagoblin/templates/mediagoblin/base.html index 015fcba8..63a2a6ff 100644 --- a/mediagoblin/templates/mediagoblin/base.html +++ b/mediagoblin/templates/mediagoblin/base.html @@ -160,7 +160,7 @@ {% template_hook("header_dropdown_buttons") %} {% if request.user.has_privilege('admin','moderator') %}

- Moderation powers: + {% trans %}Moderation powers:{% endtrans %} {%- trans %}Media processing panel{% endtrans -%} diff --git a/mediagoblin/templates/mediagoblin/moderation/report.html b/mediagoblin/templates/mediagoblin/moderation/report.html index 6984625e..2028f74c 100644 --- a/mediagoblin/templates/mediagoblin/moderation/report.html +++ b/mediagoblin/templates/mediagoblin/moderation/report.html @@ -99,7 +99,7 @@ {% endtrans %} {% endif %} - Reason for report: + {% trans %}Reason for report:{% endtrans %}

diff --git a/mediagoblin/templates/mediagoblin/utils/comment-subscription.html b/mediagoblin/templates/mediagoblin/utils/comment-subscription.html index 75da5e89..5c50c801 100644 --- a/mediagoblin/templates/mediagoblin/utils/comment-subscription.html +++ b/mediagoblin/templates/mediagoblin/utils/comment-subscription.html @@ -21,13 +21,13 @@ Subscribe to comments + class="button_action">{% trans %}Subscribe to comments{% endtrans %} {% else %} Silence comments + class="button_action">{% trans %}Silence comments{% endtrans %} {% endif %} {%- endif %} -- cgit v1.2.3 From b6789657272f8126663ceaf59141ed288cc9c139 Mon Sep 17 00:00:00 2001 From: Laura Arjona Reina Date: Fri, 25 Jul 2014 21:16:14 +0200 Subject: Make consistent quotation marks when referring to button labels --- mediagoblin/plugins/archivalook/templates/archivalook/feature.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/feature.html b/mediagoblin/plugins/archivalook/templates/archivalook/feature.html index 6bcf792e..ad55f43b 100644 --- a/mediagoblin/plugins/archivalook/templates/archivalook/feature.html +++ b/mediagoblin/plugins/archivalook/templates/archivalook/feature.html @@ -52,7 +52,7 @@ Yes. If you would prefer, you may go to the media homepage of the piece of media you would like to feature or unfeature and look at the bar to the side of the media entry. If the piece of media has not been featured - yet you should see a button that says 'Feature'. Press that button and + yet you should see a button that says "Feature". Press that button and the media will be featured as a Primary Feature at the top of the page. All other featured media entries will remain as features, but will be pushed further down the page.

-- cgit v1.2.3 From b75208533997373c3c7d88c2a375cedf19a11fbf Mon Sep 17 00:00:00 2001 From: Laura Arjona Reina Date: Fri, 25 Jul 2014 23:30:23 +0200 Subject: Make translatable 'Feature' button in the explanation about how to feature media. --- mediagoblin/plugins/archivalook/templates/archivalook/root.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/root.html b/mediagoblin/plugins/archivalook/templates/archivalook/root.html index 72fe8656..78876f83 100644 --- a/mediagoblin/plugins/archivalook/templates/archivalook/root.html +++ b/mediagoblin/plugins/archivalook/templates/archivalook/root.html @@ -61,7 +61,7 @@

{% trans %}Nothing is currently featured.{% endtrans %}

{% trans %}If you would like to feature a piece of media, go to that media entry's homepage and click the button - that says{% endtrans %} Feature. + that says{% endtrans %} {% trans %}Feature{% endtrans %}. {% trans %}You're seeing this page because you are a user capable of featuring media, a regular user would see a blank page, so be sure to have media featured as long as your instance has the 'archivalook' -- cgit v1.2.3 From 7f50ae1656a569ae2f7f0367f9c34752e2d5257a Mon Sep 17 00:00:00 2001 From: Laura Arjona Reina Date: Sat, 26 Jul 2014 00:30:08 +0200 Subject: Make translatable the titles of TextAreas in moderation form --- mediagoblin/moderation/forms.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mediagoblin/moderation/forms.py b/mediagoblin/moderation/forms.py index 72305b29..e46cfd36 100644 --- a/mediagoblin/moderation/forms.py +++ b/mediagoblin/moderation/forms.py @@ -119,10 +119,13 @@ class ReportResolutionForm(wtforms.Form): format='%Y-%m-%d', validators=[wtforms.validators.optional()]) why_user_was_banned = wtforms.TextAreaField( + _(u'Why user was banned:'), validators=[wtforms.validators.optional()]) message_to_user = wtforms.TextAreaField( + _(u'Message to user:'), validators=[wtforms.validators.optional()]) - resolution_content = wtforms.TextAreaField() + resolution_content = wtforms.TextAreaField( + _(u'Resolution content:')) # ======== Forms for mediagoblin.moderation.report_panel page ============== # -- cgit v1.2.3 From a463fe06ed8087e04096627fc6f160bff45c3e0b Mon Sep 17 00:00:00 2001 From: Laura Arjona Reina Date: Sat, 26 Jul 2014 00:50:39 +0200 Subject: Make translatable takeaway privileges actions --- mediagoblin/moderation/tools.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mediagoblin/moderation/tools.py b/mediagoblin/moderation/tools.py index e0337536..8d758f18 100644 --- a/mediagoblin/moderation/tools.py +++ b/mediagoblin/moderation/tools.py @@ -31,7 +31,7 @@ def take_punitive_actions(request, form, report, user): for privilege_name in form.take_away_privileges.data: take_away_privileges(user.username, privilege_name) form.resolution_content.data += \ - u"\n{mod} took away {user}\'s {privilege} privileges.".format( + _(u"\n{mod} took away {user}\'s {privilege} privileges.").format( mod=request.user.username, user=user.username, privilege=privilege_name) @@ -44,13 +44,13 @@ def take_punitive_actions(request, form, report, user): reason=form.why_user_was_banned.data) Session.add(user_ban) form.resolution_content.data += \ - u"\n{mod} banned user {user} {expiration_date}.".format( + _(u"\n{mod} banned user {user} {expiration_date}.").format( mod=request.user.username, user=user.username, expiration_date = ( - "until {date}".format(date=form.user_banned_until.data) + _("until {date}").format(date=form.user_banned_until.data) if form.user_banned_until.data - else "indefinitely" + else _("indefinitely") ) ) @@ -59,7 +59,7 @@ def take_punitive_actions(request, form, report, user): if u'sendmessage' in form.action_to_resolve.data: message_body = form.message_to_user.data form.resolution_content.data += \ - u"\n{mod} sent a warning email to the {user}.".format( + _(u"\n{mod} sent a warning email to the {user}.").format( mod=request.user.username, user=user.username) @@ -68,14 +68,14 @@ def take_punitive_actions(request, form, report, user): deleted_comment = report.comment Session.delete(deleted_comment) form.resolution_content.data += \ - u"\n{mod} deleted the comment.".format( + _(u"\n{mod} deleted the comment.").format( mod=request.user.username) elif u'delete' in form.action_to_resolve.data and \ report.is_media_entry_report(): deleted_media = report.media_entry deleted_media.delete() form.resolution_content.data += \ - u"\n{mod} deleted the media entry.".format( + _(u"\n{mod} deleted the media entry.").format( mod=request.user.username) report.archive( resolver_id=request.user.id, -- cgit v1.2.3 From e228876efa34935b9410fd5abf0b4aa77215d829 Mon Sep 17 00:00:00 2001 From: Laura Arjona Reina Date: Sat, 26 Jul 2014 02:54:56 +0200 Subject: Make translatable table columns titles in media processing panel --- .../mediagoblin/moderation/media_panel.html | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/mediagoblin/templates/mediagoblin/moderation/media_panel.html b/mediagoblin/templates/mediagoblin/moderation/media_panel.html index 3c929d4f..9b77f638 100644 --- a/mediagoblin/templates/mediagoblin/moderation/media_panel.html +++ b/mediagoblin/templates/mediagoblin/moderation/media_panel.html @@ -35,11 +35,11 @@ {% if processing_entries.count() %}
- - - - - + + + + + {% for media_entry in processing_entries %} @@ -50,7 +50,7 @@ {% if media_entry.transcoding_progress %} {% else %} - + {% endif %} {% endfor %} @@ -64,12 +64,12 @@
IDUserTitleWhen submittedTranscoding progress{% trans %}ID{% endtrans %}{% trans %}User{% endtrans %}{% trans %}Title{% endtrans %}{% trans %}When submitted{% endtrans %}{% trans %}Transcoding progress{% endtrans %}
{{ media_entry.transcoding_progress }}%Unknown{% trans %}Unknown{% endtrans %}
- - - - - - + + + + + + {% for media_entry in failed_entries %} @@ -95,10 +95,10 @@
IDUserTitleWhen submittedReason for failureFailure metadata{% trans %}ID{% endtrans %}{% trans %}User{% endtrans %}{% trans %}Title{% endtrans %}{% trans %}When submitted{% endtrans %}{% trans %}Reason for failure{% endtrans %}{% trans %}Failure metadata{% endtrans %}
- - - - + + + + {% for media_entry in processed_entries %} -- cgit v1.2.3 From 2df7a1b66b0291905e4dee482b437802d0a6da96 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Tue, 29 Jul 2014 11:01:36 -0500 Subject: Committing present MediaGoblin translations before pushing extracted messages --- mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po | 1067 ++++++++++++++++++------ mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po | 1037 +++++++++++++++++------ 2 files changed, 1597 insertions(+), 507 deletions(-) diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po index 865562db..74d33c6a 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -20,14 +20,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2014-04-11 07:54+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-25 19:41+0000\n" "Last-Translator: Laura Arjona Reina \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/mediagoblin/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -60,12 +60,12 @@ msgstr "Este campo requiere una dirección de correo." msgid "Sorry, a user with that name already exists." msgstr "Lo sentimos, ya existe un usuario con ese nombre." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." -msgstr "Lo sentimos, ya existe un usuario con esa dirección de email." +msgstr "Lo sentimos, ya existe un usuario con esa dirección de correo." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "La clave de verificación o el identificador de usuario son incorrectos." @@ -91,174 +91,185 @@ msgstr "¡Ya has verificado tu dirección de correo!" msgid "Resent your verification email." msgstr "Se reenvió tu correo electrónico de verificación." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Título" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Descripción de esta obra" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Puedes usar\n \n Markdown para el formato." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Etiquetas" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Separa las etiquetas por comas." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Ficha" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "La ficha no puede estar vacía" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "El título de esta parte de la dirección de los contenidos. Por lo general no es necesario cambiar esto." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licencia" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Sitio web" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "La dirección contiene errores" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Envíame un correo cuando otros escriban comentarios sobre mi contenido" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Habilitar dentro del sitio notificaciones sobre eventos." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Preferencias de licencia" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Ésta será tu licencia predeterminada en los formularios de subida." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "El título no puede estar vacío" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descripción de esta colección" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "El título de la dirección de esta colección. Generalmente no necesitas cambiar esto." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Contraseña antigua" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Escribe la contraseña antigua para demostrar que esta cuenta te pertenece." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nueva contraseña" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Nueva dirección de correo electrónico" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Contraseña" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Introduce tu contraseña para probar que posees la cuenta." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "Identificador" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "Valor" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Una entrada con esa ficha ya existe para este usuario." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Estás editando el contenido de otro usuario. Procede con precaución." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "¡Has añadido el adjunto %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Sólo puedes editar tu propio perfil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Estás editando un perfil de usuario. Procede con precaución." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Los cambios de perfil fueron salvados" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "las configuraciones de cuenta fueron salvadas" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Necesitas confirmar el borrado de tu cuenta." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "¡Ya tienes una colección llamada \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Una colección con esa ficha ya existe para este usuario/a." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." -msgstr "Estás editando la colección de otro usuario/a. Ten cuidado." +msgstr "Estás editando la colección de otro usuario. Procede con precaución." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Tu dirección de correo electrónico ha sido verificada." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Contraseña incorrecta" @@ -289,6 +300,69 @@ msgstr "Omitiendo \"%s\"; ya está establecido.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Se encontró un enlace antiguo para \"%s\"; se eliminará.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "Para más información sobre cómo ejecutar este\nguión (y como dar formato al fichero csv de metadatos), lea la página\nde documentación de Mediagoblin sobre carga de ficheros desde línea de comandos\n" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "Nombre del usuario al que pertenecen estos contenidos" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "Ruta al archivo csv que contiene la información sobre metadatos." + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "No procesar inmediatamente, pasarlo a celery" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "Lo siento, no existe un usuario con nombre '{username}'" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "No se ha encontrado el archivo en {path}, use la opción -h para ayuda" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "Error con el contenido '{media_id}' valor '{error_path}': {error_msg}\nNo se han cargado los metadatos." + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "ERROR: No se ha podido acceder al fichero local {filename}.\nNo se cargará {filename}." + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "¡Enviado con éxito {filename}!\nAsegúrate de mirar en el panel de procesamiento de contenido del sitio web para comprobar que se ha cargado bien." + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "ERROR: Este archivo supera los límites de carga de este sitio." + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "ERROR: Este archivo hace que el usuario supere su límite de carga." + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "ERROR: Este usuario ya ha sobrepasado su límite de carga." + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "{files_uploaded} de {files_attempted} archivos enviados correctamente" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -296,11 +370,147 @@ msgid "" "domain." msgstr "No se encuentra la cookie CSRF. Esto suele ser debido a un bloqueador de cookies o similar.
Por favor asegúrate de permitir las cookies para este dominio." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Lo sentidos, No soportamos ese tipo de archivo :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Descripción" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Estoy seguro de que quiero borrar esto" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "¡Yuju! ¡Enviado!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "¡Yuju! se ha enviado el artículo de blog editado" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "Has borrado el Blog." + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "El contenido no se eliminó porque no marcaste que estabas seguro." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "Vas a borrar el Blog de otro usuario. Procede con precaución." + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "El blog no se ha borrado porque no tienes permisos." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "Añadir un artículo de blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "Editar blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "Borrar blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Editar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Borrar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr " Ir a la vista de lista " + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "No hay artículos de blog." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "¿Realmente deseas eliminar %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Cancelar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Eliminar permanentemente" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "Crear/Editar un blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Añadir " + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "Crear/Editar un artículo de blog." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "Crear/Editar un artículo de blog." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "Blog de %(blog_owner_name)s" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "Ver" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "Crear un blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "Escritorio del blog" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "ha fallado la ejecución de unoconv, comprueba el fichero de registro (log)" @@ -311,7 +521,7 @@ msgstr "Ha fallado la conversión de vídeo" #: mediagoblin/moderation/forms.py:21 msgid "Take away privilege" -msgstr "Retirar el privilegio" +msgstr "Retirar permisos" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" @@ -339,7 +549,7 @@ msgstr "¿Qué acción tomarás para resolver el informe?" #: mediagoblin/moderation/forms.py:115 msgid "What privileges will you take away?" -msgstr "¿Qué privilegios vas a retirar?" +msgstr "¿Qué permisos vas a retirar?" #: mediagoblin/moderation/tools.py:91 msgid "Warning from" @@ -359,29 +569,263 @@ msgstr "¡Suscrito a comentarios sobre %s!" msgid "You will not receive notifications for comments on %s." msgstr "No recibirás notificaciones de comentarios sobre %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Se debe proporcionar un código (token) de OAuth." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "No se ha encontrado el código (token) de petición." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Lo siento, el archivo es demasiado grande." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Lo siento, subir este archivo sobrepasaría tu límite de subida." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Lo siento, has alcanzado tu límite de subida." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "Indica la URL del contenido a destacar" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "Primario" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "Secundario" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "Terciario" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "----------- Contenido destacado - {display_type}---------------------------\n" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "¿Cómo funciona?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "¿Cómo destacar contenidos?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "\n Ve a la página del contenido que quieres destacar. Copia su URL y\n pégala en una línea nueva de la caja de texto de arriba. Debería haber sólo\n una URL por línea. La URL que has pegado en la caja de texto debería estar bajo \nla cabecera que describe cómo de prominente será (primario, secundario \no terciario). Una vez todo el contenido que quieres destacar esté dentro \nde la caja de texto, haz clic en el botón de Enviar Consulta, y tu contenido \ndebería mostrarse en la portada.\n " + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "¿Hay alguna otra manera de gestionar el contenido destacado?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "\n Sí. Si lo prefieres, puedes ir a la página de inicio del contenido que te gustaría destacar o quitar de destacados, y mirar en la barra lateral de la entrada. Si el contenido no se ha destacado aún, deberías ver un botón que dice \"Destacar\". Presiona ese botón y el contenido será destacado como primario, al inicio de la página.\nTodos los demás contenidos destacados seguirán como destacados, pero irán más abajo en la página.

\n\n Si vas a la página de inicio de un contenido que ya está destacado, verás las opciones \"Quitar de destacados\", \"Ascender\" y \"Descender\" donde antes estaba el botón que decía \"Destacar\". Haz clic en \"Quitar de destacados\" y ese contenido ya no aparecerá en la página inicial, aunque puedes volver a destacarlo en cualquier momento. \"Ascender\" mueve el contenido destacado más arriba en la página, y lo hace más prominente, y \"Descender\" mueve el contenido destacado más abajo y lo hace menos prominente.\n " + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "¿Qué es un contenido destacado primario? ¿Qué es un contenido destacado secundario?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "\nEstas categorías describen lo prominente que un contenido destacado será en la portada. Los contenidos destacados primarios se colocan al inicio de la portada y son más grandes. Después van los contenidos destacados secundarios, que son algo más pequeños. Los contenidos destacados terciarios forman una rejilla al final de la página.

\n\nLos contenidos destacados primarios también pueden mostrar descripciones más largas que los contenidos destacados secundarios, y los contenidos destacados secundarios pueden mostrar descripciones más largas que los contenidos destacados terciarios." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "¿Cómo decidir qué información se muestra cuando se destaca un contenido?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "\nCuando se destaca un contenido, su título, su miniatura y una porción de su descripción se mostrarán en la portada de tu sitio web. El número de caracteres mostrado varía según la prominencia del destacado.\nLos destacados primarios muestran los primeros 512 caracteres de su descripción, \nlos destacados secundarios muestran los primeros 256 caracteres de su descripción, \ny los destacados terciarios muestran los primeros 128 caracteres de su descripción." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "¿Cómo dejar de destacar un contenido?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "\n Deja de destacar un contenido eliminando su línea del área de texto de arriba\n y pulsando el botón \"Enviar Consulta\".\n " + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "PRECAUCIÓN:" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "\nCuando se copian y pegan URLs en la caja de texto de arriba, ten en cuenta que si hay alguna errata, aunque pulses \"Enviar consulta\", el contenido NO se destacará. Verifica que todos los contenidos que querías destacar se han destacado." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "\nDestacar contenido " + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "Destacar" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "\nQuitar de destacados" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "Quitar de destacados" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "\nAscender el destacado" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "Ascender" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "\nDescender el destacado" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "Descender" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "El contenido más reciente" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "No hay nada destacado actualmente." + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "Si te gustaría destacar un\n contenido determinado, ve a la página inicial de esa entrada y pulsa el botón\n que dice" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "Ves esta página porque eres un usuario con permisos para\ndestacar contenidos; un usuario normal vería una página en blanco; así que asegúrate de que has destacado contenido mientras tengas habilitado el complemento 'archivalook'. Se puede encontrar una herramienta más avanzada para gestionar destacados en el" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "panel de gestión de destacados." + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "Ver el contenido más reciente" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "Panel de gestión de destacados" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "Lo siento, este audio no funcionará porque \n\ttu navegador web no soporta audio en \n\tHTML5." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "¡Puedes conseguir un navegador web moderno, que\n\tpueda reproducir el audio, en \n\t http://getfirefox.com!" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "Lo siento, este vídeo no funcionará porque\n tu navegador web no soporta vídeo en \n HTML5." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "¡Puedes conseguir un navegador web moderno, que\n\tpueda reproducir el vídeo, en \n\t http://getfirefox.com!" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -406,7 +850,7 @@ msgstr "Mantener iniciada la sesión" #: mediagoblin/plugins/basic_auth/forms.py:51 msgid "Username or email" -msgstr "Nombre de usuario o email" +msgstr "Nombre de usuario o correo electrónico" #: mediagoblin/plugins/basic_auth/views.py:54 msgid "" @@ -435,7 +879,7 @@ msgstr "El identificador de usuario es incorrecto." #: mediagoblin/plugins/basic_auth/views.py:139 msgid "You can now log in using your new password." -msgstr "Ahora tu puedes iniciar sesión usando tu nueva contraseña." +msgstr "Ahora puedes iniciar sesión usando tu nueva contraseña." #: mediagoblin/plugins/basic_auth/views.py:163 msgid "" @@ -450,11 +894,11 @@ msgstr "Se ha cambiado la contraseña correctamente" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 msgid "Set your new password" -msgstr "Coloca tu nueva contraseña " +msgstr "Establece tu nueva contraseña " #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 msgid "Set password" -msgstr "Coloca la contraseña" +msgstr "Establecer la contraseña" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 @@ -505,6 +949,14 @@ msgstr "Ver en OpenStreetMap" msgid "Sign in to create an account!" msgstr "¡Inicia sesión para crear una cuenta!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "Metadatos" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "Editar metadatos" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Permitir" @@ -521,10 +973,6 @@ msgstr "Nombre" msgid "The name of the OAuth client" msgstr "El nombre del cliente OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Descripción" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -571,14 +1019,6 @@ msgstr "Conexiones de cliente OAuth" msgid "Your OAuth clients" msgstr "Tus clientes OAuth" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Añadir " - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -638,13 +1078,6 @@ msgstr "Agregar una OpenID" msgid "Delete an OpenID" msgstr "Eliminar una OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Borrar" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID's" @@ -652,7 +1085,7 @@ msgstr "OpenID's" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -758,10 +1191,6 @@ msgstr "Puedes usar⏎\n%(user_name)s's account" msgstr "Cuenta de %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Cambiar la configuración de la cuenta" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -816,32 +1245,28 @@ msgstr "Cambiar la configuración de la cuenta" msgid "Media processing panel" msgstr "Panel de procesamiento de contenido" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Cerrar sesión" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Añadir contenido" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Crear nueva colección" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Panel de gestión de usuarios" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Panel de gestión de informes" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "El contenido más reciente" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorización" @@ -938,38 +1363,38 @@ msgstr "Términos del Servicio" msgid "Explore" msgstr "Explorar" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Hola, ¡bienvenido a este sitio de MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Este sitio está montado con MediaGoblin, un extraordinario programa libre para alojar, gestionar y compartir contenido multimedia." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Para añadir tus propios contenidos, dejar comentarios y más, puedes iniciar sesión con tu cuenta de MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "¿Aún no tienes una? ¡Es fácil!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n >Crear una cuenta en este sitio\n o" +" >Create an account at this site\n" +" or" +msgstr "\n >Crear una cuenta en este sitio\n o" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n Instalar MediaGoblin en tu propio servidor" +" Set up MediaGoblin on your own server" +msgstr "\n Instalar MediaGoblin en tu propio servidor" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -983,27 +1408,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Editando archivos adjuntos a %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Adjuntos" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Agregar adjunto" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Cancelar" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1027,12 +1441,6 @@ msgstr "¿Realmente quieres borrar el usuario '%(user_name)s' y todos sus conten msgid "Yes, really delete my account" msgstr "Sí, borrar mi cuenta" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Eliminar permanentemente" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1064,6 +1472,27 @@ msgstr "Editando %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Editando el perfil de %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "Metadatos de \"%(media_name)s\"" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "Metadatos" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "Añadir nueva línea" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "Actualizar metadatos" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "Borrar las líneas vacías" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1084,10 +1513,12 @@ msgstr "Nuevos comentarios" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1145,12 +1576,14 @@ msgid "Created" msgstr "Creado" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Imágenes para %(media_title)s" @@ -1159,35 +1592,35 @@ msgstr "Imágenes para %(media_title)s" msgid "PDF file" msgstr "Archivo PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspectiva" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Frente" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Arriba" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Lateral" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Descargar modelo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Formato de Archivo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Altura del Objeto" @@ -1247,28 +1680,28 @@ msgstr "¡Aún no hay entradas procesadas!" msgid "Sorry, no such report found." msgstr "Lo siento, no se ha encontrado el informe." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Volver al panel de informes" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Informe" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Comentario enviado" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" " ❖ Reported media by %(user_name)s\n" " " -msgstr "\n❖ Informe de %(user_name)s sobre contenido⏎" +msgstr "\n❖ Informe de %(user_name)s sobre contenido" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1278,24 +1711,25 @@ msgid "" " " msgstr "\nESTE CONTENIDO DE⏎\n %(user_name)s⏎\nHA SIDO BORRADO⏎" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Resolver" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Resolver este informe" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Estado" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "RESUELTO" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "No puedes tomar una acción contra un administrador" @@ -1316,7 +1750,7 @@ msgid "Active Reports Filed" msgstr "Informes activos enviados" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Ofensor" @@ -1325,59 +1759,191 @@ msgid "When Reported" msgstr "Cuándo se informó" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Informe enviado por" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Razón" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" " Comment Report #%(report_id)s\n" " " -msgstr "\nInforme de comentario nº %(report_id)s⏎" +msgstr "\nInforme de comentario nº %(report_id)s" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" " Media Report #%(report_id)s\n" " " -msgstr "\nInforme de contenido nº %(report_id)s⏎" +msgstr "\nInforme de contenido nº %(report_id)s" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "No se han encontrado informes abiertos." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Informes cerrados" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Resuelto" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Acción tomada" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" " Closed Report #%(report_id)s\n" " " -msgstr "\nInforme cerrado nº %(report_id)s⏎" +msgstr "\nInforme cerrado nº %(report_id)s" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "No se han encontrado informes cerrados." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "Usuario: %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "Volver al panel de usuarios" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "Lo siento, no se ha encontrado ese usuario." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Es necesario que verifiques tu cuenta mediante el correo de notiicación" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "Alguien ha registrado una cuenta con ese nombre de usuario, pero aún debe\n activarla." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Perfil de %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "INHABILITADO hasta %(expiration_date)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "Inhabilitado indefinidamente" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Este usuario (todavía) no ha completado su perfil." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Editar perfil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Explorar colecciones" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "Informes sobre %(username)s activos" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "ID de informe" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "Contenido informado" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "Descripción del informe" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "Informe #%(report_number)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "Comentario informado" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "Contenido informado" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "No hay informes activos sobre %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "Todos los informes sobre %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "Todos los informes que ha enviado %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "Permisos de %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "Permiso" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "Concedido" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "Sí" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "No" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "Inhabilitar usuario" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "Habilitar usuario" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1388,7 +1954,7 @@ msgid "" "\n" " Here you can look up users in order to take punitive actions on them.\n" " " -msgstr "\nAquí puedes buscar usuarios de cara a tomar acciones punitivas sobre ellos.⏎" +msgstr "\nAquí puedes buscar usuarios de cara a tomar acciones punitivas sobre ellos." #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 msgid "Active Users" @@ -1419,6 +1985,26 @@ msgstr "Añadir una colección" msgid "Add your media" msgstr "Añade tu contenido " +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "❖ Artículo de blog de %(username)s" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Añadir un comentario" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Añade un comentario " + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Agregado" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1429,23 +2015,27 @@ msgstr "%(collection_title)s (%(username)s's collection)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s por %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Editar" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "Borrar colección %(collection_title)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "¿Realmente deseas eliminar %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "¿Seguro que deseas borrar la colección: %(title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "Quitar %(media_title)s de %(collection_title)s" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "¿Realmente quieres quitar %(media_title)s de %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Quitar" @@ -1488,22 +2078,10 @@ msgstr "Contenido de %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Explorando contenido de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Añadir un comentario" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Añade un comentario " - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Previsualización del comentario" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Agregado" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1552,52 +2130,27 @@ msgstr "\n❖ Publicado por Markdown for formatting." msgstr "Puedes usar Markdown para dar formato." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Estoy seguro de que quiero borrar esto" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Estoy seguro/a de que quiero quitar este ítem de la colección" @@ -1781,79 +2330,75 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "Puedes usar\n \n Markdown para dar formato." +msgstr "Puedes usar\n \nMarkdown para dar formato." #: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 msgid "Reason for Reporting" msgstr "Razón del informe" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "Lo siento, los comentarios están desactivados." -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "Ups, tu comentario estaba vacío." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "¡Tu comentario ha sido publicado!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "Por favor, revisa tus entradas e inténtalo de nuevo." -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "Tienes que seleccionar o añadir una colección" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "%s\" ya está en la colección \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" añadido a la colección \"%s\"" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "Eliminaste el contenido" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "El contenido no se eliminó porque no marcaste que estabas seguro." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Estás a punto de eliminar un contenido de otro usuario. Procede con precaución." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "Borraste el ítem de la colección." -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "El ítem no fue removido porque no confirmaste que estuvieras seguro/a." -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Estás a punto de borrar un ítem de la colección de otro usuario. Procede con cuidado." -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Borraste la colección \"%s\"" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "La colección no fue borrada porque no confirmaste que estuvieras seguro/a." -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Estás a punto de borrar la colección de otro usuario. Procede con cuidado." diff --git a/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po index cda25d3b..43903f08 100644 --- a/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2014-01-25 11:05+0000\n" +"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"PO-Revision-Date: 2014-07-27 09:31+0000\n" "Last-Translator: Adrián Chaves Fernández \n" "Language-Team: Galician (http://www.transifex.com/projects/p/mediagoblin/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "Ten que introducir un enderezo de correo neste campo." msgid "Sorry, a user with that name already exists." msgstr "Xa existe un usuario con ese nome." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Xa existe un usuario con ese enderezo de correo." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "A chave de verificación ou o identificador do usuario son incorrectos." @@ -79,174 +79,185 @@ msgstr "Xa verificamos o seu enderezo de correo!" msgid "Resent your verification email." msgstr "Volver enviar o correo de verificación." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 -#: mediagoblin/user_pages/forms.py:45 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Título" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Descrición da obra" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Pode usar\n \n Markdown para dar formato." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Etiquetas" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Separe as etiquetas mediante comas («,»)." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Código" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "O código non pode quedar baleiro." -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "A parte do título no enderezo a esta obra. Normalmente non necesita modificalo." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licenza" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Biografía" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Sitio web" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "O enderezo contén erros." -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Recibir unha notificación por correo cando alguén comente a miña obra." -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Activar as notificacións no sitio web sobre acontecementos." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Preferencias de licenza" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Esta será a súa licenza predeterminada nos formularios de envío de obras." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "O título non pode quedar baleiro." -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descrición da colección" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "A parte do título no enderezo a esta colección. Normalmente non necesita modificalo." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Contrasinal vello" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Introduza o contrasinal vello para demostrar que é o dono desta conta." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Novo contrasinal" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Novo enderezo de correo" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Contrasinal" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Introduza o contrasinal para demostrar que é o dono desta conta." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "Identificador" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "Valor" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "O seu usuario xa ten unha obra con ese código." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Está a editar unha obra doutro usuario. Teña coidado." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Anexou %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Só pode editar o seu propio perfil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Está a editar o perfil doutro usuario Teña coidado." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Gardáronse os cambios no perfil." -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Gardouse a configuración da conta." -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Debe confirmar a eliminación da súa conta." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Xa ten unha colección chamada «%s»!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "O seu usuario xa ten unha colección con ese código." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Está a editar unha colección doutro usuario Teña coidado." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Verificouse o seu enderezo de correo." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "O contrasinal é incorrecto." @@ -277,6 +288,69 @@ msgstr "Saltándose «%s», xa está configurada.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Atopouse unha ligazón vella para «%s», e eliminouse.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "Para máis información sobre como executar correctamente\neste script e que formato usar para o ficheiro CSV de metadatos,\nlea a páxina de documentación de MediaGoblin sobre o envío de\ndatos desde a liña de ordes:\n" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "Nome do usuario ao que pertencen estes contidos:" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "Ruta do ficheiro CSV que contén os metadatos." + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "Procesar de maneira eficiente." + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "Non existe ningún usuario «{username}»." + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "Non se atopou ningún ficheiro en «{path}». Use a opción «-h» para acceder á axuda." + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "Produciuse un erro co valor «{error_path}» do contido «{media_id}»: {error_msg}\nNon foi posíbel subir os metadatos." + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "Erro: Non foi posíbel acceder ao ficheiro local «{filename}».\nNon se enviou o ficheiro." + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "Enviouse o ficheiro «{filename}».\nPode comprobar que se enviou correctamente desde o panel de procesamento de contidos do sitio web." + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "Erro: O tamaño do ficheiro supera o límite do sitio." + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "Erro: Non foi posíbel enviar o ficheiro porque o usuario superaría o límite de contido que se lle permite enviar." + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "Erro: O usuario xa superou o límite de contido que pode enviar." + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "Ficheiros enviados correctamente: {files_uploaded}/{files_attempted}." + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -284,11 +358,147 @@ msgid "" "domain." msgstr "Falta a cookie «CSRF». A causa máis probábel do problema é un bloqueador de cookies ou algo similar.
Asegúrese de permitir definir cookies a este sitio web." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Ese tipo de ficheiro non é compatíbel." +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Descrición" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Quero eliminalo, estou seguro" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Si! Enviado!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "Enviáronse as modificacións da publicación." + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "Eliminouse a bitácora." + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Non se eliminou o contido porque non confirmou que estaba seguro." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "Está a piques de eliminar a bitácora doutro usuario." + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "Non ten permisos para eliminar a bitácora." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "Engadir unha publicación" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "Editar a bitácora" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "Eliminar a bitácora" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Editar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Eliminar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "Ir á lista" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "Aínda non se publicou nada." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Está seguro de que quere eliminar %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Cancelar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Eliminar permanentemente" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "Crear ou editar unha bitácora" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Engadir" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "Crear ou editar unha publicación." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "Crear ou editar unha publicación." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "Bitácora de %(blog_owner_name)s" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "Ver" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "Crear unha bitácora" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "Panel de control da bitácora" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "Non puido executarse «unoconv», comprobe o rexistro." @@ -347,29 +557,263 @@ msgstr "Subscrito aos comentarios de %s!" msgid "You will not receive notifications for comments on %s." msgstr "Non recibirá notificacións sobre comentarios de %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Debe fornecer un «auth_token»." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "Non se atopou o código da solicitude." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "O ficheiro é grande de máis." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "O tamaño do ficheiro é superior ao que resta do seu límite de envío." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Chegou ao seu límite de envío." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "Introduza o enderezo URL do contido a destacar." + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "Principal" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "Secundario" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "Terciario" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "-----------Funcionalidades-de-{display_type}------------------\n" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "Isto como funciona?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "Como destacar un contido?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "\nAcceda á páxina do contido que quere descatar. Copie o seu enderezo URL e pégueo nunha liña nova da caixa de texto anterior. Non debería haber máis dun URL por liña. O URL que pegue debería estar baixo a cabeceira que mellor describa a prominencia coa que se debería destacar (principal, secundario, terciario). Unha vez teña todos os contidos que queira destacar na caixa de texto, prema «Enviar a consulta», e os seus contidos aparecerán na súa páxina principal." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "Existe algún outro xeito de xestionar os contidos destacados?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says 'Feature'. Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "\nExiste. Se o prefire, pode acceder á páxina do contido que quere destacar ou deixar de destacar, e utilizar o panel lateral que atopará na páxina. Se o contido non está destacado, prema o botón «Destacar» para destacalo como principal na parte superior da súa páxina. O resto de contidos destacados seguirán estando destacados, pero por debaixo do que acaba de destacar.

\nSe o contido xa está destacado, desde a súa páxina poderá utilizar os seguintes botóns: «Deixar de destacar» para deixar de destacar o contido, «Promover» para facer o contido destacado máis prominente, e «Degradar» para facer o contido destacado menos prominente." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "Que é un contido destacado principal? Que é un contido destacado secundario?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "\nEstas categorías describen o nivel de promoción co que se destaca cada contido na páxina principal. Os contidos descatados principais sitúanse ao principio de páxina, e expóñense con maiores dimensións. A continuación van os contidos destacados secundarios, que son lixeiramente máis pequenos. Os contidos destacados terciarios conforman unha grade ao final da páxina.

\nAdemais, os contidos destacados principais poden mostrar descricións máis longas que as dos contidos destacados secundarios, e as descricións dos contidos destacados secundarios poden ser máis longas que a dos contidos destacados terciarios." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "Como decidir que información se mostra ao descatar un contido?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "\nAo destacar un contido, na páxina principal móstrase o título do contido, unha miniatura e un fragmento da descrición. O número de caracteres que se mostran pode variar dependendo da categoría do contido destacado. Os contidos destacados principais mostran os primeiros 512 caracteres da descrición, os secundarios os primeiros 256, e os terciarios os primeiros 128." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "Como deixar de destacar un contido?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "\nPara deixar de destacar un contido, elimine a súa liña da zona de texto e prema «Enviar a consulta»." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "Advertencia:" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "\nAo copiar e pegar enderezos URL na caixa de texto anterior, teña en conta que calquera erro no proceso (por exemplo, deixarse un caracter dun URL ao copialo) resultará en que ao darlle a «Enviar a consulta» o contido correspondente non apareza destacado. Asegúrese de que os seus contidos destacados se corresponden cos que vostede pegou na caixa de texto." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "\nDestacar o contido." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +msgid "Feature" +msgstr "Destacar" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "\nDeixar de destacar o contido." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "Deixar de destacar" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "\nPromover o contido." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "Promover" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "\nDegradar o contido." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "Degradar" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Últimos contidos" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "Non hai nada destacado." + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "Para destacar un contido, acceda á súa páxina e prema o botón que di" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "Está a ver esta páxina porque ten permisos para destacar contidos —outros usuarios verían unha páxina baleira— así que asegúrese de destacar contido sempre que o complemento «archivalook» estea activado. Pode atopar unha ferramenta máis avanzada para xestionar os contidos destacados no" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "panel de xestión de contidos destacados." + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "Ver os últimos contidos" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "Panel de xestión dos contidos destacados" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "Este son non vai funcionar porque o seu navegador web non é compatible coas funcionalidades de son de HTML5." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "Descargue un navegador web moderno capaz de reproducir este son!" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "Este vídeo non vai funcionar porque o seu navegador web non é compatible coas funcionalidades de vídeo de HTML5." + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "Descargue un navegador web moderno capaz de reproducir este vídeo!" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -493,6 +937,14 @@ msgstr "Ver en OpenStreetMap" msgid "Sign in to create an account!" msgstr "Acceda para crear unha conta!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "Metadatos" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "Editar os metadatos" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Permitir" @@ -509,10 +961,6 @@ msgstr "Nome" msgid "The name of the OAuth client" msgstr "Nome do cliente de OAuth." -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Descrición" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -559,14 +1007,6 @@ msgstr "Conexións de clientes de OAuth" msgid "Your OAuth clients" msgstr "Clientes de OAuth seus" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Engadir" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -626,13 +1066,6 @@ msgstr "Engadir un OpenID" msgid "Delete an OpenID" msgstr "Eliminar un OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Eliminar" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenIDs" @@ -640,7 +1073,7 @@ msgstr "OpenIDs" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -746,10 +1179,6 @@ msgstr "Pode usar\n %(user_name)s's account" msgstr "Conta de %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Cambiar a configuración da conta" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -804,32 +1233,28 @@ msgstr "Cambiar a configuración da conta" msgid "Media processing panel" msgstr "Panel de procesamento de contidos" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Saír" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Engadir contidos" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Crear unha colección nova" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Panel de xestión de usuarios" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Panel de xestión de denuncias" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Últimos contidos" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorización" @@ -926,38 +1351,38 @@ msgstr "Condicións de uso" msgid "Explore" msgstr "Explorar" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Ola, benvido a este sitio MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "O sitio está construído con MediaGoblin, unha marabilla de software de aloxamento de contidos." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Para engadir contidos seus, comentar e máis cousas, acceda empregando unha conta de MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Aínda non ten? Non hai problema!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n >Cree unha conta neste sitio\n ou" +" >Create an account at this site\n" +" or" +msgstr "\n>Cree unha conta neste sitio\n ou" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n monte MediaGoblin no seu propio servidor" +" Set up MediaGoblin on your own server" +msgstr "\nInstale MediaGoblin no seu propio servidor" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -971,27 +1396,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Editando os anexos de %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Anexos" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Engadir un anexo" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Cancelar" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1015,12 +1429,6 @@ msgstr "Está seguro de que quere eliminar o usuario «%(user_name)s» e todos o msgid "Yes, really delete my account" msgstr "Eliminar a miña conta" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Eliminar permanentemente" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1052,6 +1460,27 @@ msgstr "Editando %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Editando o perfil de %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "Metadatos de «%(media_name)s»" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "Metadatos" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "Engadir unha fila" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "Actualizar os metadatos" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "Retirar as filas baleiras" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1072,10 +1501,12 @@ msgstr "Comentarios novos" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1133,12 +1564,14 @@ msgid "Created" msgstr "Creado" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Imaxe de %(media_title)s" @@ -1147,35 +1580,35 @@ msgstr "Imaxe de %(media_title)s" msgid "PDF file" msgstr "Ficheiro PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspectiva" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Frontal" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Superior" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Lateral" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Descargar o modelo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Formato do ficheiro" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Altura do obxecto" @@ -1235,20 +1668,20 @@ msgstr "Aínda non hai entradas de procesamento!" msgid "Sorry, no such report found." msgstr "Non se atopou a denuncia." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Volver ao panel de denuncias" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Denuncia" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Comentario denunciado" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1256,7 +1689,7 @@ msgid "" " " msgstr "\n ❖ Contido denunciado por %(user_name)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1266,24 +1699,25 @@ msgid "" " " msgstr "\n ELIMINOUSE\n O CONTIDO DE\n %(user_name)s " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Resolver" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Resolver esta denuncia" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Estado" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "RESOLTA" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "Non pode emprender accións contra un administrador." @@ -1304,7 +1738,7 @@ msgid "Active Reports Filed" msgstr "Denuncias activas abertas" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Denunciado" @@ -1313,16 +1747,16 @@ msgid "When Reported" msgstr "Data da denuncia" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Denunciante" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Motivo" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1330,7 +1764,7 @@ msgid "" " " msgstr "\n Denuncia de comentario #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1338,23 +1772,23 @@ msgid "" " " msgstr "\n Denuncia de contido #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "Non se atoparon denuncias sen resolver." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Denuncias pechadas" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Resolta" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Medida adoptada" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1362,10 +1796,142 @@ msgid "" " " msgstr "\n Denuncia pechada #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "Non se atoparon denuncias pechadas." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "Usuario: %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "Volver ao panel de usuarios" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "Non se atopou o usuario indicado." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Ten que verificar o seu enderezo de correo" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "Alguén rexistrou xa unha conta con ese nome de usuario, aínda que a conta aínda non está activada." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Perfil de %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "Ten prohibido o acceso ata o %(expiration_date)s." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "Ten prohibido o acceso de maneira indefinida." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Este usuario aínda non completou o seu perfil." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Editar o perfil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Explorar as coleccións" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "Denuncias activas contra %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "Identificador da denuncia" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "Contido denunciado" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "Texto da denuncia" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "Denuncia %(report_number)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "Comentario denunciado" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "Contido denunciado" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "Non hai denuncias activas contra %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "Todas as denuncias contra %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "Todas as denuncias interpostas por %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "Privilexios de %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "Privilexio" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "Outorgado" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "Si" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "Non" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "Prohibir o acceso" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "Readmitir" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1407,6 +1973,26 @@ msgstr "Engadir unha colección" msgid "Add your media" msgstr "Engada contidos seus" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "❖ Publicación de %(username)s." + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Engadir un comentario" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Engadir o comentario" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Engadido" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1417,23 +2003,27 @@ msgstr "%(collection_title)s (colección de %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s, de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Editar" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "Eliminar a colección «%(collection_title)s»" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Está seguro de que quere eliminar %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "Está seguro de que quere eliminar a colección «%(title)s»?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "Retirar «%(media_title)s» de «%(collection_title)s»" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Está seguro de que quere retirar %(media_title)s de %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Retirar" @@ -1476,22 +2066,10 @@ msgstr "Contidos de %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Explorando os contidos de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Engadir un comentario" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Engadir o comentario" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Vista previa" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Engadido" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1540,52 +2118,27 @@ msgstr "\n ❖ Publicado por Markdown for formatting." msgstr "Pode usar Markdown para dar formato." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Quero eliminalo, estou seguro" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Quero retiralo da colección, estou seguro" @@ -1775,73 +2324,69 @@ msgstr "Pode usar\n Date: Tue, 29 Jul 2014 11:02:42 -0500 Subject: Committing extracted and compiled translations --- mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo | Bin 53468 -> 54670 bytes mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo | Bin 52142 -> 53344 bytes mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo | Bin 36320 -> 52648 bytes mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po | 1155 ++++++++++++++----- mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo | Bin 36019 -> 52329 bytes mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po | 1155 ++++++++++++++----- mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo | Bin 35542 -> 51834 bytes mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po | 1155 ++++++++++++++----- mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo | Bin 36930 -> 53218 bytes mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po | 1155 ++++++++++++++----- mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.mo | Bin 40430 -> 56735 bytes mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po | 1151 ++++++++++++++----- mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po | 126 ++- mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo | Bin 50621 -> 51823 bytes mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo | Bin 37221 -> 52829 bytes mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo | Bin 42814 -> 59111 bytes mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po | 1149 ++++++++++++++----- mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo | Bin 37945 -> 54394 bytes mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po | 1156 +++++++++++++++----- mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo | Bin 36335 -> 51567 bytes mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo | Bin 54495 -> 56489 bytes mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po | 292 +++-- mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo | Bin 49783 -> 50985 bytes mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo | Bin 52696 -> 53898 bytes mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo | Bin 51435 -> 52637 bytes mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo | Bin 35381 -> 51679 bytes mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po | 1149 ++++++++++++++----- mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo | Bin 51538 -> 52740 bytes mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo | Bin 50186 -> 51388 bytes mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo | Bin 49014 -> 50216 bytes mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo | Bin 51500 -> 52702 bytes mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo | Bin 36189 -> 52677 bytes mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po | 1155 ++++++++++++++----- mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo | Bin 51352 -> 52554 bytes mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo | Bin 43730 -> 59983 bytes mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po | 1153 ++++++++++++++----- mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo | Bin 36199 -> 52514 bytes mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po | 1155 ++++++++++++++----- mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo | Bin 49941 -> 51143 bytes mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo | Bin 52087 -> 53289 bytes mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo | Bin 49819 -> 51021 bytes mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo | Bin 50005 -> 51207 bytes mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo | Bin 50020 -> 51222 bytes mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo | Bin 50194 -> 51396 bytes mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo | Bin 49741 -> 50943 bytes mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo | Bin 49755 -> 50957 bytes mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo | Bin 49075 -> 50277 bytes mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po | 128 ++- .../i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo | Bin 49763 -> 50965 bytes .../i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po | 128 ++- mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo | Bin 48777 -> 49979 bytes mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po | 128 ++- 71 files changed, 12744 insertions(+), 3178 deletions(-) diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo index fe38a383..7f01fac7 100644 Binary files a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po index 607276b0..2308b8b3 100644 --- a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/mediagoblin/language/ar/)\n" "MIME-Version: 1.0\n" @@ -86,7 +86,11 @@ msgstr "أعدنا إرسال رسالة التحقق." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "العنوان" @@ -543,6 +547,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -565,7 +620,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -635,7 +690,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -718,6 +773,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1206,10 +1262,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "تأكد من بريدك الإلكترونى!" @@ -1251,6 +1303,10 @@ msgstr "أضف وسائط" msgid "Create new collection" msgstr "إنشاء مجموعة جديدة" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1644,6 +1700,32 @@ msgstr "يمكنك متابعة عملية معالجة وسائط معرضك م msgid "Media in-processing" msgstr "توجد وسائط تحت المعالجة" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1654,6 +1736,14 @@ msgstr "لا توجد وسائط تحت المعالجة" msgid "These uploads failed to process:" msgstr "فشلت معالجة هذه الملفات:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1663,6 +1753,10 @@ msgstr "لا توجد مداخل فاشلة!" msgid "Last 10 successful uploads" msgstr "آخر 10 تحويلات ناجحة" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1703,6 +1797,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1952,10 +2050,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2185,6 +2279,14 @@ msgstr "تم تجميعه في" msgid "Add to a collection" msgstr "إضافة مجموعة" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo index 3f44efd7..8fb28937 100644 Binary files a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po index da4c53ce..c4c7c29a 100644 --- a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/mediagoblin/language/bg/)\n" "MIME-Version: 1.0\n" @@ -82,7 +82,11 @@ msgstr "" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Заглавие" @@ -539,6 +543,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -561,7 +616,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -631,7 +686,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -714,6 +769,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1202,10 +1258,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Проверете е-пощата си!" @@ -1247,6 +1299,10 @@ msgstr "" msgid "Create new collection" msgstr "Създаване на нова колекция" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1640,6 +1696,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1650,6 +1732,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1659,6 +1749,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "Последни 10 успешни качвания" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1699,6 +1793,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1948,10 +2046,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2181,6 +2275,14 @@ msgstr "" msgid "Add to a collection" msgstr "Добавяне към колекция" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo index 23315c8d..4e7eba5d 100644 Binary files a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po index e3db748e..b5bfa28b 100644 --- a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2014-06-05 16:43+0000\n" -"Last-Translator: emwa goldwoman\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/mediagoblin/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -53,12 +53,12 @@ msgstr "Aquest camp necessita una adreça de correu" msgid "Sorry, a user with that name already exists." msgstr "Lamentablement aquest usuari ja existeix." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Perdó, ja existeix un usuari amb aquesta adreça de correu." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "La clau de verificació o l'identificador d'usuari és incorrecte." @@ -84,174 +84,189 @@ msgstr "Ja has verificat la teva adreça de correu!" msgid "Resent your verification email." msgstr "Torna'm a enviar el correu de verificació" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Títol" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Descripció d'aquest treball." -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" "
\n" " Markdown for formatting." msgstr "Pots utilitzar⏎ ⏎ Markdown per donar-li format" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Etiquetes" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Separa els tags amb comes." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Fitxa" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "La fitxa no pot ser buida" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "El títol de l'adreça d'aquest mitjà. Normalment no necessites modificar això." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Llicència" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Biografia" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Lloc web" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Aquesta adreça conté errors" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Envia'm correu quan d'altres comentin al meu mitjà" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Habiliteu les notificacions internes d'esdeveniments." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Llicència per defecte" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Aquesta serà la vostra llicència per defecte en els formularis de carregada d'arxius." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "El títol no pot ser buit" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descripció d'aquesta col.lecció" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "La part del títol de l'adreça d'aquesta col.lecció. Normalment no cal que canviis això." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Contrasenya antiga" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Introdueix la teva contrasenya antiga per comprovar que aquest compte és teu." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nova contrasenya" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Nova adreça de correu" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Contrasenya" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Introduïu la vostra contrasenya d'aquest compte" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Ja existeix una entrada amb aquesta fitxa per aquest usuari" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Esteu editant fitxers d'un altre usuari. Aneu amb compte." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "S'ha adjuntat %s correctament." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Només podeu editar el vostre perfil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Esteu editant el perfil d'un usuari. Aneu amb compte" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Els canvis al perfil s'han guardat" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Els detalls del compte s'han guardat" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Heu de confirmar l'eliminació del vostre compte." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Ja tens una col.lecció anomenada \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Ja existeix una col·lecció d'aquest usuari sota aquesta fitxa" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Estas editant la col.lecció d'un altre usuari. Prossegueix amb cautela." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "S'ha verificat la vostra adreça de correu" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Contrasenya errònia" @@ -282,6 +297,69 @@ msgstr "S'ha omès \"%s\" perquè ja està llest.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "S'ha trobat un enllaç antic per a \"%s\" i s'ha eliminat.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -289,11 +367,147 @@ msgid "" "domain." msgstr "No s'ha trobat la galeta CSRF. Potser ha estat blocada.
Assegureu-vos de permetre les galetes d'aquest domini." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Ho sento, no puc manegar aquest tipus d'arxiu :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Descripció" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Estic segur que vull esborrar això" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Visca! S'ha enviat!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "El mitjà no s'ha esborrat perque no has marcat que n'estiguessis segur." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Editar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Esborrar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Realment vols esborrar %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Cancel·la" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Esborrar permanentment" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Afegir" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "No s'ha pogut executar unoconv. Comproveu el registre d'errors." @@ -334,6 +548,57 @@ msgstr "Quina acció heu près per solucionar aquest incident?" msgid "What privileges will you take away?" msgstr "Quins privilegis vols treure?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "indefinidament" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Alerta de " @@ -352,29 +617,264 @@ msgstr "Us heu subscrit als comentaris de %s." msgid "You will not receive notifications for comments on %s." msgstr "Ja no rebreu més notificacions de comentaris de %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Heu de donar una oauth_token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "No s'ha trobat un testimoni de petició." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Ho sentim, la mida del fitxer és massa gran." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Ho sentim, pujant aquest fitxer assolireu el vostre límit de pujada." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Ho sentim, hey assolit el límit de pujada." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Mitjans més recents" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -498,6 +998,14 @@ msgstr "Veure a OpenStreetMap" msgid "Sign in to create an account!" msgstr "Identifiqueu-vos per crear un compte!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Permetre" @@ -514,10 +1022,6 @@ msgstr "Nom" msgid "The name of the OAuth client" msgstr "El nom del client OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Descripció" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -564,14 +1068,6 @@ msgstr "Connexions de clients OAuth" msgid "Your OAuth clients" msgstr "Els vostres clients OAuth" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Afegir" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -631,13 +1127,6 @@ msgstr "Afegeix un OpenID" msgid "Delete an OpenID" msgstr "Elimina un OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Esborrar" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenIDs" @@ -645,7 +1134,7 @@ msgstr "OpenIDs" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -751,10 +1240,6 @@ msgstr "Podeu usar\n %(user_name)s's account" msgstr "Compte de %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Modificar els ajustaments del compte" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -809,32 +1290,32 @@ msgstr "Modificar els ajustaments del compte" msgid "Media processing panel" msgstr "Quadre de processament de fitxers" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Surt" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Tots els fitxers" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Crea una nova col·lecció" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Tauler d'administració de l'usuari" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Tauler d'informes reportats de l'usuari" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Mitjans més recents" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorització" @@ -931,38 +1412,38 @@ msgstr "Condicions del servei" msgid "Explore" msgstr "Explorar" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Hola, una benvinguda al MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "El lloc esta usant MediaGoblin, una gran i extraordinària peça de software per allotjar mitjans." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Per afegir el teu propi mitjà, col.locar comentaris, i més, pots conectar-te amb el teu compte MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "No en tens una encara? Es fàcil!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n>Creeu un compte a aquest lloc\no" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n Prepareu MediaGoblin al vostre propi servidor" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -976,27 +1457,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Editant afegits per a %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Fitxers adjunts" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Afegeix un fitxer adjunt" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Cancel·la" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1020,12 +1490,6 @@ msgstr "Confirmeu l'eliminació de l'usuari %(user_name)s i els seus continguts. msgid "Yes, really delete my account" msgstr "Elimina el compte" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Esborrar permanentment" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1057,6 +1521,27 @@ msgstr "Editant %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "S'està editant el perfil de %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1077,10 +1562,12 @@ msgstr "Nous comentaris" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1138,12 +1625,14 @@ msgid "Created" msgstr "Creat" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Imatge per %(media_title)s" @@ -1152,35 +1641,35 @@ msgstr "Imatge per %(media_title)s" msgid "PDF file" msgstr "Fitxer PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspectiva." -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Davant" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Amunt" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Costat" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Descarrega el model" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Format del fitxer" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Alçada de l'objecte" @@ -1212,6 +1701,32 @@ msgstr "Aqui pots seguir l'estat del mitjà que s'està processant a aquesta ins msgid "Media in-processing" msgstr "S'està processant el fitxer" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1222,6 +1737,14 @@ msgstr "No s'està processant cap mitjà" msgid "These uploads failed to process:" msgstr "No s'han pogut penjar els següents fitxers:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1231,6 +1754,10 @@ msgstr "Sense entrades fallades!" msgid "Last 10 successful uploads" msgstr "Les últimes 10 pujades correctes" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1240,20 +1767,20 @@ msgstr "Encara no hi ha entrades processades!" msgid "Sorry, no such report found." msgstr "Ho sento, no s'ha trobat cap informe." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Torneu al Tauler de Reportar informes." -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Informeu-ne" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Comentari reportat" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1261,7 +1788,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1271,24 +1798,29 @@ msgid "" " " msgstr "\n S'HA ELIMINAT EL CONTINGUT DE\n %(user_name)s\n \n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Solucioneu-ho" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Solucioneu aquesta notificació" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Estat" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "SOLUCIONAT" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "No podeu dur a emprendre accions contra un administrador" @@ -1309,7 +1841,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1318,16 +1850,16 @@ msgid "When Reported" msgstr "Quan s'ha reportat" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Reportat per" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Motiu" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1335,7 +1867,7 @@ msgid "" " " msgstr "\n Comment Report #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1343,23 +1875,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "No s'ha trobat cap informe obert." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Informes reportats tancats" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Solucionat" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Acció presa" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1367,10 +1899,142 @@ msgid "" " " msgstr "\n Informe reportat #%(report_id)s tancat.\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "No s'ha trobat cap informe reportats tancat." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Cal que verifiqueu l'adreça electrònica" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Perfil de %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Aquest usuari encara no ha escrit res al seu perfil." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Edita el perfil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Navega les col·leccions" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1387,10 +2051,6 @@ msgstr "" msgid "Active Users" msgstr "Usuaris actius" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Data d'incorporació" @@ -1412,6 +2072,26 @@ msgstr "Afegir a la col.lecció" msgid "Add your media" msgstr "Afegeix el teu mitjà" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Afegeix un comentari" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Afegir aquest comentari" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Afegit" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1422,23 +2102,27 @@ msgstr "%(collection_title)s (la col.lecció de %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s per a %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Editar" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Realment vols esborrar %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Relment eliminar %(media_title)s de %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Eliminar" @@ -1481,22 +2165,10 @@ msgstr "Mitjans de %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Navegant mitjà per a %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Afegeix un comentari" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Afegir aquest comentari" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Previsualització del comentari" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Afegit" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1545,52 +2217,27 @@ msgstr "\n ❖ Publicat per Markdown for formatting." msgstr "Podeu usar Markdown per a formatar el text." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Estic segur que vull esborrar això" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Estic segur que vull esborrar aquest element de la col.lecció" @@ -1780,73 +2431,69 @@ msgstr "Podeu usar\n \n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Czech (http://www.transifex.com/projects/p/mediagoblin/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" @@ -49,12 +49,12 @@ msgstr "Toto pole vyžaduje emailovou adresu." msgid "Sorry, a user with that name already exists." msgstr "Omlouváme se, uživatel s tímto jménem už existuje." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Promiňte, uživatel s touto emailovou adresou již existuje." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "Chybný ověřovací klíč nebo id užvatele." @@ -80,174 +80,189 @@ msgstr "Svojí emailovou adresu máte již ověřenou!" msgid "Resent your verification email." msgstr "Váš ověřovací email byl znovu odeslán." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Název" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Popis tohoto díla" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Můžete použít\n \n Markdown pro formátování." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Štítky" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Oddělte štítky čárkami." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Krátký název" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Krátký název nemůže být prázdný" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Název, který je součástí adresy této tvorby. Většinou není třeba ho měnit." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licence" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "O mně" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Webové stránky" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Tato adresa obsahuje chyby" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Poslat email vždy, když někdo napíše komentář k mým tvorbám" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Zasílat oznámení o událostech na tomto webu." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Oblíbená licence" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Toto bude vaše výchozí licence ve formuláři pro upload." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Nadpis nesmí být prázdný" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Popis této sbírky" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Název, který je součástí adresy této sbírky. Většinou není třeba ho měnit." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Staré heslo" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Zadejte své staré heslo, abyste potvrdil(a), že vlastníte tento účet." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nové heslo" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Nová emailová adresa" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Heslo" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Zadejte své heslo pro ověření, že jste majitelem tohoto účtu." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "U tohoto uživatele již existuje jiná tvorba s tímto krátkým názvem." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Upravujete tvorbu jiného uživatele. Buďte opatrná/ý." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Přidali jste přílohu %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Editovat můžete jen svůj vlastní profil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Upravujete profil uživatele. Buďte opatrná/ý." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Změny profilu uloženy" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Nastavení účtu uloženo" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Smazání vašeho účtu je třeba potvrdit." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Už máte sbírku se jménem „%s“!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "U tohoto uživatele již existuje jiná sbírka s tímto krátkým názvem." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Upravujete sbírku dalšího uživatele. Buďte opatrná/ý." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Vaše emailová adresa byla ověřena." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Špatné heslo" @@ -278,6 +293,69 @@ msgstr "Přeskakuji \"%s\"; jež je nastaven.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Byl nalezen starý odkaz pro \"%s\"; odstraňuji.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -285,11 +363,147 @@ msgid "" "domain." msgstr "CSRF cookie není dostupné. Nejspíš je to důsledek blokování cookies v prohlížeči, nebo něco podobného.
Ujistěte se, že je nastavování cookies povoleno pro tuto doménu." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Omlouvám se, nepodporuji tento typ souboru :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Popis" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Jsem si jist(a), že to chci smazat" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Jupí! Odesláno!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Tvorba nebyla odstraněna, protože jste nezaškrtli, že jste si jistí." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Upravit" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Smazat" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Opravdu smazat %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Zrušit" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Smazat navždy" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Přidat" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv nebylo možné spustit, zkontrolujte log" @@ -330,6 +544,57 @@ msgstr "Jak chcete toto hlášení řešit?" msgid "What privileges will you take away?" msgstr "Jaká práva odejmete?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "trvale" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Varování od" @@ -348,29 +613,264 @@ msgstr "Odebírám komentáře na %s!" msgid "You will not receive notifications for comments on %s." msgstr "Nebudou vám zasílána oznámení o komentářích na %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Je vyžadován oauth_token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "Požadavek nemá token." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Promiňte, soubor je příliš velký." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Promiňte, vložením tohoto souboru byste již překročili svůj datový limit." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Promiňte, již jste vyčerpali svůj datový limit." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Nejnovější tvorba" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -494,6 +994,14 @@ msgstr "Zobrazit OpenStreetMap" msgid "Sign in to create an account!" msgstr "Přihlašte se pro vytvoření nového účtu." +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Povolit" @@ -510,10 +1018,6 @@ msgstr "Jméno" msgid "The name of the OAuth client" msgstr "Jméno klienta pro OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Popis" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -560,14 +1064,6 @@ msgstr "Připojení klientů OAuth" msgid "Your OAuth clients" msgstr "Vaši OAuth klienti" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Přidat" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -627,13 +1123,6 @@ msgstr "Přidat OpenID" msgid "Delete an OpenID" msgstr "Odstranit OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Smazat" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID" @@ -641,7 +1130,7 @@ msgstr "OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -747,10 +1236,6 @@ msgstr "Můžete používat\n%(user_name)s's account" msgstr "Účet %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Změnit nastavení účtu" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -805,32 +1286,32 @@ msgstr "Změnit nastavení účtu" msgid "Media processing panel" msgstr "Panel zpracování tvoreb" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Odhlásit" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Přidat tvorbu" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Vytvořit novou sbírku" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Panel pro správu uživatelů" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Panel pro správu hlášení" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Nejnovější tvorba" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorizace" @@ -927,38 +1408,38 @@ msgstr "Podmínky poskytovatele" msgid "Explore" msgstr "Prozkoumat" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Zdravíme, vítejte na stránkách projektu MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Na těchto stránkách běží MediaGoblin, úžasný software pro hostování medií." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Abyste mohli nahrávat vlastní tvorby, psát komentáře, a ještě víc, přihlašte se svým MediaGoblinovým účtem." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Ještě ho nemáte? Je to jednoduché!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n>Vytvořit účet na tomto webu\nnebo" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\nNastavit MediaGoblin na vlastním serveru" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -972,27 +1453,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Upravujete přílohy %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Přílohy" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Přiložit soubor" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Zrušit" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1016,12 +1486,6 @@ msgstr "Opravdu smazat uživatele '%(user_name)s' a všechnu asociovanou tvorbu/ msgid "Yes, really delete my account" msgstr "Ano, skutečně chci smazat svůj účet" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Smazat navždy" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1053,6 +1517,27 @@ msgstr "Editace %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Upravujete profil %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1073,10 +1558,12 @@ msgstr "Nové komentáře" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1134,12 +1621,14 @@ msgid "Created" msgstr "Vytvořeno" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Obrázek %(media_title)s" @@ -1148,35 +1637,35 @@ msgstr "Obrázek %(media_title)s" msgid "PDF file" msgstr "Soubor PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspektiva" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Zepředu" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Zvrchu" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Ze strany" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Stáhnout model" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Formát Souboru" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Výška Objektu" @@ -1208,6 +1697,32 @@ msgstr "Zde můžete sledovat stav tvoreb zpracovávaných na této instanci." msgid "Media in-processing" msgstr "Zpracovávané tvorby" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1218,6 +1733,14 @@ msgstr "Žádné zpracovávané tvorby" msgid "These uploads failed to process:" msgstr "Tuto tvorbu se nepovedlo zpracovat:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1227,6 +1750,10 @@ msgstr "Žádné záznamy o selhání!" msgid "Last 10 successful uploads" msgstr "Posledních 10 úspěšných uploadů" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1236,20 +1763,20 @@ msgstr "Zatím tu nejsou žádné zpracované tvorby!" msgid "Sorry, no such report found." msgstr "Promiňte, žádné takové hlášení nebylo nalezeno." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Návrat do Panelu Hlášení" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Hlášení" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Nahlášený komentář" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1257,7 +1784,7 @@ msgid "" " " msgstr "\n❖ Nahlášené medium od uživatele %(user_name)s" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1267,24 +1794,29 @@ msgid "" " " msgstr "\nOBSAH OD UŽIVATELE\n %(user_name)s\nBYL SMAZÁN" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Vyřešit" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Vyřešit Toto Hlášení" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Stav" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "VYŘEŠENO" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "Nemáte oprávnění zasáhnout proti administrátorovi" @@ -1305,7 +1837,7 @@ msgid "Active Reports Filed" msgstr "Aktivní Podaná Hlášení" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Pachatel" @@ -1314,16 +1846,16 @@ msgid "When Reported" msgstr "Datum Nahlášení" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Ohlašovatel" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Důvod" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1331,7 +1863,7 @@ msgid "" " " msgstr "\nNahlášení Komentáře #%(report_id)s" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1339,23 +1871,23 @@ msgid "" " " msgstr "\nNahlášení Tvorby #%(report_id)s" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "Nebyla nalezena žádná otevřená hlášení." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Uzavřená Hlášení" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Vyřešeno" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Přijaté Opatření" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1363,10 +1895,142 @@ msgid "" " " msgstr "\nUzavřené hlášení #%(report_id)s" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "Nebyla nalezena žádná uzavřená hlášení." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Je třeba ověřit email" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profil %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Tento uživatel si (zatím) nevyplnil profil." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Upravit profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Procházet sbírky" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1383,10 +2047,6 @@ msgstr "\nZde můžete najít uživatele, abyste proti nim mohli podniknout př msgid "Active Users" msgstr "Aktivní Uživatelé" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Datum Registrace" @@ -1408,6 +2068,26 @@ msgstr "Přidat sbírku" msgid "Add your media" msgstr "Přidejte vaši tvorbu" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Přidat komentář" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Přidat tento komentář" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Přidáno" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1418,23 +2098,27 @@ msgstr "%(collection_title)s (sbírka uživatele %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s od %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Upravit" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Opravdu smazat %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Opravdu odstranit %(media_title)s z %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Odstranit" @@ -1477,22 +2161,10 @@ msgstr "Tvorba %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Prohlížení tvoreb uživatele %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Přidat komentář" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Přidat tento komentář" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Náhled Komentáře" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Přidáno" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1541,52 +2213,27 @@ msgstr "\n ❖ Publikováno Markdown for formatting." msgstr "Můžete používat Markdown pro formátování." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Jsem si jist(a), že to chci smazat" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Jsem si jist(a), že chci odstranit tuto položku ze sbírky" @@ -1776,73 +2427,69 @@ msgstr "Můžete používat\n\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Danish (http://www.transifex.com/projects/p/mediagoblin/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -51,12 +51,12 @@ msgstr "Dette felt kræver en e-mailadresse." msgid "Sorry, a user with that name already exists." msgstr "Desværre, det brugernavn er allerede brugt" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Desværre, en bruger er allerede oprettet for den email" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "Nøglen til bekræftigelse eller bruger-id er ugyldigt." @@ -82,174 +82,189 @@ msgstr "Du har allerede bekræftet din email adresse!" msgid "Resent your verification email." msgstr "Email til godkendelse sendt igen." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Beskrivelse af arbejdet" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Du kan bruge\n \n Markdown til formattering." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Tags" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Separer tags med kommaer." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Webnavn" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Webnavnet kan ikke stå tomt" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Titeldelen af dette medie's adresse. Du behøver normalt ikke ændre dette." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licens" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Websted" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Denne adresse indeholder fejl" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Email mig når andre kommenterer på mine medier" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Aktivér insite-notifikationer for begivenheder." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Præferencer for licens" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Dette vil blive dit standardlicens i formularer til overførsler." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Titlen kan ikke være tom" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Beskrivelse af denne samling" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Titeldelen af denne samlings's adresse. Du behøver normalt ikke ændre dette." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Gammelt kodeord" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Skriv dit gamle kodeord for at bevise det er din konto." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Ny kodeord" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Ny e-mailadresse" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Kodeord" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Angiv dit kodeord for at bevise at du ejer denne konto." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Et post med dette webnavn findes allerede for denne bruger." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Du er ved at ændre en anden brugers' medier. Pas på." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Du tilføjede den vedhæftede fil %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Du kan kun redigere din egen profil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Du er ved at ændre en bruger's profil. Pas på." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Profilændringer gemt" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Kontoindstillinger gemt" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Du skal bekræfte at du vil slette din konto." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Du har allerede en samling ved navn \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "En samling med dette webnavn findes allerede for denne bruger." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Du er ved at ændre en anden bruger's samling. Pas på." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Din e-mailadresse er blevet bekræftet." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Forkert kodeord" @@ -280,6 +295,69 @@ msgstr "Springer over \"%s\"; allerede konfigureret.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Gammel henvisning fundet for \"%s\"; fjerner.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -287,11 +365,147 @@ msgid "" "domain." msgstr "CSRF-cookie er ikke tilstede. Dette skyldes højest sandsynligt en blokering af cookie eller lignende.
Sørg for at tillade, at der angives cookie'er for dette domæne." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Desværre, jeg understøtter ikke den filtype :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Beskrivelse" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Jeg er sikker på at jeg vil slette dette" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Juhuu! Delt!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Mediet blev ikke slettet, fordi du ikke markerede at du var sikker." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Redigér" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Slet" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Sikker på at du vil slette %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Afbryd" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Slet permanent" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Tilføj" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv kunne ikke køres, tjek logfilen" @@ -332,6 +546,57 @@ msgstr "Hvilken handling vil du foretage, for at tackle rapporten?" msgid "What privileges will you take away?" msgstr "Hvilke privilegier ønsker du at fjerne?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "ubestemt tid" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Advarsel fra" @@ -350,29 +615,264 @@ msgstr "Abonnerede på kommentarer på %s!" msgid "You will not receive notifications for comments on %s." msgstr "Du vil ikke modtage notifikationer for kommentarer på %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Der skal angives en oauth_token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Beklager, filstørrelsen er for stor." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Beklager, overførsel af denne fil vil betyde at du bryder grænsen for overførsel." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Beklager, du har nået din grænse for filoverførsel." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Seneste mediefil" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -496,6 +996,14 @@ msgstr "Vis på OpenStreetMap" msgid "Sign in to create an account!" msgstr "Log ind for at oprette en konto!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Tillad" @@ -512,10 +1020,6 @@ msgstr "Navn" msgid "The name of the OAuth client" msgstr "Navnet af OAuth klienten" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Beskrivelse" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -562,14 +1066,6 @@ msgstr "OAuth-klientforbindelser" msgid "Your OAuth clients" msgstr "Dine OAuth-klienter" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Tilføj" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -629,13 +1125,6 @@ msgstr "Tilføj et OpenID" msgid "Delete an OpenID" msgstr "Slet et OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Slet" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID'er" @@ -643,7 +1132,7 @@ msgstr "OpenID'er" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -749,10 +1238,6 @@ msgstr "Du kan benytte\n %(user_name)s's account" msgstr "%(user_name)s's konto" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Skift kontoindstillinger" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -807,32 +1288,32 @@ msgstr "Skift kontoindstillinger" msgid "Media processing panel" msgstr "Panel til mediebehandling" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Log ud" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Tilføj medie" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Opret ny samling" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Seneste mediefil" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Godkendelse" @@ -929,38 +1410,38 @@ msgstr "" msgid "Explore" msgstr "Udforsk" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Hey, velkommen til denne MediaGoblin side!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Dette sted kører MediaGoblin, et særdeles godt stykke software til hosting af medier." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "For at tilføje dine egne medier, skrive kommentarer, og mere, du kan logge ind med din MediaGoblin konto." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Har du ikke en endnu? Det er let!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n >Opret en konto på dette sted\n eller" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n Opsæt MediaGoblin på din egen server" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -974,27 +1455,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Redigerer vedhæftede filer for %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Vedhæftede filer" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Tilføj en vedhæftet fil" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Afbryd" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1018,12 +1488,6 @@ msgstr "Sikker på at brugeren '%(user_name)s' og alle relaterede medier/komment msgid "Yes, really delete my account" msgstr "Ja, min konto skal slettes" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Slet permanent" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1055,6 +1519,27 @@ msgstr "Redigerer %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Redigerer %(username)s profil" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1075,10 +1560,12 @@ msgstr "Nye kommentarer" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1136,12 +1623,14 @@ msgid "Created" msgstr "Oprettet" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Bilelde for %(media_title)s" @@ -1150,35 +1639,35 @@ msgstr "Bilelde for %(media_title)s" msgid "PDF file" msgstr "PDF-fil" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspektiv" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Forside" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Top" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Side" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Hent model" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Filformat" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Objektets højde" @@ -1210,6 +1699,32 @@ msgstr "Her kan du følge status for mediet, der bliver behandlet på denne inst msgid "Media in-processing" msgstr "Mediet er under behandling" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1220,6 +1735,14 @@ msgstr "Intet medie er under behandling" msgid "These uploads failed to process:" msgstr "Disse overførsler kunne ikke behandles:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1229,6 +1752,10 @@ msgstr "Ingen mislykkede poster!" msgid "Last 10 successful uploads" msgstr "Seneste 10 succesfulde overførsler" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1238,20 +1765,20 @@ msgstr "Ingen behandlede poster, endnu!" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Rapport" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Rapporteret kommentar" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1259,7 +1786,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1269,24 +1796,29 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1307,7 +1839,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1316,16 +1848,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Årsag" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1333,7 +1865,7 @@ msgid "" " " msgstr "\n Kommentarrapport #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1341,23 +1873,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1365,10 +1897,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Der kræves godkendelse af e-mail" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)s's profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Brugeren har ikke udfyldt sin profil (endnu)." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Ret profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Gennemse samlinger" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1385,10 +2049,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -1410,6 +2070,26 @@ msgstr "Tilføj en samling" msgid "Add your media" msgstr "Tilføj dit medie" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Tilføj en kommentar" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Tilføj denne kommentar" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Tilføjet" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1420,23 +2100,27 @@ msgstr "%(collection_title)s (%(username)s's samling)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s fra %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Redigér" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Sikker på at du vil slette %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Sikker på at du vil fjerne %(media_title)s fra %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Fjern" @@ -1479,22 +2163,10 @@ msgstr "%(username)ss mediefil" msgid "❖ Browsing media by %(username)s" msgstr "❖ Gennemser medier fra %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Tilføj en kommentar" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Tilføj denne kommentar" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Forhåndsvisning af kommentar" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Tilføjet" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1543,52 +2215,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "%(username)s's profil" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "Her kan du fortælle andre om dig selv." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Ret profil" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Brugeren har ikke udfyldt sin profil (endnu)." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "Gennemse samlinger" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "Vis alle %(username)s's mediefiler" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "Her bliver dine medier vist, men det ser ikke ud til at du har tilføjet noget endnu." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Der ser ikke ud til at være nogen mediefiler her endnu ..." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Der kræves godkendelse af e-mail" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Næsten færdig! Din konto skal stadig aktiveres." @@ -1631,6 +2278,14 @@ msgstr "Indsamlet i" msgid "Add to a collection" msgstr "Tilføj til en samling" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" @@ -1675,7 +2330,7 @@ msgstr "" msgid "Tagged with" msgstr "Mærket med" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "Kunne ikke indlæse billedfilen." @@ -1747,10 +2402,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "Du kan anvende Markdown til formatering." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Jeg er sikker på at jeg vil slette dette" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Jeg er helt sikker på at jeg vil fjerne dette element fra samlingen" @@ -1778,73 +2429,69 @@ msgstr "Du kan anvende\n \n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: German (http://www.transifex.com/projects/p/mediagoblin/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -65,12 +65,12 @@ msgstr "Dieses Feld benötigt eine gültige E-Mail-Adresse." msgid "Sorry, a user with that name already exists." msgstr "Leider gibt es bereits einen Benutzer mit diesem Namen." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Leider gibt es bereits einen Benutzer mit dieser E-Mail-Adresse." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "Der Bestätigungsschlüssel oder die Benutzer-ID stimmen nicht." @@ -96,174 +96,189 @@ msgstr "Deine E-Mail-Adresse wurde bereits aktiviert." msgid "Resent your verification email." msgstr "Aktivierungsmail wurde erneut versandt." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Beschreibung des Werkes" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Für Formatierung kannst du\n \n Markdown benutzen." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Schlagwörter" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Getrennt durch Kommata" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Kurztitel" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Bitte gib einen Kurztitel ein" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Der Titelteil der Medienadresse. Normalerweise muss hier nichts geändert werden." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Lizenz" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Biographie" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Webseite" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Die URL ist nicht gültig. Bitte überprüf sie nochmal..." -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Mir eine E-Mail schicken, wenn andere meine Medien kommentieren" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Aktiviere innerhalb Benachrichtigungen über Ereignisse." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Bevorzugte Lizenz" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Dies wird deine Standardlizenz für neue Uploads sein." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Der Titel darf nicht leer sein" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Beschreibung dieser Sammlung" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Der Titelteil dieser Sammlungsadresse. Du musst ihn normalerweise nicht ändern." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Altes Passwort" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Gib dein altes Passwort ein, um zu bestätigen, dass du der Besitzer dieses Kontos bist." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Neues Passwort" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Neue E-Mail-Adresse" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Passwort" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Gib Dein Passwort ein, um zu bestätigen, dass Du dieses Konto besitzt." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Diesen Kurztitel hast du bereits vergeben." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Du bearbeitest die Medien eines anderen Nutzers. Sei bitte vorsichtig." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Du hast den Anhang %s hinzugefügt!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Du kannst nur dein eigenes Profil bearbeiten." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Du bearbeitest das Profil eines anderen Nutzers. Sei bitte vorsichtig." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Das Profil wurde aktualisiert" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Kontoeinstellungen gespeichert" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Du musst die Löschung deines Kontos noch bestätigen." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Du hast bereits eine Sammlung mit dem Namen \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Eine Sammlung mit diesem Kurztitel existiert bereits für diesen Benutzer." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Du bearbeitest die Sammlung eines anderen Benutzers. Sei vorsichtig." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Deine E-Mail-Adresse wurde verifiziert." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Falsches Passwort" @@ -294,6 +309,69 @@ msgstr "Überspringe \"%s\"; bereits eingerichtet.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Alte Verknüpfung für \"%s\" gefunden; wird entfernt.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -301,11 +379,147 @@ msgid "" "domain." msgstr "Das CSRF cookie ist nicht vorhanden. Das liegt vermutlich an einem Cookie-Blocker oder ähnlichem.
Bitte stelle sicher, dass Cookies von dieser Domäne erlaubt sind." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Dieser Dateityp wird leider nicht unterstützt." +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Beschreibung" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Ja, wirklich löschen" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "JAAA! Geschafft!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Das Medium wurde nicht gelöscht, da du die Löschung nicht bestätigt hast." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Bearbeiten" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Löschen" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Möchtest du %(title)s wirklich löschen?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Abbrechen" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Endgültig löschen" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Hinzufügen" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv konnte nicht ausgeführt werden, überprüfe Logdatei" @@ -346,6 +560,57 @@ msgstr "Welche Maßnahme wirst du ergreifen, um die Meldung zu klären?" msgid "What privileges will you take away?" msgstr "Welche Rechte wirst du entziehen?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "unbefristet" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Warnung von" @@ -364,29 +629,264 @@ msgstr "Kommentare zu %s wurden abonniert!" msgid "You will not receive notifications for comments on %s." msgstr "Du wirst keine Benachrichtigungen für Kommentare zu %s mehr erhalten." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Ein OAuth-Token muss bereitgestellt werden." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "Kein Anfrage-Token gefunden." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Die Datei ist zu groß." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Das Hochladen dieser Datei würde dein Upload-Limit überschreiten." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Du hast dein Upload-Limit erreicht." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Neuste Medien" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -510,6 +1010,14 @@ msgstr "In OpenStreetMap öffnen" msgid "Sign in to create an account!" msgstr "Anmelden um ein Konto zu erstellen!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Erlauben" @@ -526,10 +1034,6 @@ msgstr "Name" msgid "The name of the OAuth client" msgstr "Der Name des OAuth-Clients" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Beschreibung" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -576,14 +1080,6 @@ msgstr "OAuth-Client-Verbindungen" msgid "Your OAuth clients" msgstr "Deine OAuth-Clients" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Hinzufügen" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -643,13 +1139,6 @@ msgstr "Eine OpenID hinzufügen" msgid "Delete an OpenID" msgstr "Eine OpenID entfernen" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Löschen" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenIDs" @@ -657,7 +1146,7 @@ msgstr "OpenIDs" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -763,10 +1252,6 @@ msgstr "Du kannst\n%(user_name)s's account" msgstr "%(user_name)ss Konto" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Kontoeinstellungen ändern" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -821,32 +1302,32 @@ msgstr "Kontoeinstellungen ändern" msgid "Media processing panel" msgstr "Medienverarbeitung" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Abmelden" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Medien hinzufügen" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Neue Sammlung erstellen" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Benutzerverwaltung" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Meldungsverwaltung" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Neuste Medien" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorisierung" @@ -943,38 +1424,38 @@ msgstr "Nutzungsbedingungen" msgid "Explore" msgstr "Entdecken" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Hallo und willkommen auf dieser MediaGoblin-Seite!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Diese Webseite läuft mit MediaGoblin, einer großartigen Software, um deine Medien zu veröffentlichen." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Melde dich mit deinem MediaGoblin-Konto an, um eigene Medien hinzuzufügen, zu kommentieren und mehr." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Du hast noch keins? Dann registrier dich hier einfach." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n >Erstelle ein Konto auf dieser Seite\n oder" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n Installiere MediaGoblin auf deinem eigenen Server" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -988,27 +1469,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Bearbeite Anhänge von %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Anhänge" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Anhang hinzufügen" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Abbrechen" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1032,12 +1502,6 @@ msgstr "Soll der Benutzer „%(user_name)s“ und all seine Medien sowie Komment msgid "Yes, really delete my account" msgstr "Ja, ich möchte mein Konto wirklich löschen" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Endgültig löschen" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1069,6 +1533,27 @@ msgstr "Bearbeite %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "%(username)ss Profil bearbeiten" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1089,10 +1574,12 @@ msgstr "Neue Kommentare" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1150,12 +1637,14 @@ msgid "Created" msgstr "Originaldatum" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Bild für %(media_title)s" @@ -1164,35 +1653,35 @@ msgstr "Bild für %(media_title)s" msgid "PDF file" msgstr "PDF-Datei" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspektive" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Vorderseite" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Draufsicht" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Seitenansicht" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Modell herunterladen" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Dateiformat" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Objekthöhe" @@ -1224,6 +1713,32 @@ msgstr "Hier siehst du den Status der Medien, die derzeit Konvertiert werden." msgid "Media in-processing" msgstr "Medien in Bearbeitung" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1234,6 +1749,14 @@ msgstr "Keine Medien in Bearbeitung" msgid "These uploads failed to process:" msgstr "Die folgenden Uploads sind fehlgeschlagen:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1243,6 +1766,10 @@ msgstr "Keine fehlgeschlagenen Einträge!" msgid "Last 10 successful uploads" msgstr "Die letzten 10 erfolgreichen Uploads" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1252,20 +1779,20 @@ msgstr "Noch keine verarbeiteten Einträge!" msgid "Sorry, no such report found." msgstr "Keine Meldung gefunden." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Zurück zur Meldungsverwaltung" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Meldung" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Gemeldeter Kommentar" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1273,7 +1800,7 @@ msgid "" " " msgstr "\n ❖ Gemeldete Medien von %(user_name)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1283,24 +1810,29 @@ msgid "" " " msgstr "\n INHALT VON\n %(user_name)s\n WURDE GELÖSCHT\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Beheben" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Diese Meldung beheben" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Status" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "GELÖST" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "Du kannst keine Maßnahmen gegen einen Administrator ergreifen" @@ -1321,7 +1853,7 @@ msgid "Active Reports Filed" msgstr "Offene Meldungen" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Täter" @@ -1330,16 +1862,16 @@ msgid "When Reported" msgstr "Wann Gemeldet " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Gemeldet von" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Grund" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1347,7 +1879,7 @@ msgid "" " " msgstr "\n Kommentar-Meldung #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1355,23 +1887,23 @@ msgid "" " " msgstr "\n Medien-Meldung #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "Keine offenen Meldungen gefunden." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Geschlossene Meldungen" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Gelöst" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Eingeleitete Maßnahme" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1379,10 +1911,142 @@ msgid "" " " msgstr "\n Geschlossene Meldung #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "Keine geschlossenen Meldungen gefunden." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "E-Mail Aktivierung benötigt" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)ss Profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Dieser Benutzer hat sein Profil noch nicht ausgefüllt." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Profil bearbeiten" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Sammlungen durchstöbern" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1399,10 +2063,6 @@ msgstr "\n Hier kannst Du Benutzer nachschlagen, um Strafmaßnahmen gegen sie msgid "Active Users" msgstr "Aktive Benutzer" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Wann Registriert" @@ -1424,6 +2084,26 @@ msgstr "Eine Sammlung hinzufügen" msgid "Add your media" msgstr "Deine Medien" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Einen Kommentar schreiben" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Kommentar hinzufügen" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Hinzugefügt" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1434,23 +2114,27 @@ msgstr "%(collection_title)s (ein Album von %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s von %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Bearbeiten" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Möchtest du %(title)s wirklich löschen?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Wirklich %(media_title)s aus %(collection_title)s entfernen?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Entfernen" @@ -1493,22 +2177,10 @@ msgstr "%(username)ss Medien" msgid "❖ Browsing media by %(username)s" msgstr "❖ Medien von %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Einen Kommentar schreiben" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Kommentar hinzufügen" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Kommentarvorschau" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Hinzugefügt" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1557,52 +2229,27 @@ msgstr "\n ❖ Veröffentlicht von Markdown for formatting." msgstr "Du kannst Markdown zum Formatieren verwenden." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Ja, wirklich löschen" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Ich bin sicher, dass ich dieses Objekt aus der Sammlung entfernen möchte" @@ -1792,73 +2443,69 @@ msgstr "Du kannst\n\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Greek (http://www.transifex.com/projects/p/mediagoblin/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "Συγγνώμη, υπάρχει ήδη χρήστης/χρήστρια μ' αυτό το όνομα." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Συγγνώμη, ένας χρήστης μ' αυτήν τη διεύθυνση υπάρχει ήδη." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -79,174 +79,189 @@ msgstr "Έχετε ήδη επιβεβαιώσει τη διεύθυνση ηλ msgid "Resent your verification email." msgstr "Η ηλεκτρονική επιστολή επιβεβαίωσης επανεστάλη." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Τίτλος" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Περιγραφή αυτού του έργου" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Μπορείτε να χρησιμοποιήσετε\n\nτο Markdown για μορφοποίηση." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Ετικέτες" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Διαχωρίστε τις ετικέτες με κόμματα." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Αράδα" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Η αράδα δεν μπορεί να είναι κενή" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Το τμήμα τίτλου της διεύθυνσης αυτού του πολυμέσου. Συνήθως δε χρειάζεται να το αλλάξετε." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Άδεια" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Βιογραφικό" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Ιστοσελίδα" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Αυτή η διεύθυνση περιέχει σφάλματα" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Αποστείλετε ηλ. επιστολή όταν άλλοι σχολιάσουν τα πολυμέσα μου" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Ο τίτλος δεν μπορεί να είναι κενός." -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Περιγραφή αυτής της συλλογής" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Το τμήμα τίτλου της διεύθυνσης αυτής της συλλογής. Αυτό συνήθως δε χρειάζεται να το αλλάξετε." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Παλιός κωδικός" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Εισαγάγετε τον παλιό σας κωδικό για ν' αποδείξετε πως σας ανήκει αυτός ο λογαριασμός." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Νέος κωδικός" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Κωδικός" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Υπάρχει ήδη λήμμα μ' αυτήν την αράδα γι' αυτόν το χρήστη/αυτήν τη χρήστρια." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Επεξεργάζεστε τα πολυμέσα ενός άλλου χρήστη. Προχωρήσετε με προσοχή." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Επεξεργάζεστε το προφίλ ενός χρήστη. Προχωρήσετε με προσοχή." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Αλλαγές προφίλ αποθηκεύτηκαν." -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Αλλαγές λογαριασμού αποθηκεύτηκαν." -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Μια συλλογή μ' αυτήν την αράδα υπάρχει ήδη γι' αυτόν το χρήστη." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Επεξεργάζεστε τη συλλογή ενός άλλου χρήστη. Προχωρήσετε με προσοχή." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Νέος κωδικός" @@ -277,6 +292,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -284,11 +362,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Συγγνώμη, δεν υποστηρίζω αυτόν τον τύπο αρχείου :-(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Περιγραφή" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Είμαι σίγουρος/η ότι θέλω να το διαγράψω" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Γιούπι! Παρασχέθηκε!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Τα πολυμέσα δε διεγράφησαν διότι δεν επιβεβαιώσατε την ανάλογη επιλογή." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Επεξεργασία" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Διαγραφή" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Θέλετε πραγματικά να διαγράψετε το %(title)s;" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Ακύρωση" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Μόνιμη διαγραφή" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Προσθήκη" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -329,6 +543,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -347,29 +612,264 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Πιο πρόσφατα πολυμέσα" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -493,6 +993,14 @@ msgstr "Δείτε το στο OpenStreetMap" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Επίτρεψε" @@ -509,10 +1017,6 @@ msgstr "Όνομα" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Περιγραφή" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -559,14 +1063,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Προσθήκη" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -626,13 +1122,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Διαγραφή" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -640,7 +1129,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -746,10 +1235,6 @@ msgstr "" msgid "You must provide a file." msgstr "Πρέπει να παράσχετε ένα αρχείο." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Γιούπι! Παρασχέθηκε!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -773,30 +1258,26 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Επιβεβαιώστε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Αλλαγή ρυθμίσεων λογαριασμού" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -804,32 +1285,32 @@ msgstr "Αλλαγή ρυθμίσεων λογαριασμού" msgid "Media processing panel" msgstr "Πλαίσιο επεξεργασίας πολυμέσων" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Προσθήκη πολυμέσων" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Πιο πρόσφατα πολυμέσα" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -926,37 +1407,37 @@ msgstr "" msgid "Explore" msgstr "Εξερεύνηση" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Πολύ καλημέρα, καλωσορίσατε στη σελίδα του MediaGoblin!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Αυτή η σελίδα τρέχει τοMediaGoblin , ένα εξαίρετα υπέροχο τεμάχιο λογισμικού φιλοξενίας πολυμέσων." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Για να προσθέσετε τα πολυμέσα σας, να εισαγάγετε σχόλια και άλλα, μπορείτε να εισέλθετε με τον κωδικό σας για το MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Δεν έχετε ακόμα; Είναι εύκολο!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -971,27 +1452,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Συνημμένα" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Προσθήκη συνημμένου" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Ακύρωση" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1015,12 +1485,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Μόνιμη διαγραφή" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1052,6 +1516,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "Επεξεργασία του προφίλ του %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1072,10 +1557,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1133,12 +1620,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Εικόνα για %(media_title)s" @@ -1147,35 +1636,35 @@ msgstr "Εικόνα για %(media_title)s" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1207,6 +1696,32 @@ msgstr "" msgid "Media in-processing" msgstr "Πολυμέσα εν μέσω επεξεργασίας" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1217,6 +1732,14 @@ msgstr "Δεν υπάρχουν πολυμέσα εν μέσω επεξεργα msgid "These uploads failed to process:" msgstr "Αυτές οι αναφορτώσεις δεν επεξεργάστηκαν επιτυχώς:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1226,6 +1749,10 @@ msgstr "Μηδέν αποτυχημένες εισαγωγές!" msgid "Last 10 successful uploads" msgstr "Τελευταίες 10 επιτυχημένες αναφορτώσεις" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1235,20 +1762,20 @@ msgstr "Δεν υπάρχουν ακόμα επεξεργασμένες εισα msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1256,7 +1783,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1266,24 +1793,29 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1304,7 +1836,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1313,16 +1845,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1330,7 +1862,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1338,23 +1870,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1362,10 +1894,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Επιβεβαίωση ηλεκτρονικού ταχυδρομείου απαραίτητη" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Το προφίλ του %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Αυτός ο χρήστης δεν έχει συμπληρώσει το προφίλ του (ακόμα)." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Επεξεργασία προφίλ" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1382,10 +2046,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -1407,6 +2067,26 @@ msgstr "Προσθήκη συλλογής" msgid "Add your media" msgstr "Προσθήκη πολυμέσων σας" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Προσθήκη σχολίου" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Προσθήκη αυτού του σχολίου" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1417,23 +2097,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Επεξεργασία" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Θέλετε πραγματικά να διαγράψετε το %(title)s;" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Αφαίρεση" @@ -1476,22 +2160,10 @@ msgstr "Τα πολυμέσα του/της %(username) msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Προσθήκη σχολίου" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Προσθήκη αυτού του σχολίου" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1540,52 +2212,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Το προφίλ του %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "Ιδού ένα σημείο για να πείτε στους άλλους για τον εαυτό σας." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Επεξεργασία προφίλ" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Αυτός ο χρήστης δεν έχει συμπληρώσει το προφίλ του (ακόμα)." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "Προβολή όλων των πολυμέσων του/της %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "Εδώ θα εμφανίζονται τα πολυμέσα σας, αν και δε φαίνεται να 'χετε προσθέσει ακόμα κάτι." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Δε φαίνεται να υπάρχουν ακόμα εδώ πολυμέσα..." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Επιβεβαίωση ηλεκτρονικού ταχυδρομείου απαραίτητη" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Σχεδόν τελειώσαμε! Ο λογαριασμός σας πρέπει επιπλέον να ενεργοποιηθεί." @@ -1628,6 +2275,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" @@ -1672,7 +2327,7 @@ msgstr "" msgid "Tagged with" msgstr "Επιγεγραμμένο με" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "Το αρχείο εικόνας δεν μπόρεσε ν' αναγνωστεί." @@ -1744,10 +2399,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Είμαι σίγουρος/η ότι θέλω να το διαγράψω" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1775,73 +2426,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "Ουπς, το σχόλιό σας ήταν κενό." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "Το σχόλιό σας αναρτήθηκε!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "Έχετε διαγράψει αυτά τα πολυμέσα." -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "Τα πολυμέσα δε διεγράφησαν διότι δεν επιβεβαιώσατε την ανάλογη επιλογή." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Πρόκειται να διαγράψετε τα πολυμέσα ενός άλλου χρήστη. Προχωρήσετε με προσοχή." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po index 24aa5e2a..9bfce8d6 100644 --- a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -80,7 +80,11 @@ msgstr "" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" @@ -539,6 +543,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -561,7 +616,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -640,7 +695,7 @@ msgid "" "bar to\n" " the side of the media entry. If the piece of media has not been " "featured\n" -" yet you should see a button that says 'Feature'. Press that " +" yet you should see a button that says \"Feature\". Press that " "button and\n" " the media will be featured as a Primary Feature at the top of the" " page.\n" @@ -748,6 +803,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1243,10 +1299,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" @@ -1288,6 +1340,10 @@ msgstr "" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1685,6 +1741,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1695,6 +1777,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1704,6 +1794,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1744,6 +1838,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1994,10 +2092,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2226,6 +2320,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo index 137f0b42..dbeed608 100644 Binary files a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po index 9db398f9..5af94b99 100644 --- a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/mediagoblin/language/eo/)\n" "MIME-Version: 1.0\n" @@ -85,7 +85,11 @@ msgstr "Resendi vian kontrol-mesaĝon." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titolo" @@ -542,6 +546,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -564,7 +619,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -634,7 +689,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -717,6 +772,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1205,10 +1261,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Konfirmu viecon de la retpoŝtadreso!" @@ -1250,6 +1302,10 @@ msgstr "Aldoni dosieron" msgid "Create new collection" msgstr "Krei novan kolekton" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1643,6 +1699,32 @@ msgstr "Ĉi tie vi povas observi la staton de prilaborado de alŝutaĵoj en ĉi msgid "Media in-processing" msgstr "Dosieroj preparataj" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1653,6 +1735,14 @@ msgstr "Neniu dosieroj preparatas" msgid "These uploads failed to process:" msgstr "Preparado de ĉi tiuj alŝutaĵoj malsukcesis:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1662,6 +1752,10 @@ msgstr "Ne ekzistas malsukcesaj eroj!" msgid "Last 10 successful uploads" msgstr "La dek lastaj sukcesaj alŝutoj" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1702,6 +1796,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1951,10 +2049,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2184,6 +2278,14 @@ msgstr "En kolektoj:" msgid "Add to a collection" msgstr "Aldoni al kolekto" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo index 354755b7..fe3dfa0f 100644 Binary files a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo index d34969b6..ee38a900 100644 Binary files a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po index 99459757..d447a55d 100644 --- a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -9,14 +9,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2014-06-03 11:57+0000\n" -"Last-Translator: b.tavakkoli \n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Persian (http://www.transifex.com/projects/p/mediagoblin/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -49,12 +49,12 @@ msgstr "این گزینه بایستی توسط یک ایمیل آدرس تکم msgid "Sorry, a user with that name already exists." msgstr "متاسفانه کاربری با این نام کاربری وجود دارد." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "متاسفیم، یک کاربر با آدرس ایمیل مورد نظر شما در سیستم ما وجود دارد." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "کلید تایید هویت یا نام کاربری اشتباه است." @@ -80,174 +80,189 @@ msgstr "شما در حال حاضر آدرس ایمیل خود را تایید msgid "Resent your verification email." msgstr "ایمیل تاییدیه باز ارسال شد." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "عنوان" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "توصیف این عمل" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "شما می‌توانید از \n\nMarkdown برای شکل‌دهی به متن استفاده نمایید." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "برچسب" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "تگ‌ها را توسط کاما (,) از یک‌دیگر جدا نمایید." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "بخش عنوان آدرس این فایل چندرسانه‌ای. شما معمولا نیازی به تغییر آن ندارید." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "مجوز استفاده" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "زندگینامه" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "وبسایت" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "این آدرس شامل موارد غیرمجاز است" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "وقتی دیگران بر روی موارد قرار داده شده توسط من نظر گذاشتند به من ایمیل بزن" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "تنظیمات مجوز استفاده" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "این مورد مجوز استفاده‌ی پیش‌فرض شما در صفحه‌ی آپلود خواهد بود." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "عنوان نمی‌تواند خالی باشد" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "معرفی این مجموعه" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "بخش عنوان این آدرس مجموعه، شما معمولا نیازی به تغییر این مورد ندارید." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "رمز عبور فعلی" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "رمز عبور قدیمی خود را وارد نمایید تا تایید نمایید شما صاحب این حساب کاربری هستید." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "رمز عبور جدید" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "آدرس ایمیل جدید" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "گذرواٰژه" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "رمز عبور خود را وارد نمایید تا تایید گردد شما صاحب این حساب کاربری هستید." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "شما در حال ویرایش رسانه کاربر دیگری هستید.با احتیاط عمل کنید" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "شما فقط قادر به ویرایش پروفایل خود می‌باشید." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "شما در حال ویرایش نمایه کاربر دیگری هستید.با احتیاط عمل کنید." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "تغییرات در پروفایل شما ذخیره گردید" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "تنظیمات حساب کاربری شما ذخیره گردید" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "شما نیاز دارید تا حذف شدن حساب کاربری خود را تایید نمایید." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "شما در حال حاضر یک مجموعه با نام \"%s\" دارید!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "شما در حال ویرایش مجموعه‌ی شخص دیگری هستید، لطفا با احتیاط عمل نمایید." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "آدرس ایمیل شما تایید گردید." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "رمز عبور اشتباه است" @@ -278,6 +293,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -285,11 +363,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "شرمنده، نوع فایل چندرسانه‌ای شما قابل پشتیبانی نیست :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "توضیح" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "من از پاک کردن این مورد کاملا مطمئن هستم" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "هورا!ثبت شد!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "این چندرسانه‌ای حذف نگردیده است به دلیل آن‌که شما اطمینان خود را تایید ننمودید." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "ویرایش" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "حذف نمودن" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "انصراف" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "به طور کامل حذف نمایید" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "اضافه نمودن" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -330,6 +544,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -348,29 +613,264 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "شما اعلانات مربوط به نظرات جدید در %s را دریافت نخواهید کرد." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "رشته‌ی تایید هویت درخواستی یافت نگردید." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "فایل‌های چندرسانه‌ای جدیدا اضافه شده" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -494,6 +994,14 @@ msgstr "بر روی OpenStreetMap ببنید" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "اجازه" @@ -510,10 +1018,6 @@ msgstr "نام" msgid "The name of the OAuth client" msgstr "نام در کلاینت OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "توضیح" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -560,14 +1064,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "اضافه نمودن" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -627,13 +1123,6 @@ msgstr "یک OpenID اضافه نمایید" msgid "Delete an OpenID" msgstr "یک OpenID را حذف نمایید" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "حذف نمودن" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenIDها" @@ -641,7 +1130,7 @@ msgstr "OpenIDها" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -747,10 +1236,6 @@ msgstr "" msgid "You must provide a file." msgstr "شما باید فایلی ارايه بدهید." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "هورا!ثبت شد!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -774,30 +1259,26 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "آدرس ایمیل خود را تایید نمایید!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "خروج" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "تغییر تنظیمات حساب کاربری" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -805,32 +1286,32 @@ msgstr "تغییر تنظیمات حساب کاربری" msgid "Media processing panel" msgstr "پنل رسیدگی به رسانه ها" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "خارج شدن" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "اضافه کردن فایل" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "یک مجموعه‌ی جدید اضافه نمایید" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "فایل‌های چندرسانه‌ای جدیدا اضافه شده" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "اجازه" @@ -927,37 +1408,37 @@ msgstr "" msgid "Explore" msgstr "گشتن" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "سلام رفیق، به این سایت مدیا گوبلین خوش آمدید!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "این سایت با استفاده از سیستم آزاد MediaGoblin, an extraordinarily بنا نهاده شده است که به طور شگفت‌انگیزی از بهترین نرم‌افزارهای میزبانی فایل‌های چندرسانه‌ای است." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "برای این که بتوانید فایل چندرسانه‌ای خود را اضافه نمایید، نظر بدهید و خیلی موارد دیگر می‌توانید با حساب کاربری مدیاگوبلین خود وارد شوید." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "هنوز حساب کاربری ندارید؟ ساختنش آسان است!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -972,27 +1453,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "پیوست‌ها" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "پیوستی اضافه نمایید" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "انصراف" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1016,12 +1486,6 @@ msgstr "ایا مطمئن هستید که می‌خواهید حساب کارب msgid "Yes, really delete my account" msgstr "بله، لطفا اکانت من را حذف کن" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "به طور کامل حذف نمایید" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1053,6 +1517,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "در حال ویرایش نمایه %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1073,10 +1558,12 @@ msgstr "نظرات جدید" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1134,12 +1621,14 @@ msgid "Created" msgstr "ایجاد گردید" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1148,35 +1637,35 @@ msgstr "" msgid "PDF file" msgstr "فایل PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "جلو" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "بالا" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "کنار" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "حالت دانلود!" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "نوع فایل" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "ارتقاع مورد" @@ -1208,6 +1697,32 @@ msgstr "" msgid "Media in-processing" msgstr "فایل مورد نظر در حال پردازش می‌باشد" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1218,6 +1733,14 @@ msgstr "هیچ فایلی در حال پردازش نیست" msgid "These uploads failed to process:" msgstr "فایل‌های آپلود شده‌ی زیر نتوانستند پردزاش شوند:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1227,6 +1750,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "آخرین فایل‌هایی که با موفقیت آپلود شده‌اند" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1236,20 +1763,20 @@ msgstr "هنوز هیچ موردی برای پردازش وجود ندارد!" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1257,7 +1784,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1267,24 +1794,29 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1305,7 +1837,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1314,16 +1846,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1331,7 +1863,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1339,23 +1871,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1363,10 +1895,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "تایید ایمیل شما مورد نیاز است" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "نمایه %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "این کاربر هنوز پروفایل خودر ا پر ننموده است." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "ویرایش نمایه" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "گشتن در مجموعه‌ها" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1383,10 +2047,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -1408,6 +2068,26 @@ msgstr "یک مجموعه اضافه نمایید" msgid "Add your media" msgstr "فایل چندرسانه‌ای خود را اضافه نمایید" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "یک نظر بنویسید" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "به این مورد نظری بدهید" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "اضافه گردید" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1418,23 +2098,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s ایجاد شده توسط %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "ویرایش" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "آیا مطمئن هستید می‌خواهید %(media_title)s را از مجموعه‌ی %(collection_title)s حذف نمایید؟" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "حذف نمودن" @@ -1477,22 +2161,10 @@ msgstr "%(username)s's رسانه های" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "یک نظر بنویسید" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "به این مورد نظری بدهید" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "پیش‌نمایش نظر" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "اضافه گردید" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1541,52 +2213,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "نمایه %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "این‌جا مکانی است که شما می‌توانید به دیگران در مورد خود بگویید." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "ویرایش نمایه" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "این کاربر هنوز پروفایل خودر ا پر ننموده است." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "گشتن در مجموعه‌ها" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "نمایش تمامی رسانه های %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "این‌جا مکانی است که فایل‌های شما نمایش داده خواهد شد، اما به نظر می‌رسد که شما هنوز هیچ چیزی را اضافه ننمودید." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "به نظر می‌رسد که هنوز هیچ فایل چندرسانه‌ای وجود ندارد..." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "تایید ایمیل شما مورد نیاز است" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "تقریبا تمام شد! اکانت شما به فعال شدن نیاز دارد." @@ -1629,6 +2276,14 @@ msgstr "جمع شده در" msgid "Add to a collection" msgstr "به مجموعه اضافه کنید" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" @@ -1673,7 +2328,7 @@ msgstr "" msgid "Tagged with" msgstr "تگ شده با" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "قادر به خواندن تصویر نمی‌باشد." @@ -1745,10 +2400,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "من از پاک کردن این مورد کاملا مطمئن هستم" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "من مطمئن هستم که می‌خواهم این مورد را از این مجموعه حذف نمایم" @@ -1776,73 +2427,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "دلیل شما برای گزارش؟" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "شرمنده، امکان نظردهی غیرفعال گردیده است." -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "اووه، متن نظر شما خالی بود." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "نظر شما با موفقیت ارسال گردید!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "لطفا مقادیر ورودی خود را بررسی نموده و مجددا تلاش نمایید." -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "شما مجبور هستید که یک مجموعه را انتخاب یا اضافه نمایید" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" در حال حاضر در مجموعه‌ی \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" به مجموعه‌ی \"%s\" اضافه گردیده است" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "شما چندرسانه‌ای مورد نظر را پاک نمودید." -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "این چندرسانه‌ای حذف نگردیده است به دلیل آن‌که شما اطمینان خود را تایید ننمودید." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "شما در حال حذف نمودن فایل‌های کاربر دیگری است. با احتیاط عمل نمایید." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "شما فایل مورد نظر را از مجموعه حذف نموده‌اید." -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "فایل مورد نظر به دلیل عدم تایید اطمینان شما حذف نگردید." -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "شما در حال حذف نمودن موردی از مجموعه‌ی شخص دیگری هستید، لطفا با احتیاط عمل نمایید." -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "شما مجموعه‌ی \"%s\" را حذف نمودید" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo index f74ae97a..0b9f6558 100644 Binary files a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po index 022ef84c..18687944 100644 --- a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -13,20 +13,21 @@ # loic_le.ninan, 2014 # MarkTraceur , 2011 # maxineb , 2011 +# spechard , 2014 # joar , 2011 # Valentin Villenave , 2011 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2014-06-17 21:15+0000\n" -"Last-Translator: loic_le.ninan\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: French (http://www.transifex.com/projects/p/mediagoblin/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -59,12 +60,12 @@ msgstr "Ce champ nécessite une adresse e-mail." msgid "Sorry, a user with that name already exists." msgstr "Désolé, un autre utilisateur utilise déjà ce nom." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Désolé, un autre utilisateur se sert déjà de cette adresse e-mail." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "La clé de vérification ou l'identifiant de l'utilisateur est incorrect." @@ -90,174 +91,189 @@ msgstr "Votre adresse e-mail a déjà été vérifiée !" msgid "Resent your verification email." msgstr "E-mail de vérification renvoyé." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titre" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Description de ce média" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Vous pouvez utiliser\n \n Markdown pour la mise en page." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Mots-clés" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Séparez les mots-clés avec des virgules." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Référence" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "La référence doit être renseignée." -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Le texte utilisé dans l'URL de ce média. Vous n'avez généralement pas besoin de le modifier. " -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licence" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Biographie" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Site web" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Cette adresse contient des erreurs" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Me prévenir par e-mail lorsqu'on commente mes médias" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Activer les notifications d'évènements sur le site." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Préférence de licence" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Cette licence sera sélectionnée par défaut lors de vos ajouts de médias." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Le titre doit être renseigné" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Description de cette collection" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Le texte utilisé dans l'URL de cette collection. Vous n'avez généralement pas besoin de le modifier." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Ancien mot de passe" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Entrez votre ancien mot de passe pour prouver que vous êtes bien le propriétaire de ce compte." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nouveau mot de passe" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Nouvelle adresse e-mail" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Mot de passe" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Entrez votre mot de passe pour prouver que vous êtes bien le propriétaire de ce compte." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "Identifiant" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "Valeur" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Un média portant la même référence existe déjà pour cet utilisateur." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Vous vous apprêtez à modifier le média d'un autre utilisateur. Veuillez prendre garde." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Vous avez ajouté la pièce jointe “%s” !" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Vous ne pouvez modifier que votre propre profil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Vous vous apprêtez à modifier le profil d'un utilisateur. Veuillez prendre garde." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Les modifications du profil ont été enregistrées" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Les préférences du compte ont été enregistrées" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Vous devez confirmer la suppression de votre compte." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Vous possédez déjà une collection intitulée “%s” !" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Une collection portant la même référence existe déjà pour cet utilisateur." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Vous vous apprêtez à modifier la collection d'un autre utilisateur. Veuillez prendre garde." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Votre adresse e-mail a été vérifiée." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Mauvais mot de passe" @@ -288,6 +304,69 @@ msgstr "Saute \"%s\"; déjà défini.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Ancien lien trouvé pour \"%s\"; suppression.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "Pour plus d'informations sur la manière de lancer ce script\n(et comment formater le fichier csv), lisez la documentation\nde Mediagoblin sur l'upload en ligne de commande.\n " + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "Utilisateur à qui appartiennent ces médias" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "Chemin vers le fichier CSV contenant les métadata." + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "Désolé, il n'existe pas d'utilisateur '{username}'" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "Impossible trouver le fichier {path}, utiliser l'option -h pour de l'aide" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -295,11 +374,147 @@ msgid "" "domain." msgstr "Cookie CSRF non présent. Cela est vraisemblablement l’œuvre d'un bloqueur de cookies ou assimilé.
Veuillez vous assurer d'autoriser les cookies pour ce domaine." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Désolé, mais je ne prends pas en charge ce type de fichier :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Description" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Je suis sûr de vouloir supprimer ce média" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Youhou, c'est envoyé !" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "Vous avez effacé le blog." + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Ce média n'a pas été supprimé car vous n'avez pas coché la case de confirmation. " + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "Ajouter un article au blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "Éditer le blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "Effacer le blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Modifier" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Supprimer" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "Aucun article pour le moment" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Voulez-vous vraiment supprimer “%(title)s” ?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Annuler" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Supprimer définitivement" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "Créer/Éditer un blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Ajouter" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "Créer/Éditer un article du blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "Créer/Éditer un article du blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "Blog de %(blog_owner_name)s" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "Vue" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "Créer un blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv n'arrive pas à s'exécuter, vérifiez le fichier log" @@ -340,6 +555,57 @@ msgstr "Quelle action envisagez-vous pour ce signalement ? " msgid "What privileges will you take away?" msgstr "Quels privilèges souhaitez-vous révoquer ? " +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "à perpétuité" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Avertissement de" @@ -358,29 +624,264 @@ msgstr "Vous serez notifié pour les commentaires sur “%s” !" msgid "You will not receive notifications for comments on %s." msgstr "Vous ne serez pas notifié pour les commentaires sur “%s”." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Doit fournir un oauth_token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "Aucun jeton d'authentification n'a été trouvé dans la requête. " -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Désolé, la taille du fichier est trop importante. " -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Désolé, publier ce fichier vous fera dépasser votre limite d'ajout de médias. " -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Désolé, vous avez atteint votre limite d'ajout de médias. " +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "Primaire" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "Secondaire" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "Tertiaire" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "Comment cela fonctionne-t-il ?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "ATTENTION :" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Derniers médias" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -504,6 +1005,14 @@ msgstr "Localiser avec OpenStreetMap" msgid "Sign in to create an account!" msgstr "Identifiez-vous pour créer un compte ! " +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Autoriser" @@ -520,10 +1029,6 @@ msgstr "Nom" msgid "The name of the OAuth client" msgstr "Le nom du client OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Description" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -570,14 +1075,6 @@ msgstr "Connexions de clients OAuth" msgid "Your OAuth clients" msgstr "Vos clients OAuth" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Ajouter" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -637,13 +1134,6 @@ msgstr "Ajouter un OpenID" msgid "Delete an OpenID" msgstr "Supprimer un OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Supprimer" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID" @@ -651,7 +1141,7 @@ msgstr "OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -757,10 +1247,6 @@ msgstr "Vous pouvez utiliser \n%(user_name)s's account" msgstr "Compte de %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Modifier les préférences du compte" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -815,32 +1297,32 @@ msgstr "Modifier les préférences du compte" msgid "Media processing panel" msgstr "Panneau de traitement des médias" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Se déconnecter" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Ajouter des médias" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Créer une nouvelle collection" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Panneau de gestion des utilisateurs" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Panneau de gestion des signalements" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Tout derniers médias" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorisation" @@ -937,38 +1419,38 @@ msgstr "Conditions d'utilisation" msgid "Explore" msgstr "Explorer" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Bonjour, et bienvenue sur ce site MediaGoblin !" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Ce site utilise MediaGoblin, un logiciel de partage de média particulièrement génial." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Pour ajouter vos propres médias, commenter, et bien plus encore, vous pouvez vous identifier avec votre compte MediaGoblin. " -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Vous n'en avez pas ? C'est facile !" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n>Créer un compte sur ce site\nou" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\nInstaller MediaGoblin sur votre propre serveur" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -982,27 +1464,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Modification des pièces jointes de “%(media_title)s”" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Pièces jointes" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Ajouter une pièce jointe" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Annuler" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1026,12 +1497,6 @@ msgstr "Voulez-vous vraiment supprimer l'utilisateur “%(user_name)s” et tous msgid "Yes, really delete my account" msgstr "Oui, supprimer réellement mon compte" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Supprimer définitivement" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1063,6 +1528,27 @@ msgstr "Modification de “%(collection_title)s”" msgid "Editing %(username)s's profile" msgstr "Modification du profil de %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1083,10 +1569,12 @@ msgstr "Nouveaux commentaires" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1144,12 +1632,14 @@ msgid "Created" msgstr "Créé" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Image de “%(media_title)s”" @@ -1158,35 +1648,35 @@ msgstr "Image de “%(media_title)s”" msgid "PDF file" msgstr "Fichier PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspective" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "De face" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Haut" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Côté" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Télécharger le modèle" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Format de fichier" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Hauteur de l'objet" @@ -1218,6 +1708,32 @@ msgstr "Ici, vous pouvez suivre la progression des médias en cours de traitemen msgid "Media in-processing" msgstr "Médias en cours de traitement" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1228,6 +1744,14 @@ msgstr "Aucun média en cours de traitement" msgid "These uploads failed to process:" msgstr "Le traitement de ces fichiers a échoué :" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1237,6 +1761,10 @@ msgstr "Aucun échec !" msgid "Last 10 successful uploads" msgstr "10 derniers médias traités avec succès" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1246,20 +1774,20 @@ msgstr "Aucun média traité, pour le moment !" msgid "Sorry, no such report found." msgstr "Désolé, ce signalement n'a pas été trouvé. " -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Retourner au Panneau des signalements" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Signalement" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Commentaire signalé" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1267,7 +1795,7 @@ msgid "" " " msgstr "\n ❖ Média signalé par %(user_name)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1277,24 +1805,29 @@ msgid "" " " msgstr "\nLE CONTENU PUBLIE PAR\n %(user_name)s\nA ETE SUPPRIME" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Résoudre" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Résoudre ce signalement" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Statut" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "RESOLU" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "Vous ne pouvez pas agir contre un administrateur" @@ -1315,7 +1848,7 @@ msgid "Active Reports Filed" msgstr "Signalements actifs" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Utilisateur mis en cause" @@ -1324,16 +1857,16 @@ msgid "When Reported" msgstr "Signalé le" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Signalé par" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Raison" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1341,7 +1874,7 @@ msgid "" " " msgstr "\n Signalement de commentaire #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1349,23 +1882,23 @@ msgid "" " " msgstr "\n Signalement de média #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "Aucun signalement en attente de résolution n'a été trouvé. " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Signalements résolus" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Résolu" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Action réalisée" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1373,10 +1906,142 @@ msgid "" " " msgstr "\n Signalement résolu #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "Aucun signalement résolu n'a été trouvé. " +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Vérification d'e-mail nécessaire" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profil de %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Cet utilisateur n'a pas (encore) renseigné son profil." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Modifier le profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Parcourir les collections" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "Oui" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "Non" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1393,10 +2058,6 @@ msgstr "\n Ici vous pouvez superviser les utilisateurs afin de prendre des me msgid "Active Users" msgstr "Utilisateurs actifs" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Inscrit le" @@ -1418,6 +2079,26 @@ msgstr "Ajouter une collection" msgid "Add your media" msgstr "Ajoutez votre média" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Ajouter un commentaire" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Ajouter ce commentaire" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Ajouté" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1428,23 +2109,27 @@ msgstr "“%(collection_title)s” (collection de %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "“%(collection_title)s” de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Modifier" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Voulez-vous vraiment supprimer “%(title)s” ?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Voulez-vous vraiment retirer “%(media_title)s” de “%(collection_title)s” ?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Retirer" @@ -1487,22 +2172,10 @@ msgstr "Médias de %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Parcourir les médias de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Ajouter un commentaire" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Ajouter ce commentaire" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Prévisualisation du commentaire" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Ajouté" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1551,52 +2224,27 @@ msgstr "\n ❖ Publié par Markdown for formatting." msgstr "Vous pouvez utiliser Markdown pour le formatage." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Je suis sûr de vouloir supprimer ce média" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Je suis sûr de vouloir retirer cet élément de la collection" @@ -1786,73 +2438,69 @@ msgstr "Vous pouvez utiliser\n, 2013 +# GenghisKhan , 2013-2014 # GenghisKhan , 2012 # GenghisKhan , 2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/mediagoblin/language/he/)\n" "MIME-Version: 1.0\n" @@ -84,7 +84,11 @@ msgstr "שלח שוב את דוא״ל האימות שלך." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "כותרת" @@ -202,11 +206,11 @@ msgstr "הזן את הסיסמה שלך כדי להוכיח כי אתה הבעל #: mediagoblin/edit/forms.py:155 msgid "Identifier" -msgstr "" +msgstr "מזהה" #: mediagoblin/edit/forms.py:156 msgid "Value" -msgstr "" +msgstr "ערך" #: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." @@ -304,7 +308,7 @@ msgstr "" #: mediagoblin/gmg_commands/batchaddmedia.py:43 msgid "Path to the csv file containing metadata information." -msgstr "" +msgstr "נתיב אל קובץ csv אשר מכיל מידע-מוצמד." #: mediagoblin/gmg_commands/batchaddmedia.py:48 msgid "Don't process eagerly, pass off to celery" @@ -312,7 +316,7 @@ msgstr "" #: mediagoblin/gmg_commands/batchaddmedia.py:63 msgid "Sorry, no user by username '{username}' exists" -msgstr "" +msgstr "לצערנו, לא קיים משתמש העונה על שם משתמש '{username}'" #: mediagoblin/gmg_commands/batchaddmedia.py:74 msgid "File at {path} not found, use -h flag for help" @@ -351,7 +355,7 @@ msgstr "" #: mediagoblin/gmg_commands/batchaddmedia.py:168 msgid "{files_uploaded} out of {files_attempted} files successfully submitted" -msgstr "" +msgstr "{files_uploaded} מתוך {files_attempted} קבצים נשלחו בהצלחה" #: mediagoblin/meddleware/csrf.py:134 msgid "" @@ -363,7 +367,7 @@ msgstr "עוגיית CSRF לא נוכחת. זה קרוב לוודאי נובע #: mediagoblin/media_types/__init__.py:79 #: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" -msgstr "לצערנו, אינני תומך בטיפוס קובץ זה :(" +msgstr "לצערנו, איננו תומכים בטיפוס קובץ זה :(" #: mediagoblin/media_types/blog/forms.py:26 #: mediagoblin/media_types/blog/forms.py:35 @@ -385,7 +389,7 @@ msgstr "" #: mediagoblin/media_types/blog/views.py:320 msgid "You deleted the Blog." -msgstr "" +msgstr "מחקת את הבלוג." #: mediagoblin/media_types/blog/views.py:326 #: mediagoblin/user_pages/views.py:329 @@ -394,23 +398,23 @@ msgstr "המדיה לא נמחקה מכיוון שלא סימנת שאתה בט #: mediagoblin/media_types/blog/views.py:333 msgid "You are about to delete another user's Blog. Proceed with caution." -msgstr "" +msgstr "בחרת למחוק בלוג של משתמש אחר. המשך בזהירות." #: mediagoblin/media_types/blog/views.py:344 msgid "The blog was not deleted because you have no rights." -msgstr "" +msgstr "הבלוג לא נמחק מהסיבה כי אין לך זכויות." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 msgid "Add Blog Post" -msgstr "" +msgstr "הוסף פרסום בלוג" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 msgid "Edit Blog" -msgstr "" +msgstr "ערוך בלוג" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 msgid "Delete Blog" -msgstr "" +msgstr "מחק בלוג" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 @@ -436,7 +440,7 @@ msgstr "" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 msgid " No blog post yet. " -msgstr "" +msgstr "אין עוד פרסום בלוג." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 @@ -465,7 +469,7 @@ msgstr "מחק לצמיתות" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 msgid "Create/Edit a Blog" -msgstr "" +msgstr "צור/ערוך בלוג" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 #: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 @@ -478,16 +482,16 @@ msgstr "הוסף" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 msgid "Create/Edit a blog post." -msgstr "" +msgstr "צור/ערוך פרסום בלוג." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 msgid "Create/Edit a Blog Post." -msgstr "" +msgstr "צור/ערוך פרסום בלוג." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 #, python-format msgid "%(blog_owner_name)s's Blog" -msgstr "" +msgstr "הבלוג של %(blog_owner_name)s" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 msgid "View" @@ -495,11 +499,11 @@ msgstr "" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 msgid "Create a Blog" -msgstr "" +msgstr "צור בלוג" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 msgid " Blog Dashboard " -msgstr "" +msgstr "מסד נתונים בלוג" #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" @@ -541,6 +545,57 @@ msgstr "באיזו פעולה תנקוט כדי לפתור את דיווח זה? msgid "What privileges will you take away?" msgstr "אילו פריבילגיות אתה תסיר?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "לצמיתה" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "אזהרה מאת" @@ -563,7 +618,7 @@ msgstr "אתה לא תקבל התראות עבור הודעות על %s." msgid "Must provide an oauth_token." msgstr "יש לספק oauth_token." -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "לא נמצאה אות בקשה." @@ -588,27 +643,27 @@ msgstr "" #: mediagoblin/plugins/archivalook/tools.py:132 msgid "Primary" -msgstr "" +msgstr "ראשוני" #: mediagoblin/plugins/archivalook/tools.py:133 msgid "Secondary" -msgstr "" +msgstr "שניוני" #: mediagoblin/plugins/archivalook/tools.py:134 msgid "Tertiary" -msgstr "" +msgstr "שלישוני" #: mediagoblin/plugins/archivalook/tools.py:135 msgid "-----------{display_type}-Features---------------------------\n" -msgstr "" +msgstr "-----------{display_type}-תכונות---------------------------\n" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 msgid "How does this work?" -msgstr "" +msgstr "כיצד זה עובד?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 msgid "How to feature media?" -msgstr "" +msgstr "כיצד לאפיין מדיה?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 msgid "" @@ -625,7 +680,7 @@ msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 msgid "Is there another way to manage featured media?" -msgstr "" +msgstr "האם יש דרך אחרת לנהל מדיה מובלטת?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 msgid "" @@ -633,7 +688,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -651,7 +706,7 @@ msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 msgid "What is a Primary Feature? What is a Secondary Feature?" -msgstr "" +msgstr "מה זה מובלט ראשוני? מה זה מובלט שניוני?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 msgid "" @@ -686,7 +741,7 @@ msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 msgid "How to unfeature a piece of media?" -msgstr "" +msgstr "כיצד לבטל הבלטת חתיכה של מדיה?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 msgid "" @@ -694,11 +749,11 @@ msgid "" " Unfeature a media by removing its line from the above textarea and then\n" " pressing the Submit Query button.\n" " " -msgstr "" +msgstr "\nבטל הבלטת מדיה על ידי הסרת שורה מתוך שדה הטקסט לעיל ואז\nלחץ על לחצן שלח שאילתא." #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 msgid "CAUTION:" -msgstr "" +msgstr "זהירות:" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 msgid "" @@ -713,41 +768,42 @@ msgstr "" msgid "" "\n" "Feature Media " -msgstr "" +msgstr "\n הבלט מדיה " #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" -msgstr "" +msgstr "הבלט" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 msgid "" "\n" "Unfeature Media " -msgstr "" +msgstr "\n בטל הבלטת מדיה " #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 msgid "Unfeature" -msgstr "" +msgstr "בטל הבלטה" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 msgid "" "\n" "Promote Feature " -msgstr "" +msgstr "\n קדם מובלטת " #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 msgid "Promote" -msgstr "" +msgstr "קדם" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 msgid "" "\n" "Demote Feature " -msgstr "" +msgstr "\n הנמך מובלטת " #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 msgid "Demote" -msgstr "" +msgstr "הנמך" #: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 #: mediagoblin/templates/mediagoblin/root.html:32 @@ -756,7 +812,7 @@ msgstr "המדיות האחרונות ביותר" #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 msgid "Nothing is currently featured." -msgstr "" +msgstr "שום דבר אינו אשר מובלט." #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 msgid "" @@ -791,14 +847,14 @@ msgid "" "Sorry, this audio will not work because\n" "\tyour web browser does not support HTML5\n" "\taudio." -msgstr "" +msgstr "לצערנו, אודיו זה לא יעבוד מכיוון\n\tשדפדפן הרשת שלך לא תומך אודיו\n\tשל HTML5." #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 msgid "" "You can get a modern web browser that\n" "\tcan play the audio at
\n" "\t http://getfirefox.com!" -msgstr "" +msgstr "באפשרותך להשיג דפדפן רשת מודרני אשר כן מסוגל\n\tלנגן את אודיו זה בכתובת \n\thttp://getfirefox.com!" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 @@ -806,7 +862,7 @@ msgid "" "Sorry, this video will not work because\n" " your web browser does not support HTML5 \n" " video." -msgstr "" +msgstr "לצערנו, וידאו זה לא יעבוד מכיוון\nשדפדפן הרשת שלך לא תומך וידאו\nשל HTML5." #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 @@ -814,7 +870,7 @@ msgid "" "You can get a modern web browser that \n" " can play this video at \n" " http://getfirefox.com!" -msgstr "" +msgstr "באפשרותך להשיג דפדפן רשת מודרני אשר כן מסוגל\nלנגן את וידאו זה בכתובת \nhttp://getfirefox.com!" #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 @@ -941,11 +997,11 @@ msgstr "התחבר כדי ליצור חשבון!" #: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 msgid "Metadata" -msgstr "" +msgstr "מידע-מוצמד" #: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 msgid "Edit Metadata" -msgstr "" +msgstr "ערוך מידע-מוצמד" #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" @@ -1188,7 +1244,7 @@ msgstr "אוסף \"%s\" התווסף!" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." -msgstr "אתה חסום." +msgstr "הינך אסור." #: mediagoblin/templates/mediagoblin/banned.html:24 #: mediagoblin/templates/mediagoblin/error.html:24 @@ -1204,10 +1260,6 @@ msgstr "נאסרת" msgid "until %(until_when)s" msgstr "עד %(until_when)s" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "לצמיתה" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "אמת את הדוא״ל שלך!" @@ -1249,6 +1301,10 @@ msgstr "הוספת מדיה" msgid "Create new collection" msgstr "צור אוסף חדש" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "לוח ניהול משתמש" @@ -1378,13 +1434,13 @@ msgid "" "\n" " >Create an account at this site\n" " or" -msgstr "" +msgstr "\n>צור חשבון באתר זה\nאו" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" " Set up MediaGoblin on your own server" -msgstr "" +msgstr "\n התקן את MediaGoblin על השרת שלך" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -1465,23 +1521,23 @@ msgstr "עריכת דיוקן עבור %(username)s" #: mediagoblin/templates/mediagoblin/edit/metadata.html:67 #, python-format msgid "Metadata for \"%(media_name)s\"" -msgstr "" +msgstr "מידע-מוצמד עבור \"%(media_name)s\"" #: mediagoblin/templates/mediagoblin/edit/metadata.html:72 msgid "MetaData" -msgstr "" +msgstr "מידע-מוצמד" #: mediagoblin/templates/mediagoblin/edit/metadata.html:80 msgid "Add new Row" -msgstr "" +msgstr "הוסף שורה חדשה" #: mediagoblin/templates/mediagoblin/edit/metadata.html:83 msgid "Update Metadata" -msgstr "" +msgstr "עדכן מידע-מוצמד" #: mediagoblin/templates/mediagoblin/edit/metadata.html:87 msgid "Clear empty Rows" -msgstr "" +msgstr "טהר שורות ריקות" #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format @@ -1642,6 +1698,32 @@ msgstr "כאן באפשרותך לעקוב אחר המצב של המדיה שמ msgid "Media in-processing" msgstr "מדיה באמצע-עיבוד" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "מזהה" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1652,6 +1734,14 @@ msgstr "אין מדיה באמצע-עיבוד" msgid "These uploads failed to process:" msgstr "העלאות אלה נכשלו להתעבד:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1661,6 +1751,10 @@ msgstr "אין רשומות כושלות!" msgid "Last 10 successful uploads" msgstr "10 העלאות מוצלחות אחרונות" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1668,7 +1762,7 @@ msgstr "אין רישומים מעובדים, עדיין!" #: mediagoblin/templates/mediagoblin/moderation/report.html:27 msgid "Sorry, no such report found." -msgstr "לצערנו, לא נמצא דיווח כזה." +msgstr "לצערנו, דיווח נתון לא נמצא." #: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" @@ -1701,6 +1795,10 @@ msgid "" " " msgstr "\n תוכן מאת\n %(user_name)s\n נמחק\n " +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1805,15 +1903,15 @@ msgstr "לא נמצאו דיווחים סגורים." #: mediagoblin/templates/mediagoblin/moderation/user.html:23 #, python-format msgid "User: %(username)s" -msgstr "" +msgstr "משתמש: %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:42 msgid "Return to Users Panel" -msgstr "" +msgstr "חזור אל לוח משתמשים" #: mediagoblin/templates/mediagoblin/moderation/user.html:49 msgid "Sorry, no such user found." -msgstr "" +msgstr "לצערנו, משתמש נתון לא נמצא." #: mediagoblin/templates/mediagoblin/moderation/user.html:53 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 @@ -1825,7 +1923,7 @@ msgstr "נדרש אימות דוא״ל" msgid "" "Someone has registered an account with this username, but it still has\n" " to be activated." -msgstr "" +msgstr "מישהו רשם חשבון עם שם משתמש זה, אך עדיין\nעליו לעבור אקטיבציה." #: mediagoblin/templates/mediagoblin/moderation/user.html:66 #: mediagoblin/templates/mediagoblin/user_pages/user.html:34 @@ -1838,11 +1936,11 @@ msgstr "הדיוקן של %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:68 #, python-format msgid "BANNED until %(expiration_date)s" -msgstr "" +msgstr "אסור עד %(expiration_date)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:72 msgid "Banned Indefinitely" -msgstr "" +msgstr "אסור לצמיתה" #: mediagoblin/templates/mediagoblin/moderation/user.html:78 #: mediagoblin/templates/mediagoblin/user_pages/user.html:62 @@ -1863,52 +1961,52 @@ msgstr "דפדוף באוספים" #: mediagoblin/templates/mediagoblin/moderation/user.html:105 #, python-format msgid "Active Reports on %(username)s" -msgstr "" +msgstr "דיווחים פעילים על %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:112 msgid "Report ID" -msgstr "" +msgstr "מזהה דיווח" #: mediagoblin/templates/mediagoblin/moderation/user.html:113 msgid "Reported Content" -msgstr "" +msgstr "תוכן מדווח" #: mediagoblin/templates/mediagoblin/moderation/user.html:114 msgid "Description of Report" -msgstr "" +msgstr "תיאור של דיווח" #: mediagoblin/templates/mediagoblin/moderation/user.html:122 #, python-format msgid "Report #%(report_number)s" -msgstr "" +msgstr "דיווח מס׳ %(report_number)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:129 msgid "Reported Comment" -msgstr "" +msgstr "תגובה מדווחת" #: mediagoblin/templates/mediagoblin/moderation/user.html:131 msgid "Reported Media Entry" -msgstr "" +msgstr "ערך מדיה מדווח" #: mediagoblin/templates/mediagoblin/moderation/user.html:142 #, python-format msgid "No active reports filed on %(username)s" -msgstr "" +msgstr "לא מולאו דיווחים פעילים על %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:150 #, python-format msgid "All reports on %(username)s" -msgstr "" +msgstr "כל הדיווחים על %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:155 #, python-format msgid "All reports that %(username)s has filed" -msgstr "" +msgstr "כל הדיווחים אשר %(username)s מילא" #: mediagoblin/templates/mediagoblin/moderation/user.html:164 #, python-format msgid "%(username)s's Privileges" -msgstr "" +msgstr "הפריבילגיות של %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:172 msgid "Privilege" @@ -1920,19 +2018,19 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/user.html:180 msgid "Yes" -msgstr "" +msgstr "כן" #: mediagoblin/templates/mediagoblin/moderation/user.html:182 msgid "No" -msgstr "" +msgstr "לא" #: mediagoblin/templates/mediagoblin/moderation/user.html:213 msgid "Ban User" -msgstr "" +msgstr "אסור משתמש" #: mediagoblin/templates/mediagoblin/moderation/user.html:218 msgid "UnBan User" -msgstr "" +msgstr "בטל איסור משתמש" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 @@ -1950,10 +2048,6 @@ msgstr "\n כאן באפשרותך לחפש משתמשים כדי לנקוט msgid "Active Users" msgstr "משתמשים פעילים" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "מזהה" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "מתי הצטרף" @@ -1978,7 +2072,7 @@ msgstr "הוספת המדיה שלך" #: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 #, python-format msgid "❖ Blog post by %(username)s" -msgstr "" +msgstr "❖ פרסום בלוג מאת %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 #: mediagoblin/templates/mediagoblin/user_pages/media.html:104 @@ -2008,17 +2102,17 @@ msgstr "%(collection_title)s מאת %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 #, python-format msgid "Delete collection %(collection_title)s" -msgstr "" +msgstr "מחק אוסף %(collection_title)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format msgid "Really delete collection: %(title)s?" -msgstr "" +msgstr "באמת למחוק אוסף: %(title)s?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 #, python-format msgid "Remove %(media_title)s from %(collection_title)s" -msgstr "" +msgstr "הסר %(media_title)s מתוך %(collection_title)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format @@ -2183,6 +2277,14 @@ msgstr "נאספה בתוך" msgid "Add to a collection" msgstr "הוסף אל אוסף" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" @@ -2256,7 +2358,7 @@ msgid "" "Sorry Dave, I can't let you do that!

You have tried to perform a " "function that you are not allowed to. Have you been trying to delete all " "user accounts again?" -msgstr "צר לי דייב, אני לא יכול להתיר לך לעשות זאת!

ניסית לבצע פעולה שאינך מורשה לעשות. האם ניסית למחוק את כל החשבונות של המשתמשים שוב?" +msgstr "צר לי דייב, אני לא יכול להתיר לך לעשות זאת!

ניסית לבצע פעולה אשר אינך מורשה לעשות. האם שוב ניסית למחוק את כל חשבונות המשתמש?" #: mediagoblin/tools/response.py:72 msgid "" @@ -2328,7 +2430,7 @@ msgstr "סיבת דיווח" #: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." -msgstr "מצטערים, תגובות מנוטרלות." +msgstr "לצערנו, תגובות מנוטרלות." #: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo index bb2b6c5b..7780fb9a 100644 Binary files a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po index 8e9e248f..308fb757 100644 --- a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/mediagoblin/language/ia/)\n" "MIME-Version: 1.0\n" @@ -83,7 +83,11 @@ msgstr "" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titulo" @@ -540,6 +544,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -562,7 +617,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -632,7 +687,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -715,6 +770,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1203,10 +1259,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" @@ -1248,6 +1300,10 @@ msgstr "" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1641,6 +1697,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1651,6 +1733,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1660,6 +1750,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1700,6 +1794,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1949,10 +2047,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2182,6 +2276,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo index 6eb16f16..a860af00 100644 Binary files a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po index 5b48886f..65f18667 100644 --- a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Icelandic (Iceland) (http://www.transifex.com/projects/p/mediagoblin/language/is_IS/)\n" "MIME-Version: 1.0\n" @@ -85,7 +85,11 @@ msgstr "Endursendi staðfestingartölvupóst" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titill" @@ -542,6 +546,57 @@ msgstr "Hvað ætlarðu að gera til að vinna úr tilkynningunni?" msgid "What privileges will you take away?" msgstr "Hvaða réttindi ætlarðu að taka burt?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "ótilgreint" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Viðvörun frá" @@ -564,7 +619,7 @@ msgstr "Þú færð tilkynningar þegar einhver skrifar athugasemd við „%s“ msgid "Must provide an oauth_token." msgstr "Þú verður að gefa upp OAuth tóka (oauth_token)." -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "Engin beiðni fannst." @@ -634,7 +689,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -717,6 +772,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1205,10 +1261,6 @@ msgstr "Stjórnandi hefur bannað þig" msgid "until %(until_when)s" msgstr "þangað til %(until_when)s" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "ótilgreint" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Staðfestu netfangið þitt!" @@ -1250,6 +1302,10 @@ msgstr "Senda inn efni" msgid "Create new collection" msgstr "Búa til nýtt albúm" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Notendastýring" @@ -1643,6 +1699,32 @@ msgstr "Hér getur þú fylgst með margmiðlunarefni sem verið er að vinna á msgid "Media in-processing" msgstr "Efni í vinnslu" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "Auðkenni" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1653,6 +1735,14 @@ msgstr "Ekkert efni í vinnslu" msgid "These uploads failed to process:" msgstr "Það mistókst að fullvinna þessar innsendingar:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1662,6 +1752,10 @@ msgstr "Engar bilaðar innsendingar!" msgid "Last 10 successful uploads" msgstr "Síðustu 10 árangursríku innsendingarnar" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1702,6 +1796,10 @@ msgid "" " " msgstr "\n EFNI SEM\n %(user_name)s\n SETTI INN VAR EYTT\n " +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1951,10 +2049,6 @@ msgstr "\n Hér getur þú skoðað notendur til að gera refsigaðgerðir ga msgid "Active Users" msgstr "Virkir notendur" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "Auðkenni" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Skráði sig" @@ -2184,6 +2278,14 @@ msgstr "Sett í albúm" msgid "Add to a collection" msgstr "Setja í albúm" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo index 9abe7043..cea8135f 100644 Binary files a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po index 9c31489d..63e2f7a6 100644 --- a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Italian (http://www.transifex.com/projects/p/mediagoblin/language/it/)\n" "MIME-Version: 1.0\n" @@ -88,7 +88,11 @@ msgstr "Email di verifica rispedita." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titolo" @@ -545,6 +549,57 @@ msgstr "Quali azioni intraprenderai per risolvere il problema?" msgid "What privileges will you take away?" msgstr "Quali privilegi toglierai?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "indefinitamente" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Avvertimento da parte di" @@ -567,7 +622,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "Devi specificare un oauth_token." -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -637,7 +692,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -720,6 +775,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1208,10 +1264,6 @@ msgstr "Sei stato bannato" msgid "until %(until_when)s" msgstr "fino al %(until_when)s" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "indefinitamente" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Verifica la tua email!" @@ -1253,6 +1305,10 @@ msgstr "Aggiungi file multimediali" msgid "Create new collection" msgstr "Crea una nuova raccolta" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Pannello di gestione degli utenti" @@ -1646,6 +1702,32 @@ msgstr "Qui puoi seguire lo stato dei file multimediali in fase di elaborazione msgid "Media in-processing" msgstr "File multimediali in elaborazione" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1656,6 +1738,14 @@ msgstr "Nessun file multimediale in elaborazione" msgid "These uploads failed to process:" msgstr "L'elaborazione di questi file caricati è fallita:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1665,6 +1755,10 @@ msgstr "Nessuna elaborazione fallita!" msgid "Last 10 successful uploads" msgstr "Ultimi 10 caricamenti riusciti" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1705,6 +1799,10 @@ msgid "" " " msgstr "\nIL CONTENUTO DI\n %(user_name)s\nÈ STATO ELIMINATO\n " +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1954,10 +2052,6 @@ msgstr "\nQui puoi cercare gli utenti per intraprendere azioni punitive nei loro msgid "Active Users" msgstr "Utenti Attivi" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2187,6 +2281,14 @@ msgstr "Inserito in" msgid "Add to a collection" msgstr "Aggiungi a una raccolta" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo index 69fc6ea0..8fbf01a7 100644 Binary files a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po index 99ed0cd7..e603aad8 100644 --- a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2014-05-23 22:31+0000\n" -"Last-Translator: ayleph \n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/mediagoblin/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -50,12 +50,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "申し訳ありませんが、その名前を持つユーザーがすでに存在しています。" -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -81,174 +81,189 @@ msgstr "" msgid "Resent your verification email." msgstr "検証メールを再送しました。" -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "タイトル" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "タグ" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "スラグ" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "スラグは必要です。" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "" -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "自己紹介" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "URL" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "旧パスワード" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "新パスワード" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "パスワード" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "" -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "そのスラグを持つエントリは、このユーザーは既に存在します。" -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "あなたは、他のユーザーのメディアを編集しています。ご注意ください。" -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "あなたは、他のユーザーのプロファイルを編集しています。ご注意ください。" -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "" -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "" @@ -279,6 +294,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -286,11 +364,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "投稿終了!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "編集" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "削除" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "キャンセル" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "追加" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -331,6 +545,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -349,29 +614,264 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -495,6 +995,14 @@ msgstr "" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "" @@ -511,10 +1019,6 @@ msgstr "" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -561,14 +1065,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "追加" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -628,13 +1124,6 @@ msgstr "" msgid "Delete an OpenID" msgstr "" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "削除" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -642,7 +1131,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -748,10 +1237,6 @@ msgstr "" msgid "You must provide a file." msgstr "ファイルを提供する必要があります。" -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "投稿終了!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -775,30 +1260,26 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "ログアウト" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -806,30 +1287,30 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "ログアウト" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:151 -msgid "User management panel" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 -msgid "Report management panel" +#: mediagoblin/templates/mediagoblin/base.html:169 +msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" +#: mediagoblin/templates/mediagoblin/base.html:173 +msgid "Report management panel" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 @@ -928,37 +1409,37 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "こんにちは、このMediaGoblinサイトへようこそ!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" +" >Create an account at this site\n" +" or" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -973,27 +1454,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "キャンセル" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1017,12 +1487,6 @@ msgstr "" msgid "Yes, really delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1054,6 +1518,27 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "%(username)sさんのプロフィールを編集中" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1074,10 +1559,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1135,12 +1622,14 @@ msgid "Created" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "" @@ -1149,35 +1638,35 @@ msgstr "" msgid "PDF file" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "透視図" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "正面図" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "上面図" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "側面図" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "" @@ -1209,6 +1698,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1219,6 +1734,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1228,6 +1751,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1237,20 +1764,20 @@ msgstr "" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1258,7 +1785,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1268,24 +1795,29 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1306,7 +1838,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1315,16 +1847,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1332,7 +1864,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1340,23 +1872,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1364,10 +1896,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)sさんのプロフィール" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "プロフィールを編集" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1384,10 +2048,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -1409,6 +2069,26 @@ msgstr "" msgid "Add your media" msgstr "" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1419,23 +2099,27 @@ msgstr "" msgid "%(collection_title)s by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "編集" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "" @@ -1478,22 +2162,10 @@ msgstr "%(username)sさんのコンテンツ" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1542,52 +2214,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "%(username)sさんのプロフィール" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "プロフィールを編集" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "%(username)sさんのコンテンツをすべて見る" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "" @@ -1630,6 +2277,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" @@ -1674,7 +2329,7 @@ msgstr "" msgid "Tagged with" msgstr "" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "" @@ -1746,10 +2401,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "" @@ -1777,73 +2428,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "" - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo index 3072e9a5..167abda3 100644 Binary files a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po index 921b9a17..d0955712 100644 --- a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/mediagoblin/language/ko_KR/)\n" "MIME-Version: 1.0\n" @@ -82,7 +82,11 @@ msgstr "인증 메일을 다시 보내 주세요." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "제목" @@ -539,6 +543,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -561,7 +616,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -631,7 +686,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -714,6 +769,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1202,10 +1258,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "메일을 확인하세요!" @@ -1247,6 +1299,10 @@ msgstr "미디어 추가" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1640,6 +1696,32 @@ msgstr "" msgid "Media in-processing" msgstr "미디어 작업중..." +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1650,6 +1732,14 @@ msgstr "작업중인 미디어가 없습니다." msgid "These uploads failed to process:" msgstr "다음 작업을 하는 중에 업로드에 실패하였습니다.:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1659,6 +1749,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "지난 10개의 업로드 목록" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1699,6 +1793,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1948,10 +2046,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2181,6 +2275,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo index 9f632e90..cf665ddb 100644 Binary files a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po index 8c0a10a5..b572b6fe 100644 --- a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/mediagoblin/language/nl/)\n" "MIME-Version: 1.0\n" @@ -83,7 +83,11 @@ msgstr "Verificatie e-mail opnieuw opgestuurd." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" @@ -540,6 +544,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -562,7 +617,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -632,7 +687,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -715,6 +770,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1203,10 +1259,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Verifieer je e-mailadres!" @@ -1248,6 +1300,10 @@ msgstr "Voeg media toe" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1641,6 +1697,32 @@ msgstr "" msgid "Media in-processing" msgstr "Media te verwerken" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1651,6 +1733,14 @@ msgstr "Geen media om te verwerken" msgid "These uploads failed to process:" msgstr "Deze toevoegingen konden niet verwerkt worden:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1660,6 +1750,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1700,6 +1794,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1949,10 +2047,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2182,6 +2276,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo index 74ae4401..3ea00983 100644 Binary files a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po index 06700746..5ca2141e 100644 --- a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/mediagoblin/language/nn_NO/)\n" "MIME-Version: 1.0\n" @@ -83,7 +83,11 @@ msgstr "Stadfestingsepost sendt." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Tittel" @@ -540,6 +544,57 @@ msgstr "Kva handling vil du ta for å løysa rapporteringa?" msgid "What privileges will you take away?" msgstr "Kva privilegium vil du ta vekk?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "for alltid" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Åtvaring frå" @@ -562,7 +617,7 @@ msgstr "Du vil ikkje få notifikasjonar for innspel på %s." msgid "Must provide an oauth_token." msgstr "Treng oauth_token (must provide oath_token)." -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "Noko gjekk gale :( (no request token found)." @@ -632,7 +687,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -715,6 +770,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1203,10 +1259,6 @@ msgstr "Du har blitt bannlyst." msgid "until %(until_when)s" msgstr "til %(until_when)s" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "for alltid" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Stadfest epostadressa di." @@ -1248,6 +1300,10 @@ msgstr "Legg til verk" msgid "Create new collection" msgstr "Lag ny samling" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Brukaradministrasjon" @@ -1641,6 +1697,32 @@ msgstr "Hald oppsyn med statusen for prosessering av verka dine her." msgid "Media in-processing" msgstr "Verk under prosessesering" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1651,6 +1733,14 @@ msgstr "Ingen verk vert prosessert" msgid "These uploads failed to process:" msgstr "Klarte ikkje prosessera desse opplasta filene:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1660,6 +1750,10 @@ msgstr "Ingen feila filer." msgid "Last 10 successful uploads" msgstr "Dei siste ti opplastningane" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1700,6 +1794,10 @@ msgid "" " " msgstr "\n INNHALD AV\n %(user_name)s\n ER SLETTA\n " +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1949,10 +2047,6 @@ msgstr "\nHer kan du slå opp brukarar og straffa dei." msgid "Active Users" msgstr "Aktive brukarar" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Vart med" @@ -2182,6 +2276,14 @@ msgstr "I samling" msgid "Add to a collection" msgstr "Putt i samling" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo index 11369e8d..22233a7d 100644 Binary files a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po index fa19b45e..eaca379f 100644 --- a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Polish (http://www.transifex.com/projects/p/mediagoblin/language/pl/)\n" "MIME-Version: 1.0\n" @@ -83,7 +83,11 @@ msgstr "Wyślij ponownie e-mail weryfikujący." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Tytuł" @@ -540,6 +544,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -562,7 +617,7 @@ msgstr "Nie będziesz otrzymywać komentarzy do %s." msgid "Must provide an oauth_token." msgstr "Musisz podać oauth_token." -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "Nie znaleziono żetonu żądania." @@ -632,7 +687,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -715,6 +770,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1203,10 +1259,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Zweryfikuj swój adres e-mail!" @@ -1248,6 +1300,10 @@ msgstr "Dodaj media" msgid "Create new collection" msgstr "Utwórz nową kolekcję" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1641,6 +1697,32 @@ msgstr "Tu możesz śledzić stan przetwarzania mediów na tym serwerze." msgid "Media in-processing" msgstr "Przetwarzane media" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1651,6 +1733,14 @@ msgstr "Żadne media nie są obecnie przetwarzane" msgid "These uploads failed to process:" msgstr "NIe udało się przesłać tych plików:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1660,6 +1750,10 @@ msgstr "Brak nieprzetworzonych wpisów!" msgid "Last 10 successful uploads" msgstr "Ostatnie 10 udanych wysyłek" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1700,6 +1794,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1949,10 +2047,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2182,6 +2276,14 @@ msgstr "Znajduje się w kolekcji " msgid "Add to a collection" msgstr "Dodaj do kolekcji" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo index b32ddcb5..1356739e 100644 Binary files a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po index 31f9abff..16edfa50 100644 --- a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2014-01-07 09:26+0000\n" -"Last-Translator: Rafael Ferreira \n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mediagoblin/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -53,12 +53,12 @@ msgstr "Este campo requer um endereço de email." msgid "Sorry, a user with that name already exists." msgstr "Desculpe, um usuário com este nome já existe." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Desculpe, um usuário com esse endereço de email já está cadastrado." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "A chave de verificação ou ID de usuário estão incorretos." @@ -84,174 +84,189 @@ msgstr "Você já verificou seu email!" msgid "Resent your verification email." msgstr "O email de verificação foi enviado novamente." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Título" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Descrição desse trabalho" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Você pode usar\n\nMarkdown para formatação." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Etiquetas" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Separe as etiquetas com vírgulas." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Arquivo" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "O arquivo não pode estar vazio" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "A parte do título do endereço dessa mídia. Geralmente você não precisa mudar isso." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licença" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Biografia" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Website" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Este endereço contém erros" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Me enviar um email quando outras pessoas comentarem minhas mídias" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Habilitar notificações instantâneas sobre eventos." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Licença preferida" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Esta será sua licença padrão nos formulários de envio." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "O título não pode ficar vazio" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descrição desta coleção" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "A parte do título do endereço dessa coleção. Geralmente você não precisa mudar isso." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Senha antiga" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Digite sua senha antiga para provar que esta conta é sua." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nova senha" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Novo endereço de email" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Senha" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Digite sua senha para provar que esta conta é sua." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "Identificador" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "Valor" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Uma entrada com esse arquivo já existe para esse usuário." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Você está editando a mídia de outro usuário. Tenha cuidado." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Você adicionou o anexo %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Você só pode editar o seu próprio perfil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Você está editando um perfil do usuário. Tenha cuidado." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "As mudanças no perfil foram salvas" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "As mudanças na conta foram salvas" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Você precisa confirmar a exclusão da sua conta." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Você já tem uma coleção chamada \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Já existe uma coleção com este arquivo para este usuário." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Você está editando a coleção de um outro usuário. Prossiga com cuidado." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Seu endereço de email foi verificado." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Senha errada" @@ -282,6 +297,69 @@ msgstr "Pulando \"%s\"; já configurado.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Link antigo encontrado para \"%s\"; removendo.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "Para mais informação sobre como executar esse script\nde forma adequada (e como formatar o arquivo csv de\nmetadados), leia a página de documentação sobre envio\npela linha de comando\n" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "Nome do usuário a quem essas mídias pertence" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "Caminho do arquivo csv contendo informação de metadados." + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "Não processar avidamente, passar para celeridade" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "Desculpe, não há usuário com nome de usuário '{username}'" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "Arquivo em {path} não encontrado, use a opção -h para ajuda" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "Erro com a mídia '{media_id}' valor '{error_path}': {error_msg}\nMetadados não foram enviados." + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "FALHA: Arquivo local {filename} não pôde ser acessado.\n{filename} não será enviado." + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "Enviado com sucesso o {filename}!\nCertifique-se de olhar no Painel de Processamento de Mídia no seu site para\nter certeza que ele foi enviado com sucesso." + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "FALHA: Esse arquivo é maior do que os limites de envio para este site." + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "FALHA: Esse arquivo vai deixar este usuário acima do seu limite de envio." + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "FALHA: Este usuário já está além do seu limite de envio." + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "{files_uploaded} de {files_attempted} arquivos enviados com sucesso" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -289,11 +367,147 @@ msgid "" "domain." msgstr "Cookie CSFR não está presente. Isso é provavelmente o resultado de um bloqueador de cookies ou algo do tipo.
Tenha certeza de autorizar este domínio a configurar cookies." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Desculpe, não tenho suporte a este tipo de arquivo :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Descrição" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Eu tenho certeza de que quero excluir isso" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Eba! Enviado!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "Uhull! O Blogspot editado foi enviado" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "Você excluiu o Blog." + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "A mídia não foi excluída porque você não marcou que tinha certeza." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "Você irá excluir o Blog de outro usuário. Tenha cuidado." + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "O blog não foi excluído porque você não tem permissões." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "Adicionar post de blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "Editar Blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "Excluir Blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Editar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Excluir" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr " Ir para a visão de lista " + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "Nenhum post de blog ainda." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Realmente excluir %(title)s ?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Cancelar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Excluir permanentemente" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "Criar/Editar um Blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Adicionar" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "Criar/Editar um post de blog." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "Criar/Editar um Post de Blog." + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "Blog do %(blog_owner_name)s" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "Visão" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "Criar um Blog" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "Painel de Blog" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv falhando na execução, verifique o arquivo de log" @@ -334,6 +548,57 @@ msgstr "Qual ação você tomará para resolver o relatório?" msgid "What privileges will you take away?" msgstr "Que privilégios você vai retirar?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "indefinidamente" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Aviso de" @@ -352,29 +617,264 @@ msgstr "Você se inscreveu nos comentários de %s!" msgid "You will not receive notifications for comments on %s." msgstr "Você não irá receber notificações de comentários em %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Deve fornecer um oauth_token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "Nenhum token de requisição encontrado." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "Desculpe, o tamanho arquivo é grande demais." -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "Desculpe, o envio desse arquivo vai deixar você acima do seu limita de envio." -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "Desculpe, você atingiu seu limite de envios." +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "Insira a URL para a mídia ser fornecida" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "primário" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "Secundário" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "Terciário" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "-----------Recursos-{display_type}---------------------------\n" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "Como isso funciona?" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Mídias mais recentes" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -498,6 +998,14 @@ msgstr "Ver no OpenStreetMap" msgid "Sign in to create an account!" msgstr "Registre-se para criar uma conta!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Permitir" @@ -514,10 +1022,6 @@ msgstr "Nome" msgid "The name of the OAuth client" msgstr "O nome do cliente OAuth" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Descrição" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -564,14 +1068,6 @@ msgstr "Conexões de cliente OAuth" msgid "Your OAuth clients" msgstr "Seus clientes OAuth" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Adicionar" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -631,13 +1127,6 @@ msgstr "Adicionar um OpenID" msgid "Delete an OpenID" msgstr "Deletar um OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Excluir" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID" @@ -645,7 +1134,7 @@ msgstr "OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -751,10 +1240,6 @@ msgstr "Você pode usar\n%(user_name)s's account" msgstr "Conta de %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Mudar configurações da conta" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -809,32 +1290,32 @@ msgstr "Mudar configurações da conta" msgid "Media processing panel" msgstr "Painel de processamento de mídia" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Sair" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Adicionar mídia" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Criar nova coleção" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Painel de gerenciamento de usuário" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "Painel de gerenciamento de relatório" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Mídias mais recentes" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorização" @@ -931,38 +1412,38 @@ msgstr "Termos de Serviço" msgid "Explore" msgstr "Explorar" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Olá, bem-vindo a este site MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Este site roda o MediaGoblin, um programa excelente para hospedar, gerenciar e compartilhar mídia." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Para adicionar sua própria mídia, publicar comentários e mais outras coisas, você pode entrar com sua conta MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr " Ainda não tem uma conta? É facil!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n>Crie uma conta neste site\nou" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\nConfigure MediaGoblin em seu próprio servidor" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -976,27 +1457,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Editando os anexos de %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Anexos" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Adicionar anexo" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Cancelar" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1020,12 +1490,6 @@ msgstr "Realmente excluir o usuário '%(user_name)s' e todas as mídias e coment msgid "Yes, really delete my account" msgstr "Sim, realmente excluir minha conta" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Excluir permanentemente" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1057,6 +1521,27 @@ msgstr "Editando %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Editando perfil de %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1077,10 +1562,12 @@ msgstr "Novos comentários" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1138,12 +1625,14 @@ msgid "Created" msgstr "Criado" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Imagem para %(media_title)s" @@ -1152,35 +1641,35 @@ msgstr "Imagem para %(media_title)s" msgid "PDF file" msgstr "Arquivo PDF" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspectiva" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Frente" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Cima" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Lado" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Baixar o modelo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Formato de Arquivo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Altura do Objeto" @@ -1212,6 +1701,32 @@ msgstr "Aqui você pode rastrear o estado da mídia sendo processada nessa inst msgid "Media in-processing" msgstr "Mídia em processamento" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1222,6 +1737,14 @@ msgstr "Nenhuma mídia em processamento" msgid "These uploads failed to process:" msgstr "Esses envios não foram processados:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1231,6 +1754,10 @@ msgstr "Nenhuma entrada falhou!" msgid "Last 10 successful uploads" msgstr "Últimos 10 envios bem sucedidos" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1240,20 +1767,20 @@ msgstr "Ainda não há entradas processadas!" msgid "Sorry, no such report found." msgstr "Desculpe, relatório inexistente." -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "Retornar para o painel de relatórios" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "Relatar" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "Comentário relatado" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1261,7 +1788,7 @@ msgid "" " " msgstr "\n ❖ Mídia relatada por %(user_name)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1271,24 +1798,29 @@ msgid "" " " msgstr "\n CONTEÚDO DE\n %(user_name)s\n FOI EXCLUÍDO\n " -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "Resolver" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "Resolver esse relatório" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "Status" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "RESOLVIDO" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "Você não pode aplicar uma ação contra um administrador" @@ -1309,7 +1841,7 @@ msgid "Active Reports Filed" msgstr "Relatórios ativos" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Ofensor" @@ -1318,16 +1850,16 @@ msgid "When Reported" msgstr "Relatado quando" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "Relatador por" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Motivo" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1335,7 +1867,7 @@ msgid "" " " msgstr "\n Relatório de Comentário #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1343,23 +1875,23 @@ msgid "" " " msgstr "\n Relatório de Mídia #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "Nenhum relatório aberto encontrado." -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "Relatórios fechados" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "Resolvido" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "Ação tomada" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1367,10 +1899,142 @@ msgid "" " " msgstr "\n Relatórios Fechados #%(report_id)s\n " -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "Nenhum relatório fechado encontrado." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Verificação de email necessária" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Perfil de %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Esse usuário não preencheu seu perfil (ainda)." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Editar perfil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Ver coleções" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1387,10 +2051,6 @@ msgstr "\n Aqui você pode procurar usuários para aplicar ações punitivas msgid "Active Users" msgstr "Usuários Ativos" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Quando entrou" @@ -1412,6 +2072,26 @@ msgstr "Adicionar uma coleção" msgid "Add your media" msgstr "Adicionar sua mídia" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Adicionar um comentário" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Adicionar este comentário" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Adicionado há" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1422,23 +2102,27 @@ msgstr "%(collection_title)s (Coleção de %(username)s)" msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Editar" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Realmente excluir %(title)s ?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Realmente remover %(media_title)s de %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Remover" @@ -1481,22 +2165,10 @@ msgstr "Mídia de %(username)s " msgid "❖ Browsing media by %(username)s" msgstr "❖ Vendo mídia de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Adicionar um comentário" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Adicionar este comentário" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Pré-visualização do comentário" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Adicionado há" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1545,52 +2217,27 @@ msgstr "\n❖ Publicado por Markdown for formatting." msgstr "Você pode usar Markdown para formatação." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Eu tenho certeza de que quero excluir isso" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Tenho certeza que quero remover este item da coleção" @@ -1780,73 +2431,69 @@ msgstr "Você pode usar\n\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/mediagoblin/language/ro/)\n" "MIME-Version: 1.0\n" @@ -83,7 +83,11 @@ msgstr "E-mail-ul de verificare a fost retrimis." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titlu" @@ -540,6 +544,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -562,7 +617,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -632,7 +687,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -715,6 +770,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1203,10 +1259,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Verifică adresa de e-mail!" @@ -1248,6 +1300,10 @@ msgstr "Trimite fișier" msgid "Create new collection" msgstr "Creează colecție nouă" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1641,6 +1697,32 @@ msgstr "Aici poți urmări starea fișierelor aflate în curs de procesare pe ac msgid "Media in-processing" msgstr "Fișiere în curs de procesare" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1651,6 +1733,14 @@ msgstr "Niciun fișier în curs de procesare" msgid "These uploads failed to process:" msgstr "Aceste fișiere nu au putut fi procesate:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1660,6 +1750,10 @@ msgstr "Niciun entry cu erori!" msgid "Last 10 successful uploads" msgstr "Ultimele 10 upload-uri reușite" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1700,6 +1794,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1949,10 +2047,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2182,6 +2276,14 @@ msgstr "Din colecția" msgid "Add to a collection" msgstr "Adaugă la o colecție" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo index 900cccb1..a6670e85 100644 Binary files a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po index 77c03cab..495fe307 100644 --- a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -10,14 +10,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2014-04-27 19:14+0000\n" -"Last-Translator: aleksejrs \n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Russian (http://www.transifex.com/projects/p/mediagoblin/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: ru\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" @@ -50,12 +50,12 @@ msgstr "Это поле — для адреса электронной почт msgid "Sorry, a user with that name already exists." msgstr "Извините, пользователь с этим именем уже зарегистрирован." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Сожалеем, но на этот адрес электронной почты уже зарегистрирована другая учётная запись." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "" @@ -81,174 +81,189 @@ msgstr "Вы уже потвердили свой адрес электронн msgid "Resent your verification email." msgstr "Отправить заново запрос на подтверждение по е-мэйл." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Название" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Описание этого произведения" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" "
\n" " Markdown for formatting." msgstr "Для разметки можете использовать язык\n \n Markdown." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Метки" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "(через запятую)" -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Отличительная часть адреса" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Отличительная часть адреса необходима" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Часть адреса этого файла, производная от его названия. Её обычно не требуется изменять." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Лицензия" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Биография" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Сайт" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Этот адрес содержит ошибки" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Уведомлять меня по e-mail о комментариях к моим файлам" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "" -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Предпочитаемая лицензия" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Она будет лицензией по умолчанию для ваших загрузок" -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Название не может быть пустым" -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Описание этой коллекции" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Отличительная часть адреса этой коллекции, основанная на названии. Обычно не нужно её изменять." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Старый пароль" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Введите свой старый пароль в качестве доказательства, что это ваша учётная запись." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Новый пароль" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Новый адрес электронной почты" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Пароль" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Введите свой пароль в качестве доказательства, что это ваша учётная запись." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "У этого пользователя уже есть файл с такой отличительной частью адреса." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Вы редактируете файлы другого пользователя. Будьте осторожны." -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Вы добавили сопутствующий файл %s!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Вы можете редактировать только свой собственный профиль." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Вы редактируете профиль пользователя. Будьте осторожны." -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Изменения профиля сохранены" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Настройки учётной записи записаны" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Вам нужно подтвердить, что вы хотите удалить свою учётную запись." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "У вас уже есть коллекция с названием «%s»!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "У этого пользователя уже есть коллекция с такой отличительной частью адреса." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Вы редактируете коллекцию другого пользователя. Будьте осторожны." -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Ваш адрес электронной почты удостоверен." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Неправильный пароль" @@ -279,6 +294,69 @@ msgstr "" msgid "Old link found for \"%s\"; removing.\n" msgstr "" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -286,11 +364,147 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Увы, я не поддерживаю этот тип файлов :(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Описание" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Я уверен, что хочу удалить это" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Ура! Файл загружен!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Файл не удалён, так как вы не подтвердили свою уверенность галочкой." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Изменить" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Удалить" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Удалить %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Отмена" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Удалить безвозвратно" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Добавить" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" @@ -331,6 +545,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "Каких полномочий лишить?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "на неопределённый срок" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Предупреждение от" @@ -349,29 +614,264 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Самые новые файлы" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -495,6 +995,14 @@ msgstr "Посмотреть на OpenStreetMap" msgid "Sign in to create an account!" msgstr "" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Разрешить" @@ -511,10 +1019,6 @@ msgstr "Имя" msgid "The name of the OAuth client" msgstr "" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Описание" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -561,14 +1065,6 @@ msgstr "" msgid "Your OAuth clients" msgstr "" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Добавить" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -628,13 +1124,6 @@ msgstr "Добавить OpenID" msgid "Delete an OpenID" msgstr "Удалить OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Удалить" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "" @@ -642,7 +1131,7 @@ msgstr "" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -748,10 +1237,6 @@ msgstr "Для разметки можете использовать язык\n msgid "You must provide a file." msgstr "Вы должны загрузить файл." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Ура! Файл загружен!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -775,30 +1260,26 @@ msgstr "Вас заблокировали" msgid "until %(until_when)s" msgstr "до %(until_when)s" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "на неопределённый срок" - -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Подтвердите ваш адрес электронной почты!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "завершение сеанса" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "Учётная запись %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Изменить настройки учётной записи" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -806,32 +1287,32 @@ msgstr "Изменить настройки учётной записи" msgid "Media processing panel" msgstr "Панель обработки файлов" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Завершение сеанса" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Добавить файлы" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Создать новую коллекцию" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Самые новые файлы" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "" @@ -928,37 +1409,37 @@ msgstr "Условия использования" msgid "Explore" msgstr "Смотреть" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Привет! Добро пожаловать на наш MediaGoblin’овый сайт!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Этот сайт работает на MediaGoblin, необыкновенно замечательном ПО для хостинга мультимедийных файлов." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Для добавления собственных файлов, комментирования и т. п. вы можете представиться с помощью вашей MediaGoblin’овой учётной записи." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "У вас её ещё нет? Не проблема!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n >Создайте учётную запись на этом сайте\n или" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" +" Set up MediaGoblin on your own server" msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 @@ -973,27 +1454,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Добавление сопутствующего файла для %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Сопутствующие файлы" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Добавить сопутствующий файл" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Отмена" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1017,12 +1487,6 @@ msgstr "На самом деле удалить аккаунт «%(user_name)s» msgid "Yes, really delete my account" msgstr "Да, на самом деле удалить мою учётную запись" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Удалить безвозвратно" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1054,6 +1518,27 @@ msgstr "Редактирование %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Редактирование профиля %(username)s" +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1074,10 +1559,12 @@ msgstr "Новые комментарии" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1135,12 +1622,14 @@ msgid "Created" msgstr "Создан" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Изображение «%(media_title)s»" @@ -1149,35 +1638,35 @@ msgstr "Изображение «%(media_title)s»" msgid "PDF file" msgstr "PDF-файл" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Перспектива" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Спереди" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Сверху" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Сбоку" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Скачать модель" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Формат файла" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Высота объекта" @@ -1209,6 +1698,32 @@ msgstr "Здесь вы можете следить за состоянием о msgid "Media in-processing" msgstr "Обработка файлов в процессе" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1219,6 +1734,14 @@ msgstr "Нету файлов для обработки" msgid "These uploads failed to process:" msgstr "Обработка этих файлов вызвала ошибку:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1228,6 +1751,10 @@ msgstr "Неудавшихся задач нет!" msgid "Last 10 successful uploads" msgstr "Последние 10 удавшихся загрузок" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1237,20 +1764,20 @@ msgstr "Выполненных задач пока нет!" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1258,7 +1785,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1268,24 +1795,29 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1306,7 +1838,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "" @@ -1315,16 +1847,16 @@ msgid "When Reported" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1332,7 +1864,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1340,23 +1872,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1364,10 +1896,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Нужно подтверждение почтового адреса" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Профиль пользователя %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Этот пользователь не заполнил свой профайл (пока)." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Редактировать профиль" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Смотреть коллекции" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1384,10 +2048,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -1409,6 +2069,26 @@ msgstr "Добавление коллекции" msgid "Add your media" msgstr "Добавление ваших файлов" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Добавить комментарий" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Добавить этот комментарий" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Добавлен" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1419,23 +2099,27 @@ msgstr "%(collection_title)s (коллекция пользователя %(user msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s пользователя %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Изменить" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Удалить %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "В самом деле исключить %(media_title)s из %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Исключить" @@ -1478,22 +2162,10 @@ msgstr "Файлы пользователя %(username) msgid "❖ Browsing media by %(username)s" msgstr "❖ Просмотр файлов пользователя %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Добавить комментарий" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Добавить этот комментарий" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Предварительный просмотр комментария" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Добавлен" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1542,52 +2214,27 @@ msgstr "\n ❖ Опубликовано Markdown for formatting." msgstr "Поддерживается разметка на языке Markdown." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Я уверен, что хочу удалить это" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Я уверен, что хочу исключить этот файл из коллекции" @@ -1777,73 +2428,69 @@ msgstr "" msgid "Reason for Reporting" msgstr "" -#: mediagoblin/user_pages/views.py:178 +#: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." msgstr "Сожалеем: возможность комментирования отключена." -#: mediagoblin/user_pages/views.py:183 +#: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." msgstr "Ой, ваш комментарий был пуст." -#: mediagoblin/user_pages/views.py:189 +#: mediagoblin/user_pages/views.py:199 msgid "Your comment has been posted!" msgstr "Ваш комментарий размещён!" -#: mediagoblin/user_pages/views.py:225 +#: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." msgstr "Пожалуйста, проверьте введённое и попробуйте ещё раз." -#: mediagoblin/user_pages/views.py:265 +#: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" msgstr "Необходимо выбрать или добавить коллекцию" -#: mediagoblin/user_pages/views.py:276 +#: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "«%s» — уже в коллекции «%s»" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "«%s» добавлено в коллекцию «%s»" -#: mediagoblin/user_pages/views.py:307 +#: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." msgstr "Вы удалили файл." -#: mediagoblin/user_pages/views.py:319 -msgid "The media was not deleted because you didn't check that you were sure." -msgstr "Файл не удалён, так как вы не подтвердили свою уверенность галочкой." - -#: mediagoblin/user_pages/views.py:326 +#: mediagoblin/user_pages/views.py:336 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Вы на пороге удаления файла другого пользователя. Будьте осторожны." -#: mediagoblin/user_pages/views.py:399 +#: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." msgstr "Вы исключили файл из коллекции." -#: mediagoblin/user_pages/views.py:403 +#: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." msgstr "Файл не исключён из коллекции, так как вы не подтвердили своё намерение отметкой." -#: mediagoblin/user_pages/views.py:411 +#: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Вы на пороге исключения файла из коллекции другого пользователя. Будьте осторожны." -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Вы удалили коллекцию «%s»" -#: mediagoblin/user_pages/views.py:450 +#: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "Коллекция не удалена, так как вы не подтвердили своё намерение отметкой." -#: mediagoblin/user_pages/views.py:458 +#: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Вы на пороге удаления коллекции другого пользователя. Будьте осторожны." diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo index 51b57ef0..dbf8b729 100644 Binary files a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po index 81fee12b..034b2c82 100644 --- a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po @@ -1,5 +1,5 @@ # Translations template for PROJECT. -# Copyright (C) 2013 ORGANIZATION +# Copyright (C) 2014 ORGANIZATION # This file is distributed under the same license as the PROJECT project. # # Translators: @@ -13,14 +13,14 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2013-12-03 13:23-0600\n" -"PO-Revision-Date: 2014-01-09 18:22+0000\n" -"Last-Translator: martin\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Slovak (http://www.transifex.com/projects/p/mediagoblin/language/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 0.9.6\n" +"Generated-By: Babel 1.3\n" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" @@ -53,12 +53,12 @@ msgstr "Toto pole vyžaduje e-mailovú adresu." msgid "Sorry, a user with that name already exists." msgstr "Prepáč, rovnaké používateľské meno už existuje." -#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:402 +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 msgid "Sorry, a user with that email address already exists." msgstr "Prepáč, rovnaká e-mailová adresa už bola použitá na vytvorenie účtu." -#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:358 -#: mediagoblin/edit/views.py:379 mediagoblin/plugins/basic_auth/views.py:110 +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." msgstr "Verifikačný kľúč alebo používateľské ID nie je správne." @@ -84,174 +84,189 @@ msgstr "Už máš overenú e-mailovú adresu!" msgid "Resent your verification email." msgstr "Opätovne zaslať overovací e-mail." -#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:87 -#: mediagoblin/submit/forms.py:37 mediagoblin/submit/forms.py:61 +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titulok" -#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:40 +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 msgid "Description of this work" msgstr "Popis výtvoru" -#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 -#: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Môžeš využiť\n \n Markdown pre formátovanie príspevku." -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:45 +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 msgid "Tags" msgstr "Štítky" -#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:47 +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 msgid "Separate tags by commas." msgstr "Oddeľ štítky pomocou čiarky." -#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:95 +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 msgid "Slug" msgstr "Unikátna časť adresy" -#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:96 +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 msgid "The slug can't be empty" msgstr "Unikátna časť adresy nesmie byť prázdna" -#: mediagoblin/edit/forms.py:42 +#: mediagoblin/edit/forms.py:44 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Titulná časť adresy daného média. Zmena poľa nepovinná." -#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licencia" -#: mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:54 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "Website" msgstr "Webstránka" -#: mediagoblin/edit/forms.py:60 +#: mediagoblin/edit/forms.py:62 msgid "This address contains errors" msgstr "Daná adresa obsahuje chybu" -#: mediagoblin/edit/forms.py:65 +#: mediagoblin/edit/forms.py:67 msgid "Email me when others comment on my media" msgstr "Zašli mi e-mail keď ostatní okomentujú môj výtvor" -#: mediagoblin/edit/forms.py:67 +#: mediagoblin/edit/forms.py:69 msgid "Enable insite notifications about events." msgstr "Povoliť notifikácie ohľadom udalostí na stránke." -#: mediagoblin/edit/forms.py:69 +#: mediagoblin/edit/forms.py:71 msgid "License preference" msgstr "Preferencia licencie" -#: mediagoblin/edit/forms.py:75 +#: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." msgstr "Nasledovná licencia bude použitá ako východzia pre všetky tvoje výtvory." -#: mediagoblin/edit/forms.py:88 +#: mediagoblin/edit/forms.py:90 msgid "The title can't be empty" msgstr "Titulok nesmie byť prázdny." -#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:64 +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Popis danej kolekcie" -#: mediagoblin/edit/forms.py:97 +#: mediagoblin/edit/forms.py:99 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Titulná časť adresy danej kolekcie. Zmena poľa nepovinná." -#: mediagoblin/edit/forms.py:104 mediagoblin/plugins/basic_auth/forms.py:68 +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 msgid "Old password" msgstr "Staré heslo" -#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:70 +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 msgid "Enter your old password to prove you own this account." msgstr "Vlož svoje staré heslo na dôkaz toho, že vlastníš daný účet." -#: mediagoblin/edit/forms.py:109 mediagoblin/plugins/basic_auth/forms.py:73 +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 msgid "New password" msgstr "Nové heslo" -#: mediagoblin/edit/forms.py:117 +#: mediagoblin/edit/forms.py:119 msgid "New email address" msgstr "Nová e-mailová adresa" -#: mediagoblin/edit/forms.py:121 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:110 +#: mediagoblin/tests/test_util.py:116 msgid "Password" msgstr "Heslo" -#: mediagoblin/edit/forms.py:123 +#: mediagoblin/edit/forms.py:125 msgid "Enter your password to prove you own this account." msgstr "Vlož svoje heslo pre overenie pravosti účtu." -#: mediagoblin/edit/views.py:73 +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." msgstr "Položku s rovnakou unikátnou časťou adresy už niekde máš." -#: mediagoblin/edit/views.py:91 +#: mediagoblin/edit/views.py:96 msgid "You are editing another user's media. Proceed with caution." msgstr "Upravuješ výtvory iného používateľa. Pristupuj zodpovedne. " -#: mediagoblin/edit/views.py:161 +#: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" msgstr "Príloha %s pridaná!" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." msgstr "Môžeš upravovať iba svoj vlastný profil." -#: mediagoblin/edit/views.py:194 +#: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." msgstr "Upravuješ profil iného používateľa. Pristupuj zodpovedne. " -#: mediagoblin/edit/views.py:210 +#: mediagoblin/edit/views.py:215 msgid "Profile changes saved" msgstr "Zmeny v profile uložené" -#: mediagoblin/edit/views.py:243 +#: mediagoblin/edit/views.py:248 msgid "Account settings saved" msgstr "Nastavenia účtu uložené" -#: mediagoblin/edit/views.py:277 +#: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." msgstr "Potrebuješ potvrdiť odstránenie svojho účtu." -#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:132 -#: mediagoblin/user_pages/views.py:242 +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Už máš kolekciu nazvanú ako \"%s\"!" -#: mediagoblin/edit/views.py:317 +#: mediagoblin/edit/views.py:322 msgid "A collection with that slug already exists for this user." msgstr "Kolekcia s týmto štítkom už máš." -#: mediagoblin/edit/views.py:332 +#: mediagoblin/edit/views.py:337 msgid "You are editing another user's collection. Proceed with caution." msgstr "Upravuješ kolekciu iného používateľa. Pristupuj zodpovedne. " -#: mediagoblin/edit/views.py:373 +#: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." msgstr "Tvoja e-mailová adresa bola verifikovaná." -#: mediagoblin/edit/views.py:408 mediagoblin/plugins/basic_auth/views.py:200 +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" msgstr "Nesprávne heslo" @@ -282,6 +297,69 @@ msgstr "Preskakujem \"%s\"; opakovane nastavené.\n" msgid "Old link found for \"%s\"; removing.\n" msgstr "Nájdený starý odkaz pre \"%s\"; odstraňujem.\n" +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + #: mediagoblin/meddleware/csrf.py:134 msgid "" "CSRF cookie not present. This is most likely the result of a cookie blocker " @@ -289,11 +367,147 @@ msgid "" "domain." msgstr "CSRF \"cookie\" neprítomný. Toto vidíš najskôr ako výsledok blokovania \"cookie\" súborov a pod.
Uisti sa, že máš povolené ukladanie \"cookies\" pre danú doménu." -#: mediagoblin/media_types/__init__.py:78 -#: mediagoblin/media_types/__init__.py:100 +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Prepáč, nepodporujem tento typ súborov =(" +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "Popis" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "Jednoznačne to chcem odstrániť" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "Skvelé! Pridané!" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "Výtvor nebol odstránený, nakoľko chýbalo tvoje potvrdenie." + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "Upraviť" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "Odstrániť" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "Skutočne odstrániť %(title)s?" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "Zrušiť" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "Odstráňiť permanentne" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "Pridať" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "beh unoconv zlyhal, preskúmajte log záznam" @@ -334,6 +548,57 @@ msgstr "Čo spravíš pre vyriešenie daného reportu?" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "nekonečne" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -352,29 +617,264 @@ msgstr "Úspešný zápis odberu komentárov pre %s!" msgid "You will not receive notifications for comments on %s." msgstr "Nebudeš dostávať notifikácie ohľadom komentárov pre %s." -#: mediagoblin/oauth/views.py:239 +#: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." msgstr "Nutnosť poskytnúť OAuth token." -#: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "Požadovaný token nenájdený." -#: mediagoblin/plugins/api/views.py:75 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." msgstr "" -#: mediagoblin/plugins/api/views.py:78 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." msgstr "" -#: mediagoblin/plugins/api/views.py:82 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." msgstr "" +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "Aktuálne výtvory" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 @@ -498,6 +998,14 @@ msgstr "Zobraziť na OpenStreetMap" msgid "Sign in to create an account!" msgstr "Prihlás sa pre vytvorenie účtu!" +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" msgstr "Povoliť" @@ -514,10 +1022,6 @@ msgstr "Meno" msgid "The name of the OAuth client" msgstr "Meno v rámci OAuth klienta" -#: mediagoblin/plugins/oauth/forms.py:36 -msgid "Description" -msgstr "Popis" - #: mediagoblin/plugins/oauth/forms.py:38 msgid "" "This will be visible to users allowing your\n" @@ -564,14 +1068,6 @@ msgstr "OAuth klientské spojenia" msgid "Your OAuth clients" msgstr "Tvoji autorizovaní OAuth klienti" -#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 -#: mediagoblin/templates/mediagoblin/submit/collection.html:30 -#: mediagoblin/templates/mediagoblin/submit/start.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 -msgid "Add" -msgstr "Pridať" - #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 @@ -631,13 +1127,6 @@ msgstr "Pridať OpenID" msgid "Delete an OpenID" msgstr "Odstrániť OpenID" -#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 -#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Odstrániť" - #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" msgstr "OpenID" @@ -645,7 +1134,7 @@ msgstr "OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 -#: mediagoblin/templates/mediagoblin/base.html:106 +#: mediagoblin/templates/mediagoblin/base.html:122 #: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:47 @@ -751,10 +1240,6 @@ msgstr "" msgid "You must provide a file." msgstr "Musíš poskytnúť súbor." -#: mediagoblin/submit/views.py:69 -msgid "Woohoo! Submitted!" -msgstr "Skvelé! Pridané!" - #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" @@ -778,30 +1263,26 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "nekonečne" - -#: mediagoblin/templates/mediagoblin/base.html:81 +#: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Over si e-mailovú adresu!" -#: mediagoblin/templates/mediagoblin/base.html:88 -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" msgstr "odhlásiť sa" -#: mediagoblin/templates/mediagoblin/base.html:115 +#: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" msgstr "Účet používateľa %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" msgstr "Zmeniť nastavenia účtu" -#: mediagoblin/templates/mediagoblin/base.html:126 -#: mediagoblin/templates/mediagoblin/base.html:147 +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -809,32 +1290,32 @@ msgstr "Zmeniť nastavenia účtu" msgid "Media processing panel" msgstr "Sekcia spracovania výtvorov" -#: mediagoblin/templates/mediagoblin/base.html:135 +#: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" msgstr "Odhlásiť sa" -#: mediagoblin/templates/mediagoblin/base.html:138 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:112 +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 msgid "Add media" msgstr "Pridať výtvor" -#: mediagoblin/templates/mediagoblin/base.html:141 +#: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Vytvoriť novú kolekciu" -#: mediagoblin/templates/mediagoblin/base.html:151 +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" msgstr "" -#: mediagoblin/templates/mediagoblin/root.html:32 -msgid "Most recent media" -msgstr "Aktuálne výtvory" - #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" msgstr "Autorizácia" @@ -931,38 +1412,38 @@ msgstr "" msgid "Explore" msgstr "Preskúmať" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Ahoj, vitaj na tejto MediaGoblin stránke!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" "This site is running MediaGoblin, an " "extraordinarily great piece of media hosting software." msgstr "Táto stránka používa MediaGoblin, výnimočne skvelý kus softvéru na hostovanie médií." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:26 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." msgstr "Pre pridanie vlastných výtvorov, komentárov a viac.. sa prihlás zo svojim MediaGoblin účtom." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" msgstr "Har du ikke en endnu? Det er let!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 msgid "" "\n" -" >Create an account at this site\n" -" or" -msgstr "\n >Vytvoriť účet na tejto stránke\n alebo" +" >Create an account at this site\n" +" or" +msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" -" Set up MediaGoblin on your own server" -msgstr "\n Založiť MediaGoblin na vlastnom serveri" +" Set up MediaGoblin on your own server" +msgstr "" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -976,27 +1457,16 @@ msgid "Editing attachments for %(media_title)s" msgstr "Úprava príloh pre %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:191 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:207 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" msgstr "Prílohy" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:213 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" msgstr "Pridať prílohu" -#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit.html:41 -#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 -msgid "Cancel" -msgstr "Zrušiť" - #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 @@ -1020,12 +1490,6 @@ msgstr "Skutočne odstrániť používateľa '%(user_name)s' a všetky pridruže msgid "Yes, really delete my account" msgstr "Áno, skutočne odstrániť môj účet" -#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:48 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 -msgid "Delete permanently" -msgstr "Odstráňiť permanentne" - #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format @@ -1057,6 +1521,27 @@ msgstr "Úprava %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Úprava profilu, ktorý vlastní %(username)s " +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format msgid "" @@ -1077,10 +1562,12 @@ msgstr "Nové komentáre" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/moderation/report.html:55 -#: mediagoblin/templates/mediagoblin/moderation/report.html:117 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:139 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:168 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" @@ -1138,12 +1625,14 @@ msgid "Created" msgstr "Vytvorené" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:59 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 #, python-format msgid "Image for %(media_title)s" msgstr "Obrázok pre %(media_title)s" @@ -1152,35 +1641,35 @@ msgstr "Obrázok pre %(media_title)s" msgid "PDF file" msgstr "PDF súbor" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" msgstr "Perspektíva" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" msgstr "Čelo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" msgstr "Vrch" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" msgstr "Strana" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" msgstr "Stiahnuť model" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" msgstr "Súborový formát" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" msgstr "Výška objektu" @@ -1212,6 +1701,32 @@ msgstr "Tu môžeš sledovať stav médií spracovávaných na danej inštancii. msgid "Media in-processing" msgstr "Výtvory sa spracúvajú" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1222,6 +1737,14 @@ msgstr "Žiadne výtvory v procese spracovania" msgid "These uploads failed to process:" msgstr "Nasledovné nahratia neprešli spracovaním:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1231,6 +1754,10 @@ msgstr "Žiadne zlyhané položky!" msgid "Last 10 successful uploads" msgstr "Posledných 10 úspešných nahratí" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1240,20 +1767,20 @@ msgstr "Zatiaľ žiadne spracované položky!" msgid "Sorry, no such report found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:32 +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:33 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:36 +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:81 +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format msgid "" "\n" @@ -1261,7 +1788,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:90 +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format msgid "" "\n" @@ -1271,24 +1798,29 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:130 +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:134 -#: mediagoblin/templates/mediagoblin/moderation/report.html:153 +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:145 +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:147 +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report.html:155 +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" msgstr "" @@ -1309,7 +1841,7 @@ msgid "Active Reports Filed" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:171 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" msgstr "Vinník" @@ -1318,16 +1850,16 @@ msgid "When Reported" msgstr "Čas nahlásenia" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" msgstr "Dôvod" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:94 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format msgid "" "\n" @@ -1335,7 +1867,7 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:109 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format msgid "" "\n" @@ -1343,23 +1875,23 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:123 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:170 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:185 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format msgid "" "\n" @@ -1367,10 +1899,142 @@ msgid "" " " msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:199 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." msgstr "Žiadne vyriešené nahlásenia." +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "Nutné overenie e-mailovej adresy" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "Profil, ktorý vlastní %(username)s" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "Dotyčný používateľ (zatiaľ) nevyplnil svoj profil." + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "Upraviť profil" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "Prehliadať kolekcie" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" @@ -1387,10 +2051,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -1412,6 +2072,26 @@ msgstr "Pridať kolekciu" msgid "Add your media" msgstr "Pridaj svoj výtvor" +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "Pridať komentár" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "Pridať tento komentár" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "Pridané" + #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" @@ -1422,23 +2102,27 @@ msgstr "%(collection_title)s (kolekcia používateľa %(username)s) " msgid "%(collection_title)s by %(username)s" msgstr "%(collection_title)s od %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:79 -msgid "Edit" -msgstr "Upraviť" +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 -#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format -msgid "Really delete %(title)s?" -msgstr "Skutočne odstrániť %(title)s?" +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" msgstr "Skutočne odstrániť %(media_title)s z %(collection_title)s?" -#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" msgstr "Odstrániť" @@ -1481,22 +2165,10 @@ msgstr "Výtvory, ktoré vlastní %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Prehliadanie výtvorov od %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 -msgid "Add a comment" -msgstr "Pridať komentár" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 -msgid "Add this comment" -msgstr "Pridať tento komentár" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" msgstr "Náhľad komentára" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:166 -msgid "Added" -msgstr "Pridané" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1545,52 +2217,27 @@ msgstr "" msgid "File Report " msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 -#, python-format -msgid "%(username)s's profile" -msgstr "Profil, ktorý vlastní %(username)s" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." msgstr "Na tomto mieste môžeš povedať o sebe ostatným." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 -msgid "Edit profile" -msgstr "Upraviť profil" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:61 -msgid "This user hasn't filled in their profile (yet)." -msgstr "Dotyčný používateľ (zatiaľ) nevyplnil svoj profil." - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:80 -msgid "Browse collections" -msgstr "Prehliadať kolekcie" - -#: mediagoblin/templates/mediagoblin/user_pages/user.html:93 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" msgstr "Zobraziť všetky výtvory, ktoré vlastní %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:106 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" "This is where your media will appear, but you don't seem to have added " "anything yet." msgstr "Všetky tvoje výtvory sa objavia práve tu, zatiaľ však nemáš nič pridané." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Pravdepodobne sa tu nenachádzajú žiadne výtvory..." -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 -msgid "Email verification needed" -msgstr "Nutné overenie e-mailovej adresy" - #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 msgid "Almost done! Your account still needs to be activated." msgstr "Takmer hotovo! Ešte je potrebné aktivovať tvoj účet." @@ -1633,6 +2280,14 @@ msgstr "Zahrnuté" msgid "Add to a collection" msgstr "Pridať do kolekcie" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" @@ -1677,7 +2332,7 @@ msgstr "" msgid "Tagged with" msgstr "Označené ako" -#: mediagoblin/tools/exif.py:83 +#: mediagoblin/tools/exif.py:81 msgid "Could not read the image file." msgstr "Nemožno prečítať súbor obrázka." @@ -1749,10 +2404,6 @@ msgid "" "target=\"_blank\">Markdown for formatting." msgstr "Smieš používať Makrdown pre formátovanie textu." -#: mediagoblin/user_pages/forms.py:31 -msgid "I am sure I want to delete this" -msgstr "Jednoznačne to chcem odstrániť" - #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" msgstr "Skutočne chcem odstrániť danú položku z kolekcie" @@ -1780,73 +2431,69 @@ msgstr "Smieš použiť\n\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/mediagoblin/language/sl/)\n" "MIME-Version: 1.0\n" @@ -82,7 +82,11 @@ msgstr "Ponovno pošiljanje potrditvene e-pošte." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Naslov" @@ -539,6 +543,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -561,7 +616,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -631,7 +686,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -714,6 +769,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1202,10 +1258,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" @@ -1247,6 +1299,10 @@ msgstr "Dodaj vsebino" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1640,6 +1696,32 @@ msgstr "" msgid "Media in-processing" msgstr "Vsebina v obdelavi" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1650,6 +1732,14 @@ msgstr "V obdelavi ni nobene vsebine" msgid "These uploads failed to process:" msgstr "Teh vsebin ni bilo moč obdelati:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1659,6 +1749,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1699,6 +1793,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1948,10 +2046,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2181,6 +2275,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo index b50023b2..163a1427 100644 Binary files a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po index cf753dd8..935ecebe 100644 --- a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Albanian (http://www.transifex.com/projects/p/mediagoblin/language/sq/)\n" "MIME-Version: 1.0\n" @@ -83,7 +83,11 @@ msgstr "Ridërgoni email-in tuaj të verifikimit." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titull" @@ -540,6 +544,57 @@ msgstr "Çfarë veprimesh do të ndërmerrni që të zgjidhni këtë raportim?" msgid "What privileges will you take away?" msgstr "Cilat privilegje do të hiqni?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "pafundësisht" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Sinjalizim prej" @@ -562,7 +617,7 @@ msgstr "Nuk do të merrni njoftime për komente te %s." msgid "Must provide an oauth_token." msgstr "Duhet dhënë një oauth_token." -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "S'u gjet token kërkese." @@ -632,7 +687,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -715,6 +770,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1203,10 +1259,6 @@ msgstr "Jeni dëbuar" msgid "until %(until_when)s" msgstr "deri më %(until_when)s" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "pafundësisht" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Verifikoni email-in tuaj!" @@ -1248,6 +1300,10 @@ msgstr "Shtoni media" msgid "Create new collection" msgstr "Krijoni koleksion të ri" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Paneli i administrimit të përdoruesve" @@ -1641,6 +1697,32 @@ msgstr "Këtu mund të ndiqni gjendjen e medias që po përpunohet në këtë in msgid "Media in-processing" msgstr "Media në përpunim" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1651,6 +1733,14 @@ msgstr "Pa media në përpunim" msgid "These uploads failed to process:" msgstr "Nuk arritën të kryheshin këto ngarkime:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1660,6 +1750,10 @@ msgstr "Pa zëra të dështuar!" msgid "Last 10 successful uploads" msgstr "10 ngarkimet e fundit të suksesshme" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1700,6 +1794,10 @@ msgid "" " " msgstr "\n LËNDË NGA\n
%(user_name)s\n ËSHTË FSHIRË\n " +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1949,10 +2047,6 @@ msgstr "\n Këtu mund të kërkoni për përdorues, me qëllim marrjen e masa msgid "Active Users" msgstr "Përdorues Aktivë" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Ardhur Më" @@ -2182,6 +2276,14 @@ msgstr "Pjesë e koleksionit" msgid "Add to a collection" msgstr "Shtoje te një koleksion" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo index 2be982e0..07a7dbf3 100644 Binary files a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po index 0b609d26..0d77486d 100644 --- a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/mediagoblin/language/sr/)\n" "MIME-Version: 1.0\n" @@ -81,7 +81,11 @@ msgstr "" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" @@ -538,6 +542,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -560,7 +615,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -630,7 +685,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -713,6 +768,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1201,10 +1257,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" @@ -1246,6 +1298,10 @@ msgstr "" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1639,6 +1695,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1649,6 +1731,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1658,6 +1748,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1698,6 +1792,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1947,10 +2045,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2180,6 +2274,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo index ddc74d33..fd68a184 100644 Binary files a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po index b76bfe83..e0bb77f2 100644 --- a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/mediagoblin/language/sv/)\n" "MIME-Version: 1.0\n" @@ -83,7 +83,11 @@ msgstr "Skickade ett nytt verifierings-email." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" @@ -540,6 +544,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -562,7 +617,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -632,7 +687,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -715,6 +770,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1203,10 +1259,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Verifiera din e-postadress" @@ -1248,6 +1300,10 @@ msgstr "Lägg till media" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1641,6 +1697,32 @@ msgstr "" msgid "Media in-processing" msgstr "Media under behandling" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1651,6 +1733,14 @@ msgstr "Ingen media under behandling" msgid "These uploads failed to process:" msgstr "De här behandlingarna misslyckades:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1660,6 +1750,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1700,6 +1794,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1949,10 +2047,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2182,6 +2276,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo index 5e4fcda1..d457fd1c 100644 Binary files a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po index 14634cc9..19be41f0 100644 --- a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Telugu (http://www.transifex.com/projects/p/mediagoblin/language/te/)\n" "MIME-Version: 1.0\n" @@ -82,7 +82,11 @@ msgstr "" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "శీర్షిక" @@ -539,6 +543,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -561,7 +616,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -631,7 +686,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -714,6 +769,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1202,10 +1258,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" @@ -1247,6 +1299,10 @@ msgstr "" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1640,6 +1696,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1650,6 +1732,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1659,6 +1749,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1699,6 +1793,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1948,10 +2046,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2181,6 +2275,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo index 3e794df0..652091c8 100644 Binary files a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po index 47891f89..0cfd01b1 100644 --- a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/mediagoblin/language/tr_TR/)\n" "MIME-Version: 1.0\n" @@ -82,7 +82,11 @@ msgstr "Doğrulama e-postasını tekrar yolla." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Başlık" @@ -539,6 +543,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -561,7 +616,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -631,7 +686,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -714,6 +769,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1202,10 +1258,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "E-postanızı doğrulayın!" @@ -1247,6 +1299,10 @@ msgstr "Medya ekle" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1640,6 +1696,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1650,6 +1732,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1659,6 +1749,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1699,6 +1793,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1948,10 +2046,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2181,6 +2275,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo index f1b5b744..4313a9e7 100644 Binary files a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po index 1c78b150..12facc35 100644 --- a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/mediagoblin/language/vi/)\n" "MIME-Version: 1.0\n" @@ -81,7 +81,11 @@ msgstr "" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" @@ -538,6 +542,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -560,7 +615,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -630,7 +685,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -713,6 +768,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1201,10 +1257,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" @@ -1246,6 +1298,10 @@ msgstr "" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1639,6 +1695,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1649,6 +1731,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1658,6 +1748,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1698,6 +1792,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1947,10 +2045,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2180,6 +2274,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo index 9565ed54..7b636785 100644 Binary files a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po index 69f9aef2..d1fe7c43 100644 --- a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/projects/p/mediagoblin/language/vi_VN/)\n" "MIME-Version: 1.0\n" @@ -81,7 +81,11 @@ msgstr "" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" @@ -538,6 +542,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -560,7 +615,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -630,7 +685,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -713,6 +768,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1201,10 +1257,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" @@ -1246,6 +1298,10 @@ msgstr "" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1639,6 +1695,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1649,6 +1731,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1658,6 +1748,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1698,6 +1792,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1947,10 +2045,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2180,6 +2274,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo index 86f1ab75..d6ef805a 100644 Binary files a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po index 799199f1..246ea068 100644 --- a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/mediagoblin/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -86,7 +86,11 @@ msgstr "重发认证邮件。" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "标题" @@ -543,6 +547,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -565,7 +620,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -635,7 +690,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -718,6 +773,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1206,10 +1262,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "确认您的电子邮件!" @@ -1251,6 +1303,10 @@ msgstr "新增媒体" msgid "Create new collection" msgstr "新增合集" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1644,6 +1700,32 @@ msgstr "此处您可以追踪本站点处理媒体的状态。" msgid "Media in-processing" msgstr "媒体处理中" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1654,6 +1736,14 @@ msgstr "没有正在处理中的媒体" msgid "These uploads failed to process:" msgstr "无法处理这些上传内容:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1663,6 +1753,10 @@ msgstr "没有失败的纪录!" msgid "Last 10 successful uploads" msgstr "最近 10 次成功上传的纪录" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1703,6 +1797,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1952,10 +2050,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2185,6 +2279,14 @@ msgstr "合集于" msgid "Add to a collection" msgstr "添加到合集" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo index fa96f8e6..0ea966de 100644 Binary files a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po index 18d6900e..7a8e4330 100644 --- a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Chinese (Taiwan) (Big5) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW.Big5/)\n" "MIME-Version: 1.0\n" @@ -81,7 +81,11 @@ msgstr "" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" @@ -538,6 +542,57 @@ msgstr "" msgid "What privileges will you take away?" msgstr "" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "" @@ -560,7 +615,7 @@ msgstr "" msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "" @@ -630,7 +685,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -713,6 +768,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1201,10 +1257,6 @@ msgstr "" msgid "until %(until_when)s" msgstr "" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "" @@ -1246,6 +1298,10 @@ msgstr "" msgid "Create new collection" msgstr "" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "" @@ -1639,6 +1695,32 @@ msgstr "" msgid "Media in-processing" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1649,6 +1731,14 @@ msgstr "" msgid "These uploads failed to process:" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1658,6 +1748,10 @@ msgstr "" msgid "Last 10 successful uploads" msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1698,6 +1792,10 @@ msgid "" " " msgstr "" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1947,10 +2045,6 @@ msgstr "" msgid "Active Users" msgstr "" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "" @@ -2180,6 +2274,14 @@ msgstr "" msgid "Add to a collection" msgstr "" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo index 8673b215..79b2570f 100644 Binary files a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po index aa712f88..615619d4 100644 --- a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-10 17:32+0000\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2014-07-29 16:01+0000\n" "Last-Translator: cwebber \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW/)\n" "MIME-Version: 1.0\n" @@ -86,7 +86,11 @@ msgstr "重送認證信。" #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "標題" @@ -543,6 +547,57 @@ msgstr "請問您要如何處理這項回報?" msgid "What privileges will you take away?" msgstr "您要取走他哪些權限?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "永久封鎖了" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "警告,來自" @@ -565,7 +620,7 @@ msgstr "您將不會收到 %s 的評論通知。" msgid "Must provide an oauth_token." msgstr "必須提供 oauth_token。" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "找不到請求的 token。" @@ -635,7 +690,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -718,6 +773,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -1206,10 +1262,6 @@ msgstr "您被" msgid "until %(until_when)s" msgstr "封鎖了,會在 %(until_when)s 解除" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "永久封鎖了" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "確認您的電子郵件" @@ -1251,6 +1303,10 @@ msgstr "新增媒體" msgid "Create new collection" msgstr "新增新的蒐藏" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "使用者管理面板" @@ -1644,6 +1700,32 @@ msgstr "此處您可以追蹤本站台處理媒體的狀態。" msgid "Media in-processing" msgstr "媒體處理中" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1654,6 +1736,14 @@ msgstr "沒有正在處理中的媒體" msgid "These uploads failed to process:" msgstr "無法處理這些上傳內容:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1663,6 +1753,10 @@ msgstr "沒有失敗的紀錄!" msgid "Last 10 successful uploads" msgstr "最近 10 次成功上傳的紀錄" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1703,6 +1797,10 @@ msgid "" " " msgstr "\n %(user_name)s\n 的內容已被刪除\n " +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1952,10 +2050,6 @@ msgstr "\n在這裡您可以查詢使用者,以進行各項處置。 " msgid "Active Users" msgstr "活動中的使用者" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "加入時間" @@ -2185,6 +2279,14 @@ msgstr "蒐集了" msgid "Add to a collection" msgstr "加入至蒐藏" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" -- cgit v1.2.3 From 97650abd784ba4c2ce902e7d00f7e007479c870f Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Tue, 29 Jul 2014 13:38:59 -0500 Subject: Avoid "lego translations" on the nothing currently featured strings This commit sponsored by Vinzenz Vietzke. Thank you! --- .../plugins/archivalook/templates/archivalook/root.html | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mediagoblin/plugins/archivalook/templates/archivalook/root.html b/mediagoblin/plugins/archivalook/templates/archivalook/root.html index 78876f83..4dbd0f9e 100644 --- a/mediagoblin/plugins/archivalook/templates/archivalook/root.html +++ b/mediagoblin/plugins/archivalook/templates/archivalook/root.html @@ -59,17 +59,19 @@ {%- elif request.user and request.user.has_privilege('featurer') %}

{% trans %}Nothing is currently featured.{% endtrans %}

- {% trans %}If you would like to feature a + {% trans -%} + If you would like to feature a piece of media, go to that media entry's homepage and click the button - that says{% endtrans %} {% trans %}Feature{% endtrans %}. - {% trans %}You're seeing this page because you are a user capable of + that says Feature. + {%- endtrans %} + {% trans featured_media_url=request.urlgen('manage-featured-media') -%} + You're seeing this page because you are a user capable of featuring media, a regular user would see a blank page, so be sure to have media featured as long as your instance has the 'archivalook' plugin enabled. A more advanced tool to manage features can be found - in the{% endtrans %} - - {% trans %}feature management panel.{% endtrans %} + in the feature management panel. + {%- endtrans %} +
{%- endif %} -- cgit v1.2.3 From 7bfc81b21af65c91dcbd9d33deae2f020d8bbbee Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Fri, 25 Jul 2014 18:58:57 +0100 Subject: Fix #923 - add allow_admin to user_has_privilege decorator --- mediagoblin/db/models.py | 29 +++++++++++----------- mediagoblin/decorators.py | 12 ++++++--- mediagoblin/templates/mediagoblin/base.html | 6 ++--- .../templates/mediagoblin/moderation/user.html | 4 +-- mediagoblin/tests/test_modelmethods.py | 17 ++++++------- 5 files changed, 35 insertions(+), 33 deletions(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index c2d101ac..c6424e71 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -106,25 +106,26 @@ class User(Base, UserMixin): super(User, self).delete(**kwargs) _log.info('Deleted user "{0}" account'.format(self.username)) - def has_privilege(self,*priv_names): + def has_privilege(self, privilege, allow_admin=True): """ This method checks to make sure a user has all the correct privileges to access a piece of content. - :param priv_names A variable number of unicode objects which rep- - -resent the different privileges which may give - the user access to this content. If you pass - multiple arguments, the user will be granted - access if they have ANY of the privileges - passed. + :param privilege A unicode object which represent the different + privileges which may give the user access to + content. + + :param allow_admin If this is set to True the then if the user is + an admin, then this will always return True + even if the user hasn't been given the + privilege. (defaults to True) """ - if len(priv_names) == 1: - priv = Privilege.query.filter( - Privilege.privilege_name==priv_names[0]).one() - return (priv in self.all_privileges) - elif len(priv_names) > 1: - return self.has_privilege(priv_names[0]) or \ - self.has_privilege(*priv_names[1:]) + priv = Privilege.query.filter_by(privilege_name=privilege).one() + if priv in self.all_privileges: + return True + elif allow_admin and self.has_privilege(u'admin', allow_admin=False): + return True + return False def is_banned(self): diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py index 90edf96b..5bf60048 100644 --- a/mediagoblin/decorators.py +++ b/mediagoblin/decorators.py @@ -74,7 +74,7 @@ def require_active_login(controller): return new_controller_func -def user_has_privilege(privilege_name): +def user_has_privilege(privilege_name, allow_admin=True): """ Requires that a user have a particular privilege in order to access a page. In order to require that a user have multiple privileges, use this @@ -85,14 +85,17 @@ def user_has_privilege(privilege_name): the privilege object. This object is the name of the privilege, as assigned in the Privilege.privilege_name column + + :param allow_admin If this is true then if the user is an admin + it will allow the user even if the user doesn't + have the privilage given in privilage_name. """ def user_has_privilege_decorator(controller): @wraps(controller) @require_active_login def wrapper(request, *args, **kwargs): - user_id = request.user.id - if not request.user.has_privilege(privilege_name): + if not request.user.has_privilege(privilege_name, allow_admin): raise Forbidden() return controller(request, *args, **kwargs) @@ -369,7 +372,8 @@ def require_admin_or_moderator_login(controller): @wraps(controller) def new_controller_func(request, *args, **kwargs): if request.user and \ - not request.user.has_privilege(u'admin',u'moderator'): + not (request.user.has_privilege(u'admin') + or request.user.has_privilege(u'moderator')): raise Forbidden() elif not request.user: diff --git a/mediagoblin/templates/mediagoblin/base.html b/mediagoblin/templates/mediagoblin/base.html index 63a2a6ff..13cfb47b 100644 --- a/mediagoblin/templates/mediagoblin/base.html +++ b/mediagoblin/templates/mediagoblin/base.html @@ -72,8 +72,8 @@
{%- if request.user %} - {% if request.user and - request.user.has_privilege('active') and + {% if request.user and + request.user.has_privilege('active') and not request.user.is_banned() %} {% set notification_count = get_notification_count(request.user.id) %} @@ -158,7 +158,7 @@ {%- trans %}Create new collection{% endtrans -%} {% template_hook("header_dropdown_buttons") %} - {% if request.user.has_privilege('admin','moderator') %} + {% if request.user.has_privilege('moderator') %}

{% trans %}Moderation powers:{% endtrans %} diff --git a/mediagoblin/templates/mediagoblin/moderation/user.html b/mediagoblin/templates/mediagoblin/moderation/user.html index 37e7eee9..594f845d 100644 --- a/mediagoblin/templates/mediagoblin/moderation/user.html +++ b/mediagoblin/templates/mediagoblin/moderation/user.html @@ -175,7 +175,7 @@ {% for privilege in privileges %}

- {% if privilege in user.all_privileges %} + {% if user.has_privilege(privilege.privilege_name) %} {% if request.user.has_privilege('admin') %}
IDUserTitleSubmitted{% trans %}ID{% endtrans %}{% trans %}User{% endtrans %}{% trans %}Title{% endtrans %}{% trans %}Submitted{% endtrans %}
{{ privilege.privilege_name }} {% trans %}Yes{% endtrans %}{% else %} @@ -183,7 +183,7 @@ - {% if privilege in user.all_privileges %} + {% if user.has_privilege(privilege.privilege_name) %} diff --git a/mediagoblin/tests/test_modelmethods.py b/mediagoblin/tests/test_modelmethods.py index ca436c76..32d5dce0 100644 --- a/mediagoblin/tests/test_modelmethods.py +++ b/mediagoblin/tests/test_modelmethods.py @@ -179,20 +179,17 @@ class TestUserHasPrivilege: self._setup() # then test out the user.has_privilege method for one privilege - assert not self.natalie_user.has_privilege(u'commenter') - assert self.aeva_user.has_privilege(u'active') + assert not self.aeva_user.has_privilege(u'admin') + assert self.natalie_user.has_privilege(u'active') - - def test_user_has_privileges_multiple(self, test_app): + def test_allow_admin(self, test_app): self._setup() - # when multiple args are passed to has_privilege, the method returns - # True if the user has ANY of the privileges - assert self.natalie_user.has_privilege(u'admin',u'commenter') - assert self.aeva_user.has_privilege(u'moderator',u'active') - assert not self.natalie_user.has_privilege(u'commenter',u'uploader') - + # This should work because she is an admin. + assert self.natalie_user.has_privilege(u'commenter') + # Test that we can look this out ignoring that she's an admin + assert not self.natalie_user.has_privilege(u'commenter', allow_admin=False) def test_media_data_init(test_app): Session.rollback() -- cgit v1.2.3 From 138d934f014d2c9c54e247298318832e88dceadb Mon Sep 17 00:00:00 2001 From: Elrond Date: Wed, 30 Jul 2014 19:51:23 +0200 Subject: Make chown more generic. Some distributions (ubuntu 14.04 maybe?) don't create a group for a new user. So change the "chown" to use the primary group of the user instead of forcing the group. This should do the right thing in more cases. Old: chown mediagoblin:mediagoblin New: chown mediagoblin: --- docs/source/siteadmin/deploying.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/siteadmin/deploying.rst b/docs/source/siteadmin/deploying.rst index 3f4a59cd..9dea239f 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -165,11 +165,11 @@ to the unpriviledged system account. To do this, enter either of the following commands, changing the defaults to suit your particular requirements:: - sudo mkdir -p /srv/mediagoblin.example.org && sudo chown -hR mediagoblin:mediagoblin /srv/mediagoblin.example.org + sudo mkdir -p /srv/mediagoblin.example.org && sudo chown -hR mediagoblin: /srv/mediagoblin.example.org or (as the root user):: - mkdir -p /srv/mediagoblin.example.org && chown -hR mediagoblin:mediagoblin /srv/mediagoblin.example.org + mkdir -p /srv/mediagoblin.example.org && chown -hR mediagoblin: /srv/mediagoblin.example.org Install MediaGoblin and Virtualenv -- cgit v1.2.3 From 5e5d445890c6c555dff48b1613c285da983d71c8 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Mon, 28 Jul 2014 23:36:39 +0100 Subject: Fix #927 - Clean up federation code after Elrond's review - Add json_error and use inplace of json_response where appropriate. - Add garbage_collection to config spec file. - Fix bugs in both garbage collection task and test - Handle /api/whoami when no user logged in and a test for such a case. - Validate ID is correct and user has comment privilege to comment. --- mediagoblin.ini | 4 - mediagoblin/config_spec.ini | 4 + mediagoblin/db/models.py | 12 ++- mediagoblin/federation/task.py | 49 ------------ mediagoblin/federation/views.py | 123 +++++++++++++++++------------- mediagoblin/media_types/image/__init__.py | 35 --------- mediagoblin/submit/lib.py | 31 ++++++++ mediagoblin/submit/task.py | 38 +++++++++ mediagoblin/tests/test_api.py | 43 ++--------- mediagoblin/tests/test_misc.py | 41 ++++++++++ mediagoblin/tools/response.py | 8 ++ 11 files changed, 209 insertions(+), 179 deletions(-) delete mode 100755 mediagoblin/federation/task.py create mode 100755 mediagoblin/submit/task.py diff --git a/mediagoblin.ini b/mediagoblin.ini index 6ccfa4f7..5e2477a4 100644 --- a/mediagoblin.ini +++ b/mediagoblin.ini @@ -23,10 +23,6 @@ allow_registration = true # Set to false to disable the ability for users to report offensive content allow_reporting = true -# Frequency garbage collection will run (setting to 0 or false to disable) -# Setting units are minutes. -garbage_collection = 60 - ## Uncomment this to put some user-overriding templates here # local_templates = %(here)s/user_dev/templates/ diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini index ba2b4519..c35b709d 100644 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@ -92,6 +92,10 @@ max_file_size = integer(default=None) # Privilege scheme user_privilege_scheme = string(default="uploader,commenter,reporter") +# Frequency garbage collection will run (setting to 0 or false to disable) +# Setting units are minutes. +garbage_collection = integer(default=60) + [jinja2] # Jinja2 supports more directives than the minimum required by mediagoblin. # This setting allows users creating custom templates to specify a list of diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index c6424e71..b3f7e23d 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -683,8 +683,18 @@ class MediaComment(Base, MediaCommentMixin): # Validate inReplyTo has ID if "id" not in data["inReplyTo"]: return False + + # Validate that the ID is correct + try: + media_id = int(data["inReplyTo"]["id"]) + except ValueError: + return False + + media = MediaEntry.query.filter_by(id=media_id).first() + if media is None: + return False - self.media_entry = data["inReplyTo"]["id"] + self.media_entry = media.id self.content = data["content"] return True diff --git a/mediagoblin/federation/task.py b/mediagoblin/federation/task.py deleted file mode 100755 index 1d42e851..00000000 --- a/mediagoblin/federation/task.py +++ /dev/null @@ -1,49 +0,0 @@ -# GNU MediaGoblin -- federated, autonomous media hosting -# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . - -import celery -import datetime -import logging -import pytz - -from mediagoblin.db.models import MediaEntry - -_log = logging.getLogger(__name__) -logging.basicConfig() -_log.setLevel(logging.DEBUG) - -@celery.task() -def collect_garbage(): - """ - Garbage collection to clean up media - - This will look for all critera on models to clean - up. This is primerally written to clean up media that's - entered a erroneous state. - """ - _log.info("Garbage collection is running.") - now = datetime.datetime.now(pytz.UTC) - datetime.timedelta(days=1) - - garbage = MediaEntry.query.filter(MediaEntry.created > now) - garbage = garbage.filter(MediaEntry.state == "unprocessed") - - for entry in garbage.all(): - _log.info("Garbage media found with ID '{0}'".format(entry.id)) - entry.delete() - - - - diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index 86670857..a6912166 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -24,9 +24,13 @@ from mediagoblin.media_types import sniff_media from mediagoblin.decorators import oauth_required from mediagoblin.federation.decorators import user_has_privilege from mediagoblin.db.models import User, MediaEntry, MediaComment -from mediagoblin.tools.response import redirect, json_response +from mediagoblin.tools.response import redirect, json_response, json_error from mediagoblin.meddleware.csrf import csrf_exempt -from mediagoblin.submit.lib import new_upload_entry +from mediagoblin.submit.lib import new_upload_entry, api_upload_request, \ + api_add_to_feed + +# MediaTypes +from mediagoblin.media_types.image import MEDIA_TYPE as IMAGE_MEDIA_TYPE @oauth_required def profile(request, raw=False): @@ -34,10 +38,8 @@ def profile(request, raw=False): user = request.matchdict["username"] requested_user = User.query.filter_by(username=user) - # check if the user exists if requested_user is None: - error = "No such 'user' with id '{0}'".format(user) - return json_response({"error": error}, status=404) + return json_error("No such 'user' with id '{0}'".format(user), 404) user = requested_user[0] @@ -69,15 +71,14 @@ def uploads(request): requested_user = User.query.filter_by(username=user) if requested_user is None: - error = "No such 'user' with id '{0}'".format(user) - return json_response({"error": error}, status=404) + return json_error("No such 'user' with id '{0}'".format(user), 404) request.user = requested_user[0] if request.method == "POST": # Wrap the data in the werkzeug file wrapper if "Content-Type" not in request.headers: - error = "Must supply 'Content-Type' header to upload media." - return json_response({"error": error}, status=400) + return json_error( + "Must supply 'Content-Type' header to upload media.") mimetype = request.headers["Content-Type"] filename = mimetypes.guess_all_extensions(mimetype) filename = 'unknown' + filename[0] if filename else filename @@ -90,12 +91,10 @@ def uploads(request): # Find media manager media_type, media_manager = sniff_media(file_data, filename) entry = new_upload_entry(request.user) - if hasattr(media_manager, "api_upload_request"): - return media_manager.api_upload_request(request, file_data, entry) - else: - return json_response({"error": "Not yet implemented"}, status=501) + entry.media_type = IMAGE_MEDIA_TYPE + return api_upload_request(request, file_data, entry) - return json_response({"error": "Not yet implemented"}, status=501) + return json_error("Not yet implemented", 501) @oauth_required @csrf_exempt @@ -106,8 +105,7 @@ def feed(request): # check if the user exists if requested_user is None: - error = "No such 'user' with id '{0}'".format(user) - return json_response({"error": error}, status=404) + return json_error("No such 'user' with id '{0}'".format(user), 404) request.user = requested_user[0] if request.data: @@ -118,11 +116,16 @@ def feed(request): if request.method == "POST" and data["verb"] == "post": obj = data.get("object", None) if obj is None: - error = {"error": "Could not find 'object' element."} - return json_response(error, status=400) + return json_error("Could not find 'object' element.") if obj.get("objectType", None) == "comment": # post a comment + if not request.user.has_privilege(u'commenter'): + return json_error( + "Privilege 'commenter' required to comment.", + status=403 + ) + comment = MediaComment(author=request.user.id) comment.unserialize(data["object"]) comment.save() @@ -134,15 +137,19 @@ def feed(request): media_id = int(data["object"]["id"]) media = MediaEntry.query.filter_by(id=media_id) if media is None: - error = "No such 'image' with id '{0}'".format(id=media_id) - return json_response(error, status=404) + return json_response( + "No such 'image' with id '{0}'".format(id=media_id), + status=404 + ) media = media.first() if not media.unserialize(data["object"]): - error = "Invalid 'image' with id '{0}'".format(media_id) - return json_response({"error": error}, status=400) + return json_error( + "Invalid 'image' with id '{0}'".format(media_id) + ) + media.save() - media.media_manager.api_add_to_feed(request, media) + api_add_to_feed(request, media) return json_response({ "verb": "post", @@ -151,46 +158,46 @@ def feed(request): elif obj.get("objectType", None) is None: # They need to tell us what type of object they're giving us. - error = {"error": "No objectType specified."} - return json_response(error, status=400) + return json_error("No objectType specified.") else: # Oh no! We don't know about this type of object (yet) - error_message = "Unknown object type '{0}'.".format( - obj.get("objectType", None) - ) - - error = {"error": error_message} - return json_response(error, status=400) + object_type = obj.get("objectType", None) + return json_error("Unknown object type '{0}'.".format(object_type)) elif request.method in ["PUT", "POST"] and data["verb"] == "update": # Check we've got a valid object obj = data.get("object", None) if obj is None: - error = {"error": "Could not find 'object' element."} - return json_response(error, status=400) + return json_error("Could not find 'object' element.") if "objectType" not in obj: - error = {"error": "No objectType specified."} - return json_response(error, status=400) + return json_error("No objectType specified.") if "id" not in obj: - error = {"error": "Object ID has not been specified."} - return json_response(error, status=400) + return json_error("Object ID has not been specified.") obj_id = obj["id"] # Now try and find object if obj["objectType"] == "comment": + if not request.user.has_privilege(u'commenter'): + return json_error( + "Privilege 'commenter' required to comment.", + status=403 + ) + comment = MediaComment.query.filter_by(id=obj_id) if comment is None: - error = "No such 'comment' with id '{0}'.".format(obj_id) - return json_response({"error": error}, status=400) + return json_error( + "No such 'comment' with id '{0}'.".format(obj_id) + ) comment = comment[0] if not comment.unserialize(data["object"]): - error = "Invalid 'comment' with id '{0}'".format(obj_id) - return json_response({"error": error}, status=400) + return json_error( + "Invalid 'comment' with id '{0}'".format(obj_id) + ) comment.save() @@ -203,13 +210,15 @@ def feed(request): elif obj["objectType"] == "image": image = MediaEntry.query.filter_by(id=obj_id) if image is None: - error = "No such 'image' with the id '{0}'.".format(obj_id) - return json_response({"error": error}, status=400) + return json_error( + "No such 'image' with the id '{0}'.".format(obj_id) + ) image = image[0] if not image.unserialize(obj): - "Invalid 'image' with id '{0}'".format(obj_id) - return json_response({"error": error}, status=400) + return json_error( + "Invalid 'image' with id '{0}'".format(obj_id) + ) image.save() activity = { @@ -219,9 +228,10 @@ def feed(request): return json_response(activity) elif request.method != "GET": - # Currently unsupported - error = "Unsupported HTTP method {0}".format(request.method) - return json_response({"error": error}, status=501) + return json_error( + "Unsupported HTTP method {0}".format(request.method), + status=501 + ) feed_url = request.urlgen( "mediagoblin.federation.feed", @@ -255,7 +265,8 @@ def feed(request): } - # Now lookup the user's feed. + # Look up all the media to put in the feed (this will be changed + # when we get real feeds/inboxes/outboxes/activites) for media in MediaEntry.query.all(): item = { "verb": "post", @@ -283,21 +294,22 @@ def object(request, raw_obj=False): request.matchdict["id"], object_type ) - return json_response({"error": error}, status=400) + return json_error(error) if object_type not in ["image"]: - error = "Unknown type: {0}".format(object_type) # not sure why this is 404, maybe ask evan. Maybe 400? - return json_response({"error": error}, status=404) + return json_error("Unknown type: {0}".format(object_type), status=404) media = MediaEntry.query.filter_by(id=object_id).first() if media is None: - # no media found with that uuid error = "Can't find '{0}' with ID '{1}'".format( object_type, object_id ) - return json_response({"error": error}, status=404) + return json_error( + "Can't find '{0}' with ID '{1}'".format(object_type, object_id), + status=404 + ) if raw_obj: return media @@ -371,6 +383,9 @@ def host_meta(request): def whoami(request): """ /api/whoami - HTTP redirect to API profile """ + if request.user is None: + return json_error("Not logged in.", status=401) + profile = request.urlgen( "mediagoblin.federation.user.profile", username=request.user.username, diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 96081068..11f90ca5 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -19,9 +19,6 @@ import logging from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.image.processing import sniff_handler, \ ImageProcessingManager -from mediagoblin.tools.response import json_response -from mediagoblin.submit.lib import prepare_queue_task, run_process_media -from mediagoblin.notifications import add_comment_subscription _log = logging.getLogger(__name__) @@ -58,38 +55,6 @@ class ImageMediaManager(MediaManagerBase): except (KeyError, ValueError): return None - @staticmethod - def api_upload_request(request, file_data, entry): - """ This handles a image upload request """ - # Use the same kind of method from mediagoblin/submit/views:submit_start - entry.media_type = unicode(MEDIA_TYPE) - entry.title = file_data.filename - entry.generate_slug() - - queue_file = prepare_queue_task(request.app, entry, file_data.filename) - with queue_file: - queue_file.write(request.data) - - entry.save() - return json_response(entry.serialize(request)) - - @staticmethod - def api_add_to_feed(request, entry): - """ Add media to Feed """ - if entry.title: - # Shame we have to do this here but we didn't have the data in - # api_upload_request as no filename is usually specified. - entry.slug = None - entry.generate_slug() - - feed_url = request.urlgen( - 'mediagoblin.user_pages.atom_feed', - qualified=True, user=request.user.username) - - run_process_media(entry, feed_url) - add_comment_subscription(request.user, entry) - return json_response(entry.serialize(request)) - def get_media_type_and_manager(ext): if ext in ACCEPTED_EXTENSIONS: return MEDIA_TYPE, ImageMediaManager diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index 93ae7a1f..327ebbd8 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -22,6 +22,7 @@ from werkzeug.utils import secure_filename from werkzeug.datastructures import FileStorage from mediagoblin import mg_globals +from mediagoblin.tools.response import json_response from mediagoblin.tools.text import convert_to_tag_list_of_dicts from mediagoblin.db.models import MediaEntry, ProcessingMetaData from mediagoblin.processing import mark_entry_failed @@ -259,3 +260,33 @@ def run_process_media(entry, feed_url=None, mark_entry_failed(entry.id, exc) # re-raise the exception raise + + +def api_upload_request(request, file_data, entry): + """ This handles a image upload request """ + # Use the same kind of method from mediagoblin/submit/views:submit_start + entry.title = file_data.filename + entry.generate_slug() + + queue_file = prepare_queue_task(request.app, entry, file_data.filename) + with queue_file: + queue_file.write(request.data) + + entry.save() + return json_response(entry.serialize(request)) + +def api_add_to_feed(request, entry): + """ Add media to Feed """ + if entry.title: + # Shame we have to do this here but we didn't have the data in + # api_upload_request as no filename is usually specified. + entry.slug = None + entry.generate_slug() + + feed_url = request.urlgen( + 'mediagoblin.user_pages.atom_feed', + qualified=True, user=request.user.username) + + run_process_media(entry, feed_url) + add_comment_subscription(request.user, entry) + return json_response(entry.serialize(request)) \ No newline at end of file diff --git a/mediagoblin/submit/task.py b/mediagoblin/submit/task.py new file mode 100755 index 00000000..4ebde502 --- /dev/null +++ b/mediagoblin/submit/task.py @@ -0,0 +1,38 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import celery +import datetime +import pytz + +from mediagoblin.db.models import MediaEntry + +@celery.task() +def collect_garbage(): + """ + Garbage collection to clean up media + + This will look for all critera on models to clean + up. This is primerally written to clean up media that's + entered a erroneous state. + """ + cuttoff = datetime.datetime.now(pytz.UTC) - datetime.timedelta(days=1) + + garbage = MediaEntry.query.filter(MediaEntry.created < cuttoff) + garbage = garbage.filter(MediaEntry.state == "unprocessed") + + for entry in garbage.all(): + entry.delete() diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index 55228edc..88d86053 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -14,22 +14,16 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . import json -import datetime import mock -import pytz import pytest from webtest import AppError -from werkzeug.datastructures import FileStorage from .resources import GOOD_JPG from mediagoblin import mg_globals -from mediagoblin.media_types import sniff_media from mediagoblin.db.models import User, MediaEntry -from mediagoblin.submit.lib import new_upload_entry from mediagoblin.tests.tools import fixture_add_user -from mediagoblin.federation.task import collect_garbage from mediagoblin.moderation.tools import take_away_privileges class TestAPI(object): @@ -40,7 +34,7 @@ class TestAPI(object): self.test_app = test_app self.db = mg_globals.database - self.user = fixture_add_user(privileges=[u'active', u'uploader']) + self.user = fixture_add_user(privileges=[u'active', u'uploader', u'commenter']) def _activity_to_feed(self, test_app, activity, headers=None): """ Posts an activity to the user's feed """ @@ -265,32 +259,9 @@ class TestAPI(object): assert "links" in profile - def test_garbage_collection_task(self, test_app): - """ Test old media entry are removed by GC task """ - # Create a media entry that's unprocessed and over an hour old. - entry_id = 72 - now = datetime.datetime.now(pytz.UTC) - file_data = FileStorage( - stream=open(GOOD_JPG, "rb"), - filename="mah_test.jpg", - content_type="image/jpeg" - ) - - # Find media manager - media_type, media_manager = sniff_media(file_data, "mah_test.jpg") - entry = new_upload_entry(self.user) - entry.id = entry_id - entry.title = "Mah Image" - entry.slug = "slugy-slug-slug" - entry.media_type = 'image' - entry.uploaded = now - datetime.timedelta(days=2) - entry.save() - - # Validate the model exists - assert MediaEntry.query.filter_by(id=entry_id).first() is not None - - # Call the garbage collection task - collect_garbage() - - # Now validate the image has been deleted - assert MediaEntry.query.filter_by(id=entry_id).first() is None + def test_whoami_without_login(self, test_app): + """ Test that whoami endpoint returns error when not logged in """ + with pytest.raises(AppError) as excinfo: + response = test_app.get("/api/whoami") + + assert "401 UNAUTHORIZED" in excinfo.value.message diff --git a/mediagoblin/tests/test_misc.py b/mediagoblin/tests/test_misc.py index 43ad0b6d..b3e59c09 100644 --- a/mediagoblin/tests/test_misc.py +++ b/mediagoblin/tests/test_misc.py @@ -14,7 +14,16 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import pytz +import datetime + +from werkzeug.datastructures import FileStorage + +from .resources import GOOD_JPG from mediagoblin.db.base import Session +from mediagoblin.media_types import sniff_media +from mediagoblin.submit.lib import new_upload_entry +from mediagoblin.submit.task import collect_garbage from mediagoblin.db.models import User, MediaEntry, MediaComment from mediagoblin.tests.tools import fixture_add_user, fixture_media_entry @@ -91,3 +100,35 @@ def test_media_deletes_broken_attachment(test_app): MediaEntry.query.get(media.id).delete() User.query.get(user_a.id).delete() + +def test_garbage_collection_task(test_app): + """ Test old media entry are removed by GC task """ + user = fixture_add_user() + + # Create a media entry that's unprocessed and over an hour old. + entry_id = 72 + now = datetime.datetime.now(pytz.UTC) + file_data = FileStorage( + stream=open(GOOD_JPG, "rb"), + filename="mah_test.jpg", + content_type="image/jpeg" + ) + + # Find media manager + media_type, media_manager = sniff_media(file_data, "mah_test.jpg") + entry = new_upload_entry(user) + entry.id = entry_id + entry.title = "Mah Image" + entry.slug = "slugy-slug-slug" + entry.media_type = 'image' + entry.created = now - datetime.timedelta(days=2) + entry.save() + + # Validate the model exists + assert MediaEntry.query.filter_by(id=entry_id).first() is not None + + # Call the garbage collection task + collect_garbage() + + # Now validate the image has been deleted + assert MediaEntry.query.filter_by(id=entry_id).first() is None diff --git a/mediagoblin/tools/response.py b/mediagoblin/tools/response.py index cd99a230..57552963 100644 --- a/mediagoblin/tools/response.py +++ b/mediagoblin/tools/response.py @@ -157,6 +157,14 @@ def json_response(serializable, _disable_cors=False, *args, **kw): return response +def json_error(error_str, status=400, *args, **kwargs): + """ + This is like json_response but takes an error message in and formats + it in {"error": error_str}. This also sets the default HTTP status + code to 400. + """ + return json_response({"error": error_str}, status=status, *args, **kwargs) + def form_response(data, *args, **kwargs): """ Responds using application/x-www-form-urlencoded and returns a werkzeug -- cgit v1.2.3 From 8917ffb1e73ac8ed0fc825113593e5e5ca9b4573 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Thu, 31 Jul 2014 20:33:04 +0100 Subject: Fix some security concerns regrding inpersonation in federation code. --- mediagoblin/federation/views.py | 20 +++++++++-- mediagoblin/tests/test_api.py | 80 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+), 2 deletions(-) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index a6912166..d3ded448 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -73,8 +73,16 @@ def uploads(request): if requested_user is None: return json_error("No such 'user' with id '{0}'".format(user), 404) - request.user = requested_user[0] + requested_user = requested_user[0] if request.method == "POST": + # Ensure that the user is only able to upload to their own + # upload endpoint. + if requested_user.id != request.user.id: + return json_error( + "Not able to post to another users feed.", + status=403 + ) + # Wrap the data in the werkzeug file wrapper if "Content-Type" not in request.headers: return json_error( @@ -107,12 +115,20 @@ def feed(request): if requested_user is None: return json_error("No such 'user' with id '{0}'".format(user), 404) - request.user = requested_user[0] + requested_user = requested_user[0] if request.data: data = json.loads(request.data) else: data = {"verb": None, "object": {}} + # We need to check that the user they're posting to is + # the person that they are. + if request.method in ["POST", "PUT"] and requested_user.id != request.user.id: + return json_error( + "Not able to post to another users feed.", + status=403 + ) + if request.method == "POST" and data["verb"] == "post": obj = data.get("object", None) if obj is None: diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index 88d86053..a003e66d 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -35,6 +35,10 @@ class TestAPI(object): self.db = mg_globals.database self.user = fixture_add_user(privileges=[u'active', u'uploader', u'commenter']) + self.other_user = fixture_add_user( + username="otheruser", + privileges=[u'active', u'uploader', u'commenter'] + ) def _activity_to_feed(self, test_app, activity, headers=None): """ Posts an activity to the user's feed """ @@ -115,6 +119,51 @@ class TestAPI(object): # Check that we got the response we're expecting response, _ = self._post_image_to_feed(test_app, image) assert response.status_code == 200 + + def test_unable_to_upload_as_someone_else(self, test_app): + """ Test that can't upload as someoen else """ + data = open(GOOD_JPG, "rb").read() + headers = { + "Content-Type": "image/jpeg", + "Content-Length": str(len(data)) + } + + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): + + # Will be self.user trying to upload as self.other_user + with pytest.raises(AppError) as excinfo: + test_app.post( + "/api/user/{0}/uploads".format(self.other_user.username), + data, + headers=headers + ) + + assert "403 FORBIDDEN" in excinfo.value.message + + def test_unable_to_post_feed_as_someone_else(self, test_app): + """ Tests that can't post an image to someone else's feed """ + response, data = self._upload_image(test_app, GOOD_JPG) + + activity = { + "verb": "post", + "object": data + } + + headers = { + "Content-Type": "application/json", + } + + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): + with pytest.raises(AppError) as excinfo: + test_app.post( + "/api/user/{0}/feed".format(self.other_user.username), + json.dumps(activity), + headers=headers + ) + + assert "403 FORBIDDEN" in excinfo.value.message def test_upload_image_with_filename(self, test_app): """ Tests that you can upload an image with filename and description """ @@ -243,6 +292,37 @@ class TestAPI(object): # Test that the response is what we should be given assert comment.id == comment_data["object"]["id"] assert comment.content == comment_data["object"]["content"] + + def test_unable_to_post_comment_as_someone_else(self, test_app): + """ Tests that you're unable to post a comment as someone else. """ + # Upload some media to comment on + response, data = self._upload_image(test_app, GOOD_JPG) + response, data = self._post_image_to_feed(test_app, data) + + activity = { + "verb": "post", + "object": { + "objectType": "comment", + "content": "comment commenty comment ^_^", + "inReplyTo": data["object"], + } + } + + headers = { + "Content-Type": "application/json", + } + + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): + with pytest.raises(AppError) as excinfo: + test_app.post( + "/api/user/{0}/feed".format(self.other_user.username), + json.dumps(activity), + headers=headers + ) + + assert "403 FORBIDDEN" in excinfo.value.message + def test_profile(self, test_app): """ Tests profile endpoint """ -- cgit v1.2.3 From 19df85773489255fdefbd1ed4ede033048c3588f Mon Sep 17 00:00:00 2001 From: ayleph Date: Fri, 1 Aug 2014 20:15:55 -0700 Subject: Updated video thumbnail pipeline to use decodebin2 The video thumbnailer uses decodebin to automatically detect the file type in the thumbnail pipeline. However, decodebin does not properly demux theora streams, which causes the thumbnailer to fail for .ogv files. decodebin2 properly demuxes the theora stream and successfully creates thumbnails for .ogv files. --- mediagoblin/media_types/video/transcoders.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/video/transcoders.py b/mediagoblin/media_types/video/transcoders.py index 9d6b7655..3a3fa97f 100644 --- a/mediagoblin/media_types/video/transcoders.py +++ b/mediagoblin/media_types/video/transcoders.py @@ -186,7 +186,7 @@ from playbin') self.buffer_probes = {} pipeline = ''.join([ - 'filesrc location="%s" ! decodebin ! ' % self.source_path, + 'filesrc location="%s" ! decodebin2 ! ' % self.source_path, 'ffmpegcolorspace ! videoscale ! ', 'video/x-raw-rgb,depth=24,bpp=24,pixel-aspect-ratio=1/1', ',width={0}'.format(self.width) if self.width else '', -- cgit v1.2.3 From 2d4d24f51eb1a7a187dbfd9f077c864a309b3171 Mon Sep 17 00:00:00 2001 From: Matt Molyneaux Date: Mon, 24 Mar 2014 15:00:19 +0000 Subject: Use the STARTTLS command to upgrade SMTP connections where possible. Adds the option `email_smtp_force_tls` which will cause `send_email` to error if it is unable to use the `STARTTLS` command (e.g. where the user knows the SMTPd supports `STARTTLS` and wishes to protect themselves against a downgrade attack) Setting both `email_smtp_user_ssl` and `email_smtp_force_tls` may result in undefined behaviour if the SMTPd has not been correctly configured. TODO: Unit tests? TODO: Documentation? --- mediagoblin/config_spec.ini | 1 + mediagoblin/tools/mail.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini index c35b709d..72993ed0 100644 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@ -24,6 +24,7 @@ direct_remote_path = string(default="/mgoblin_static/") # set to false to enable sending notices email_debug_mode = boolean(default=True) email_smtp_use_ssl = boolean(default=False) +email_smtp_force_tls = boolean(default=False) email_sender_address = string(default="notice@mediagoblin.example.org") email_smtp_host = string(default='') email_smtp_port = integer(default=0) diff --git a/mediagoblin/tools/mail.py b/mediagoblin/tools/mail.py index 0fabc5a9..889a4420 100644 --- a/mediagoblin/tools/mail.py +++ b/mediagoblin/tools/mail.py @@ -14,7 +14,9 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import six import smtplib +import sys from email.MIMEText import MIMEText from mediagoblin import mg_globals, messages from mediagoblin.tools import common @@ -64,6 +66,8 @@ class FakeMhost(object): 'to': to_addrs, 'message': message}) + def starttls(self): + raise smtplib.SMTPException("No STARTTLS here") def _clear_test_inboxes(): global EMAIL_TEST_INBOX @@ -103,6 +107,13 @@ def send_email(from_addr, to_addrs, subject, message_body): if not mg_globals.app_config['email_smtp_host']: # e.g. host = '' mhost.connect() # We SMTP.connect explicitly + try: + mhost.starttls() + except smtplib.SMTPException: + # Only raise an exception if we're forced to + if mg_globals.app_config['email_smtp_force_tls']: + six.reraise(*sys.exc_info()) + if ((not common.TESTS_ENABLED) and (mg_globals.app_config['email_smtp_user'] or mg_globals.app_config['email_smtp_pass'])): -- cgit v1.2.3 From 23002ee77f742f3b00fbee64def0dea5de0f5e51 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 3 Aug 2014 14:09:31 -0500 Subject: Set up virtualenv to use py2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit sponsored by Jonas Öberg. Thanks Jonas! --- docs/source/siteadmin/deploying.rst | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/docs/source/siteadmin/deploying.rst b/docs/source/siteadmin/deploying.rst index 9dea239f..741e9655 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -200,7 +200,7 @@ Clone the MediaGoblin repository and set up the git submodules:: And set up the in-package virtualenv:: - (virtualenv --system-site-packages . || virtualenv .) && ./bin/python setup.py develop + (virtualenv --python=python2 --system-site-packages . || virtualenv --python=python22 .) && ./bin/python setup.py develop .. note:: @@ -214,16 +214,6 @@ And set up the in-package virtualenv:: Note: this is liable to break. Use this method with caution. -.. :: - - (NOTE: Is this still relevant?) - - If you have problems here, consider trying to install virtualenv - with the ``--distribute`` or ``--no-site-packages`` options. If - your system's default Python is in the 3.x series you may need to - run ``virtualenv`` with the ``--python=python2.7`` or - ``--python=python2.6`` options. - The above provides an in-package install of ``virtualenv``. While this is counter to the conventional ``virtualenv`` configuration, it is more reliable and considerably easier to configure and illustrate. If -- cgit v1.2.3 From bf92ac6d7c26be82864176b76be9119461411071 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 4 Aug 2014 11:55:05 -0500 Subject: Adding Pump API stuff to the docs index. This commit sponsored by Joel Luellwitz. Thanks! --- docs/source/index.rst | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/source/index.rst b/docs/source/index.rst index 3ead6136..6260a595 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -96,6 +96,26 @@ This chapter contains various information for developers. devel/migrations +Part 5: Pump API +================ + +This chapter covers MediaGoblin's `Pump API +`_ support. (A +work in progress; full federation is not supported at the moment, but +media uploading works! You can use something like +`PyPump `_ +to write MediaGoblin uploadable applications.) + +.. toctree:: + :maxdepth: 1 + + api/client_register + api/oauth + api/media + api/media_interaction + + + Indices and tables ================== -- cgit v1.2.3 From 8d75091de225fdae94213fc0079a5cddc4a8171a Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Fri, 1 Aug 2014 22:26:12 +0100 Subject: Add more security checks when updating objects and tests --- mediagoblin/federation/views.py | 59 +++++++++++++--------- mediagoblin/tests/test_api.py | 107 ++++++++++++++++++++++++++++++++++------ 2 files changed, 129 insertions(+), 37 deletions(-) diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index d3ded448..f178a3fb 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -20,7 +20,6 @@ import mimetypes from werkzeug.datastructures import FileStorage -from mediagoblin.media_types import sniff_media from mediagoblin.decorators import oauth_required from mediagoblin.federation.decorators import user_has_privilege from mediagoblin.db.models import User, MediaEntry, MediaComment @@ -36,18 +35,19 @@ from mediagoblin.media_types.image import MEDIA_TYPE as IMAGE_MEDIA_TYPE def profile(request, raw=False): """ This is /api/user//profile - This will give profile info """ user = request.matchdict["username"] - requested_user = User.query.filter_by(username=user) + requested_user = User.query.filter_by(username=user).first() - if requested_user is None: - return json_error("No such 'user' with id '{0}'".format(user), 404) - - user = requested_user[0] + if user is None: + return json_error( + "No such 'user' with id '{0}'".format(user), + status=404 + ) if raw: - return (user, user.serialize(request)) + return (requested_user.username, requested_user.serialize(request)) # user profiles are public so return information - return json_response(user.serialize(request)) + return json_response(requested_user.serialize(request)) @oauth_required def user(request): @@ -68,12 +68,11 @@ def user(request): def uploads(request): """ Endpoint for file uploads """ user = request.matchdict["username"] - requested_user = User.query.filter_by(username=user) + requested_user = User.query.filter_by(username=user).first() if requested_user is None: return json_error("No such 'user' with id '{0}'".format(user), 404) - requested_user = requested_user[0] if request.method == "POST": # Ensure that the user is only able to upload to their own # upload endpoint. @@ -82,7 +81,7 @@ def uploads(request): "Not able to post to another users feed.", status=403 ) - + # Wrap the data in the werkzeug file wrapper if "Content-Type" not in request.headers: return json_error( @@ -97,7 +96,6 @@ def uploads(request): ) # Find media manager - media_type, media_manager = sniff_media(file_data, filename) entry = new_upload_entry(request.user) entry.media_type = IMAGE_MEDIA_TYPE return api_upload_request(request, file_data, entry) @@ -109,13 +107,12 @@ def uploads(request): def feed(request): """ Handles the user's outbox - /api/user//feed """ user = request.matchdict["username"] - requested_user = User.query.filter_by(username=user) + requested_user = User.query.filter_by(username=user).first() # check if the user exists if requested_user is None: return json_error("No such 'user' with id '{0}'".format(user), 404) - requested_user = requested_user[0] if request.data: data = json.loads(request.data) else: @@ -123,7 +120,9 @@ def feed(request): # We need to check that the user they're posting to is # the person that they are. - if request.method in ["POST", "PUT"] and requested_user.id != request.user.id: + if request.method in ["POST", "PUT"] and \ + requested_user.id != request.user.id: + return json_error( "Not able to post to another users feed.", status=403 @@ -151,14 +150,13 @@ def feed(request): elif obj.get("objectType", None) == "image": # Posting an image to the feed media_id = int(data["object"]["id"]) - media = MediaEntry.query.filter_by(id=media_id) + media = MediaEntry.query.filter_by(id=media_id).first() if media is None: return json_response( "No such 'image' with id '{0}'".format(id=media_id), status=404 ) - media = media.first() if not media.unserialize(data["object"]): return json_error( "Invalid 'image' with id '{0}'".format(media_id) @@ -203,13 +201,20 @@ def feed(request): status=403 ) - comment = MediaComment.query.filter_by(id=obj_id) + comment = MediaComment.query.filter_by(id=obj_id).first() if comment is None: return json_error( "No such 'comment' with id '{0}'.".format(obj_id) ) - comment = comment[0] + # Check that the person trying to update the comment is + # the author of the comment. + if comment.author != request.user.id: + return json_error( + "Only author of comment is able to update comment.", + status=403 + ) + if not comment.unserialize(data["object"]): return json_error( "Invalid 'comment' with id '{0}'".format(obj_id) @@ -224,13 +229,20 @@ def feed(request): return json_response(activity) elif obj["objectType"] == "image": - image = MediaEntry.query.filter_by(id=obj_id) + image = MediaEntry.query.filter_by(id=obj_id).first() if image is None: return json_error( "No such 'image' with the id '{0}'.".format(obj_id) ) - image = image[0] + # Check that the person trying to update the comment is + # the author of the comment. + if image.uploader != request.user.id: + return json_error( + "Only uploader of image is able to update image.", + status=403 + ) + if not image.unserialize(obj): return json_error( "Invalid 'image' with id '{0}'".format(obj_id) @@ -314,7 +326,10 @@ def object(request, raw_obj=False): if object_type not in ["image"]: # not sure why this is 404, maybe ask evan. Maybe 400? - return json_error("Unknown type: {0}".format(object_type), status=404) + return json_error( + "Unknown type: {0}".format(object_type), + status=404 + ) media = MediaEntry.query.filter_by(id=object_id).first() if media is None: diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index a003e66d..bda9459c 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -22,7 +22,7 @@ from webtest import AppError from .resources import GOOD_JPG from mediagoblin import mg_globals -from mediagoblin.db.models import User, MediaEntry +from mediagoblin.db.models import User, MediaEntry, MediaComment from mediagoblin.tests.tools import fixture_add_user from mediagoblin.moderation.tools import take_away_privileges @@ -119,7 +119,7 @@ class TestAPI(object): # Check that we got the response we're expecting response, _ = self._post_image_to_feed(test_app, image) assert response.status_code == 200 - + def test_unable_to_upload_as_someone_else(self, test_app): """ Test that can't upload as someoen else """ data = open(GOOD_JPG, "rb").read() @@ -127,10 +127,10 @@ class TestAPI(object): "Content-Type": "image/jpeg", "Content-Length": str(len(data)) } - + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): - + # Will be self.user trying to upload as self.other_user with pytest.raises(AppError) as excinfo: test_app.post( @@ -138,22 +138,22 @@ class TestAPI(object): data, headers=headers ) - + assert "403 FORBIDDEN" in excinfo.value.message - + def test_unable_to_post_feed_as_someone_else(self, test_app): """ Tests that can't post an image to someone else's feed """ response, data = self._upload_image(test_app, GOOD_JPG) - + activity = { "verb": "post", "object": data } - + headers = { "Content-Type": "application/json", } - + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): with pytest.raises(AppError) as excinfo: @@ -162,7 +162,40 @@ class TestAPI(object): json.dumps(activity), headers=headers ) - + + assert "403 FORBIDDEN" in excinfo.value.message + + def test_only_able_to_update_own_image(self, test_app): + """ Test's that the uploader is the only person who can update an image """ + response, data = self._upload_image(test_app, GOOD_JPG) + response, data = self._post_image_to_feed(test_app, data) + + activity = { + "verb": "update", + "object": data["object"], + } + + headers = { + "Content-Type": "application/json", + } + + # Lets change the image uploader to be self.other_user, this is easier + # than uploading the image as someone else as the way self.mocked_oauth_required + # and self._upload_image. + media = MediaEntry.query.filter_by(id=data["object"]["id"]).first() + media.uploader = self.other_user.id + media.save() + + # Now lets try and edit the image as self.user, this should produce a 403 error. + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): + with pytest.raises(AppError) as excinfo: + test_app.post( + "/api/user/{0}/feed".format(self.user.username), + json.dumps(activity), + headers=headers + ) + assert "403 FORBIDDEN" in excinfo.value.message def test_upload_image_with_filename(self, test_app): @@ -292,13 +325,13 @@ class TestAPI(object): # Test that the response is what we should be given assert comment.id == comment_data["object"]["id"] assert comment.content == comment_data["object"]["content"] - + def test_unable_to_post_comment_as_someone_else(self, test_app): """ Tests that you're unable to post a comment as someone else. """ # Upload some media to comment on response, data = self._upload_image(test_app, GOOD_JPG) response, data = self._post_image_to_feed(test_app, data) - + activity = { "verb": "post", "object": { @@ -307,11 +340,11 @@ class TestAPI(object): "inReplyTo": data["object"], } } - + headers = { "Content-Type": "application/json", } - + with mock.patch("mediagoblin.decorators.oauth_required", new_callable=self.mocked_oauth_required): with pytest.raises(AppError) as excinfo: @@ -320,9 +353,53 @@ class TestAPI(object): json.dumps(activity), headers=headers ) - + assert "403 FORBIDDEN" in excinfo.value.message + def test_unable_to_update_someone_elses_comment(self, test_app): + """ Test that you're able to update someoen elses comment. """ + # Upload some media to comment on + response, data = self._upload_image(test_app, GOOD_JPG) + response, data = self._post_image_to_feed(test_app, data) + + activity = { + "verb": "post", + "object": { + "objectType": "comment", + "content": "comment commenty comment ^_^", + "inReplyTo": data["object"], + } + } + + headers = { + "Content-Type": "application/json", + } + + # Post the comment. + response, comment_data = self._activity_to_feed(test_app, activity) + + # change who uploaded the comment as it's easier than changing + comment_id = comment_data["object"]["id"] + comment = MediaComment.query.filter_by(id=comment_id).first() + comment.author = self.other_user.id + + # Update the comment as someone else. + comment_data["object"]["content"] = "Yep" + activity = { + "verb": "update", + "object": comment_data["object"] + } + + with mock.patch("mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required): + with pytest.raises(AppError) as excinfo: + test_app.post( + "/api/user/{0}/feed".format(self.user.username), + json.dumps(activity), + headers=headers + ) + + assert "403 FORBIDDEN" in excinfo.value.message def test_profile(self, test_app): """ Tests profile endpoint """ -- cgit v1.2.3 From 51a46e43f55cbf3c40fee1f631b10c474d73681d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 4 Aug 2014 13:45:15 -0500 Subject: Committing present MediaGoblin translations before pushing extracted messages --- mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po | 49 +- mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.po | 2493 +++++++++++++++++++++ mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.po | 2493 +++++++++++++++++++++ mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po | 67 +- 4 files changed, 5045 insertions(+), 57 deletions(-) create mode 100644 mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.po create mode 100644 mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.po diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po index babc9e9f..5eb4266a 100644 --- a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po @@ -11,6 +11,7 @@ # Jakob Kramer , 2012-2013 # Jan-Christoph Borchardt , 2011 # Jan-Christoph Borchardt , 2011, 2012 +# janssen , 2014 # Keyzo , 2011 # Marc Riese , 2013 # Marc Riese , 2013 @@ -26,8 +27,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-08-04 17:42+0000\n" +"Last-Translator: janssen \n" "Language-Team: German (http://www.transifex.com/projects/p/mediagoblin/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -358,19 +359,19 @@ msgstr "" #: mediagoblin/gmg_commands/batchaddmedia.py:160 msgid "FAIL: This file is larger than the upload limits for this site." -msgstr "" +msgstr "FEHLER: Diese Datei ist größer als das Hochlad-Limit für diese Seite." #: mediagoblin/gmg_commands/batchaddmedia.py:163 msgid "FAIL: This file will put this user past their upload limits." -msgstr "" +msgstr "FEHLER: Die Datei wird das Hochlad-Limit des Benutzers überschreiten." #: mediagoblin/gmg_commands/batchaddmedia.py:166 msgid "FAIL: This user is already past their upload limits." -msgstr "" +msgstr "FEHLER: Dieser Benutzer hat das Hochlad-Limit bereits erreicht." #: mediagoblin/gmg_commands/batchaddmedia.py:168 msgid "{files_uploaded} out of {files_attempted} files successfully submitted" -msgstr "" +msgstr "{files_uploaded} aus {files_attempted} Dateien wurden erfolgreich hochgeladen" #: mediagoblin/meddleware/csrf.py:134 msgid "" @@ -400,11 +401,11 @@ msgstr "JAAA! Geschafft!" #: mediagoblin/media_types/blog/views.py:198 msgid "Woohoo! edited blogpost is submitted" -msgstr "" +msgstr "Woohoo! Die Änderung am Blogeintrag ist durchgeführt." #: mediagoblin/media_types/blog/views.py:320 msgid "You deleted the Blog." -msgstr "" +msgstr "Du hast den Blog gelöscht." #: mediagoblin/media_types/blog/views.py:326 #: mediagoblin/user_pages/views.py:329 @@ -413,23 +414,23 @@ msgstr "Das Medium wurde nicht gelöscht, da du die Löschung nicht bestätigt h #: mediagoblin/media_types/blog/views.py:333 msgid "You are about to delete another user's Blog. Proceed with caution." -msgstr "" +msgstr "Du bist daran, einen Blog von einem anderen Benutzer zu löschen. Bitte sei vorsichtig." #: mediagoblin/media_types/blog/views.py:344 msgid "The blog was not deleted because you have no rights." -msgstr "" +msgstr "Der Blog wurde nicht gelöscht, weil du keine Rechte für diesen Vorgang hast." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 msgid "Add Blog Post" -msgstr "" +msgstr "Einen Blogeintrag hinzufügen" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 msgid "Edit Blog" -msgstr "" +msgstr "Blog editieren" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 msgid "Delete Blog" -msgstr "" +msgstr "Blog löschen" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 @@ -451,11 +452,11 @@ msgstr "Löschen" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 msgid " Go to list view " -msgstr "" +msgstr " Gehe zur Listenansicht" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 msgid " No blog post yet. " -msgstr "" +msgstr "Noch kein Blogeintrag vorhanden." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 @@ -484,7 +485,7 @@ msgstr "Endgültig löschen" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 msgid "Create/Edit a Blog" -msgstr "" +msgstr "Erstelle/Editiere einen Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 #: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 @@ -497,28 +498,28 @@ msgstr "Hinzufügen" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 msgid "Create/Edit a blog post." -msgstr "" +msgstr "Erstelle/Editiere einen Blogeintrag." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 msgid "Create/Edit a Blog Post." -msgstr "" +msgstr "Erstelle/Editiere einen Blogeintrag." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 #, python-format msgid "%(blog_owner_name)s's Blog" -msgstr "" +msgstr "Blog von %(blog_owner_name)s" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 msgid "View" -msgstr "" +msgstr "Zeige" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 msgid "Create a Blog" -msgstr "" +msgstr "Erstelle einen Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 msgid " Blog Dashboard " -msgstr "" +msgstr "Blog Übersicht" #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" @@ -562,11 +563,11 @@ msgstr "Welche Rechte wirst du entziehen?" #: mediagoblin/moderation/forms.py:122 msgid "Why user was banned:" -msgstr "" +msgstr "Der Benutzer wurde verbannt wegen:" #: mediagoblin/moderation/forms.py:125 msgid "Message to user:" -msgstr "" +msgstr "Nachricht zum Benutzer:" #: mediagoblin/moderation/forms.py:128 msgid "Resolution content:" diff --git a/mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..99f3b6fb --- /dev/null +++ b/mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,2493 @@ +# Translations template for PROJECT. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: GNU MediaGoblin\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2011-08-07 03:51+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Finnish (http://www.transifex.com/projects/p/mediagoblin/language/fi/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Language: fi\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +msgid "Sorry, registration is disabled on this instance." +msgstr "" + +#: mediagoblin/decorators.py:315 +msgid "Sorry, reporting is disabled on this instance." +msgstr "" + +#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/plugins/persona/views.py:77 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:44 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:45 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:116 +msgid "Sorry, a user with that name already exists." +msgstr "" + +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 +msgid "Sorry, a user with that email address already exists." +msgstr "" + +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 +msgid "The verification key or user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:161 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "" + +#: mediagoblin/auth/views.py:167 +msgid "The verification key or user id is incorrect" +msgstr "" + +#: mediagoblin/auth/views.py:185 +msgid "You must be logged in so we know who to send the email to!" +msgstr "" + +#: mediagoblin/auth/views.py:193 +msgid "You've already verified your email address!" +msgstr "" + +#: mediagoblin/auth/views.py:203 +msgid "Resent your verification email." +msgstr "" + +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 +msgid "Title" +msgstr "" + +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 +msgid "Description of this work" +msgstr "" + +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 +msgid "Tags" +msgstr "" + +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 +msgid "Separate tags by commas." +msgstr "" + +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 +msgid "Slug" +msgstr "" + +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 +msgid "The slug can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:44 +msgid "" +"The title part of this media's address. You usually don't need to change " +"this." +msgstr "" + +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 +#: mediagoblin/templates/mediagoblin/utils/license.html:20 +msgid "License" +msgstr "" + +#: mediagoblin/edit/forms.py:54 +msgid "Bio" +msgstr "" + +#: mediagoblin/edit/forms.py:60 +msgid "Website" +msgstr "" + +#: mediagoblin/edit/forms.py:62 +msgid "This address contains errors" +msgstr "" + +#: mediagoblin/edit/forms.py:67 +msgid "Email me when others comment on my media" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "Enable insite notifications about events." +msgstr "" + +#: mediagoblin/edit/forms.py:71 +msgid "License preference" +msgstr "" + +#: mediagoblin/edit/forms.py:77 +msgid "This will be your default license on upload forms." +msgstr "" + +#: mediagoblin/edit/forms.py:90 +msgid "The title can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 +#: mediagoblin/user_pages/forms.py:48 +msgid "Description of this collection" +msgstr "" + +#: mediagoblin/edit/forms.py:99 +msgid "" +"The title part of this collection's address. You usually don't need to " +"change this." +msgstr "" + +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 +msgid "Old password" +msgstr "" + +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 +msgid "Enter your old password to prove you own this account." +msgstr "" + +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 +msgid "New password" +msgstr "" + +#: mediagoblin/edit/forms.py:119 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/plugins/ldap/forms.py:39 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 +#: mediagoblin/tests/test_util.py:116 +msgid "Password" +msgstr "" + +#: mediagoblin/edit/forms.py:125 +msgid "Enter your password to prove you own this account." +msgstr "" + +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 +msgid "An entry with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:96 +msgid "You are editing another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:166 +#, python-format +msgid "You added the attachment %s!" +msgstr "" + +#: mediagoblin/edit/views.py:193 +msgid "You can only edit your own profile." +msgstr "" + +#: mediagoblin/edit/views.py:199 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:215 +msgid "Profile changes saved" +msgstr "" + +#: mediagoblin/edit/views.py:248 +msgid "Account settings saved" +msgstr "" + +#: mediagoblin/edit/views.py:282 +msgid "You need to confirm the deletion of your account." +msgstr "" + +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 +#, python-format +msgid "You already have a collection called \"%s\"!" +msgstr "" + +#: mediagoblin/edit/views.py:322 +msgid "A collection with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:337 +msgid "You are editing another user's collection. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:378 +msgid "Your email address has been verified." +msgstr "" + +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 +msgid "Wrong password" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:60 +msgid "Cannot link theme... no theme set\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:73 +msgid "No asset directory for this theme\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:76 +msgid "However, old link directory symlink found; removed.\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:112 +#, python-format +msgid "Could not link \"%s\": %s exists and is not a symlink\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:119 +#, python-format +msgid "Skipping \"%s\"; already set up.\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:124 +#, python-format +msgid "Old link found for \"%s\"; removing.\n" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + +#: mediagoblin/meddleware/csrf.py:134 +msgid "" +"CSRF cookie not present. This is most likely the result of a cookie blocker " +"or somesuch.
Make sure to permit the settings of cookies for this " +"domain." +msgstr "" + +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 +msgid "Sorry, I don't support that file type :(" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + +#: mediagoblin/media_types/pdf/processing.py:142 +msgid "unoconv failing to run, check log file" +msgstr "" + +#: mediagoblin/media_types/video/processing.py:44 +msgid "Video transcoding failed" +msgstr "" + +#: mediagoblin/moderation/forms.py:21 +msgid "Take away privilege" +msgstr "" + +#: mediagoblin/moderation/forms.py:22 +msgid "Ban the user" +msgstr "" + +#: mediagoblin/moderation/forms.py:23 +msgid "Send the user a message" +msgstr "" + +#: mediagoblin/moderation/forms.py:24 +msgid "Delete the content" +msgstr "" + +#: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 +msgid "User will be banned until:" +msgstr "" + +#: mediagoblin/moderation/forms.py:57 +msgid "Why are you banning this User?" +msgstr "" + +#: mediagoblin/moderation/forms.py:109 +msgid "What action will you take to resolve the report?" +msgstr "" + +#: mediagoblin/moderation/forms.py:115 +msgid "What privileges will you take away?" +msgstr "" + +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + +#: mediagoblin/moderation/tools.py:91 +msgid "Warning from" +msgstr "" + +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 +msgid "commented on your post" +msgstr "" + +#: mediagoblin/notifications/views.py:35 +#, python-format +msgid "Subscribed to comments on %s!" +msgstr "" + +#: mediagoblin/notifications/views.py:48 +#, python-format +msgid "You will not receive notifications for comments on %s." +msgstr "" + +#: mediagoblin/oauth/views.py:242 +msgid "Must provide an oauth_token." +msgstr "" + +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 +msgid "No request token found." +msgstr "" + +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/submit/views.py:78 +msgid "Sorry, the file size is too big." +msgstr "" + +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/submit/views.py:81 +msgid "Sorry, uploading this file will put you over your upload limit." +msgstr "" + +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/submit/views.py:87 +msgid "Sorry, you have reached your upload limit." +msgstr "" + +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:24 +#: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:76 +msgid "Username" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/ldap/forms.py:28 mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:51 +msgid "Username or email" +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:54 +msgid "" +"If that email address (case sensitive!) is registered an email has been sent" +" with instructions on how to change your password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:65 +msgid "Couldn't find someone with that username." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:68 +msgid "" +"An email has been sent with instructions on how to change your password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:75 +msgid "" +"Could not send password recovery email as your username is inactive or your " +"account's email address has not been verified." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:123 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:139 +msgid "You can now log in using your new password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:163 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your account." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:215 +msgid "Your password was changed successfully" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 +msgid "Set your new password" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 +msgid "Set password" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 +#, python-format +msgid "Changing %(username)s's password" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:40 +msgid "Save" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 +msgid "Don't have an account yet?" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:24 +msgid "Create one here!" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 +msgid "Change your password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 +msgid "Recover password" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:34 +msgid "Send instructions" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html:22 +msgid "Forgot your password?" +msgstr "" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 +msgid "Location" +msgstr "" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:52 +#, python-format +msgid "View on OpenStreetMap" +msgstr "" + +#: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 +msgid "Sign in to create an account!" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:29 +msgid "Allow" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:30 +msgid "Deny" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:34 +msgid "Name" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:35 +msgid "The name of the OAuth client" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:38 +msgid "" +"This will be visible to users allowing your\n" +" application to authenticate as them." +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:40 +msgid "Type" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:45 +msgid "" +"Confidential - The client can\n" +" make requests to the GNU MediaGoblin instance that can not be\n" +" intercepted by the user agent (e.g. server-side client).
\n" +" Public - The client can't make confidential\n" +" requests to the GNU MediaGoblin instance (e.g. client-side\n" +" JavaScript client)." +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:52 +msgid "Redirect URI" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:54 +msgid "" +"The redirect URI for the applications, this field\n" +" is required for public clients." +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:66 +msgid "This field is required for public clients" +msgstr "" + +#: mediagoblin/plugins/oauth/views.py:55 +msgid "The client {0} has been registered!" +msgstr "" + +#: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 +msgid "OAuth client connections" +msgstr "" + +#: mediagoblin/plugins/oauth/templates/oauth/client/list.html:22 +msgid "Your OAuth clients" +msgstr "" + +#: mediagoblin/plugins/openid/__init__.py:97 +#: mediagoblin/plugins/openid/views.py:268 +#: mediagoblin/plugins/openid/views.py:297 +msgid "Sorry, an account is already registered to that OpenID." +msgstr "" + +#: mediagoblin/plugins/openid/forms.py:38 +msgid "OpenID" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:48 +msgid "Sorry, the OpenID server could not be found" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:61 +#, python-format +msgid "No OpenID service was found for %s" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:106 +#, python-format +msgid "Verification of %s failed: %s" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:117 +msgid "Verification cancelled" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:314 +msgid "Your OpenID url was saved successfully." +msgstr "" + +#: mediagoblin/plugins/openid/views.py:338 +#: mediagoblin/plugins/openid/views.py:393 +msgid "You can't delete your only OpenID URL unless you have a password set" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:343 +#: mediagoblin/plugins/openid/views.py:402 +msgid "That OpenID is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/openid/views.py:385 +msgid "OpenID was successfully removed." +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:34 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:23 +msgid "Add an OpenID" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:34 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:31 +msgid "Delete an OpenID" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 +msgid "OpenID's" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 +#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:47 +msgid "Log in" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 +msgid "Log in to create an account!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 +msgid "Or login with a password!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 +msgid "Or login with OpenID!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 +msgid "Or register with OpenID!" +msgstr "" + +#: mediagoblin/plugins/persona/__init__.py:90 +msgid "Sorry, an account is already registered to that Persona email." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:138 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:144 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:149 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:176 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:192 +msgid "Your Persona email address was saved successfully." +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 +msgid "Delete a Persona email address" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 +msgid "Add a Persona email address" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 +msgid "Persona's" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 +msgid "Or login with Persona!" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 +msgid "Or register with Persona!" +msgstr "" + +#: mediagoblin/processing/__init__.py:420 +msgid "Invalid file given for media type." +msgstr "" + +#: mediagoblin/processing/__init__.py:427 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:435 +msgid "An acceptable processing file was not found" +msgstr "" + +#: mediagoblin/submit/forms.py:30 +msgid "Max file size: {0} mb" +msgstr "" + +#: mediagoblin/submit/forms.py:34 +msgid "File" +msgstr "" + +#: mediagoblin/submit/forms.py:41 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/submit/views.py:55 +msgid "You must provide a file." +msgstr "" + +#: mediagoblin/submit/views.py:138 +#, python-format +msgid "Collection \"%s\" added!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:20 +msgid "You are Banned." +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:24 +#: mediagoblin/templates/mediagoblin/error.html:24 +msgid "Image of goblin stressing out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:26 +msgid "You have been banned" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:28 +#, python-format +msgid "until %(until_when)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:97 +msgid "Verify your email!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 +msgid "log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:131 +#, python-format +msgid "%(user_name)s's account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:138 +msgid "Change account settings" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26 +msgid "Media processing panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:152 +msgid "Log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 +msgid "Add media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:158 +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 +msgid "Create new collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 +msgid "User management panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:173 +msgid "Report management panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:21 +msgid "Authorization" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:26 +#: mediagoblin/templates/mediagoblin/api/authorize.html:53 +msgid "Authorize" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:29 +msgid "You are logged in as" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:33 +msgid "Do you want to authorize " +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:37 +msgid "an unknown application" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:39 +msgid " to access your account? " +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:41 +msgid "Applications with access to your account can: " +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:43 +msgid "Post new media as you" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:44 +msgid "See your information (e.g profile, media, etc...)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:45 +msgid "Change your information" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/oob.html:21 +msgid "Authorization Finished" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/oob.html:26 +msgid "Authorization Complete" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/oob.html:28 +msgid "Copy and paste this into your client:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/register.html:28 +#: mediagoblin/templates/mediagoblin/auth/register.html:36 +msgid "Create an account!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/register.html:41 +msgid "Create" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to activate your GNU MediaGoblin account, open the following URL in\n" +"your web browser:\n" +"\n" +"%(verification_url)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:21 +#, python-format +msgid "" +"Powered by MediaGoblin, a GNU project." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:24 +#, python-format +msgid "" +"Released under the AGPL. Source code available." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:30 +msgid "Terms of Service" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:20 +msgid "Explore" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +msgid "Hi there, welcome to this MediaGoblin site!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +msgid "" +"This site is running MediaGoblin, an " +"extraordinarily great piece of media hosting software." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 +msgid "" +"To add your own media, place comments, and more, you can log in with your " +"MediaGoblin account." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 +msgid "Don't have one yet? It's easy!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 +msgid "" +"\n" +" >Create an account at this site\n" +" or" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 +msgid "" +"\n" +" Set up MediaGoblin on your own server" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/logo.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 +msgid "MediaGoblin logo" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:23 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:35 +#, python-format +msgid "Editing attachments for %(media_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 +msgid "Attachments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 +msgid "Add attachment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:63 +#: mediagoblin/templates/mediagoblin/edit/edit.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 +msgid "Save changes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/change_email.html:23 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:33 +#, python-format +msgid "Changing %(username)s's email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 +#, python-format +msgid "Really delete user '%(user_name)s' and all related media/comments?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 +msgid "Yes, really delete my account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit.html:35 +#, python-format +msgid "Editing %(media_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:40 +#, python-format +msgid "Changing %(username)s's account settings" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:54 +msgid "Delete my account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 +msgid "Email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 +#, python-format +msgid "Editing %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:34 +#, python-format +msgid "Editing %(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/verification.txt:19 +#, python-format +msgid "" +"Hi,\n" +"\n" +"We wanted to verify that you are %(username)s. If this is the case, then \n" +"please follow the link below to verify your new email address.\n" +"\n" +"%(verification_url)s\n" +"\n" +"If you are not %(username)s or didn't request an email change, you can ignore\n" +"this email." +msgstr "" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 +msgid "New comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 +#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 +#: mediagoblin/templates/mediagoblin/user_pages/report.html:48 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 +msgid "Mark all read" +msgstr "" + +#: mediagoblin/templates/mediagoblin/listings/collection.html:30 +#: mediagoblin/templates/mediagoblin/listings/collection.html:35 +#: mediagoblin/templates/mediagoblin/listings/tag.html:30 +#: mediagoblin/templates/mediagoblin/listings/tag.html:35 +#, python-format +msgid "Media tagged with: %(tag_name)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:74 +msgid "Download" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 +msgid "Original" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:44 +msgid "" +"Sorry, this audio will not work because \n" +"\tyour web browser does not support HTML5 \n" +"\taudio." +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 +msgid "" +"You can get a modern web browser that \n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:80 +msgid "Original file" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 +msgid "WebM file (Vorbis codec)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +msgid "Created" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 +#, python-format +msgid "Image for %(media_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 +msgid "PDF file" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 +msgid "Perspective" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 +msgid "Front" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 +msgid "Top" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +msgid "Side" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 +msgid "WebGL" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +msgid "Download model" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 +msgid "File Format" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 +msgid "Object Height" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:63 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:66 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:88 +msgid "WebM file (VP8/Vorbis)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 +msgid "" +"Here you can track the state of media being processed on this instance." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:33 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 +msgid "Media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 +msgid "No media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 +msgid "These uploads failed to process:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 +msgid "No failed entries!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:93 +msgid "Last 10 successful uploads" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 +msgid "No processed entries, yet!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:27 +msgid "Sorry, no such report found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 +msgid "Return to Reports Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 +msgid "Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 +msgid "Reported comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 +#, python-format +msgid "" +"\n" +" ❖ Reported media by %(user_name)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 +#, python-format +msgid "" +"\n" +" CONTENT BY\n" +" %(user_name)s\n" +" HAS BEEN DELETED\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 +msgid "Resolve" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 +msgid "Resolve This Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 +msgid "Status" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 +msgid "RESOLVED" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 +msgid "You cannot take action against an administrator" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 +msgid "Report panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 +msgid "" +"\n" +" Here you can look up open reports that have been filed by users.\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:35 +msgid "Active Reports Filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +msgid "Offender" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 +msgid "When Reported" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 +msgid "Reported By" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 +msgid "Reason" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 +#, python-format +msgid "" +"\n" +" Comment Report #%(report_id)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 +#, python-format +msgid "" +"\n" +" Media Report #%(report_id)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +msgid "No open reports found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 +msgid "Closed Reports" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +msgid "Resolved" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +msgid "Action Taken" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 +#, python-format +msgid "" +"\n" +" Closed Report #%(report_id)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 +msgid "No closed reports found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 +msgid "User panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:29 +msgid "" +"\n" +" Here you can look up users in order to take punitive actions on them.\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 +msgid "Active Users" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 +msgid "When Joined" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 +msgid "# of Comments Posted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 +msgid "No users found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/collection.html:26 +msgid "Add a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/start.html:28 +#: mediagoblin/templates/mediagoblin/submit/start.html:35 +msgid "Add your media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 +#, python-format +msgid "%(collection_title)s (%(username)s's collection)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 +#, python-format +msgid "%(collection_title)s by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 +#, python-format +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 +#, python-format +msgid "Really remove %(media_title)s from %(collection_title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 +msgid "Remove" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 +#, python-format +msgid "%(username)s's collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:28 +#, python-format +msgid "%(username)s's collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 +#, python-format +msgid "%(username)s's media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:38 +#, python-format +msgid "" +"%(username)s's media with tag %(tag)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#, python-format +msgid "%(username)s's media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:38 +#, python-format +msgid "❖ Browsing media by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 +msgid "Comment Preview" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 +#, python-format +msgid "Add “%(media_title)s” to a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 +msgid "+" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:58 +msgid "Add a new collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 +msgid "" +"You can track the state of media being processed for your gallery here." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 +msgid "Your last 10 successful uploads" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:21 +msgid "

File a Report

" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:24 +msgid "Reporting this Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:60 +msgid "Reporting this Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:72 +#, python-format +msgid "" +"\n" +" ❖ Published by %(username)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:81 +msgid "File Report " +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 +msgid "Here's a spot to tell others about yourself." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 +#, python-format +msgid "View all of %(username)s's media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 +msgid "" +"This is where your media will appear, but you don't seem to have added " +"anything yet." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 +#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 +msgid "There doesn't seem to be any media here yet..." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 +msgid "Almost done! Your account still needs to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:48 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:52 +msgid "In case it doesn't:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:55 +msgid "Resend verification email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:63 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:68 +#, python-format +msgid "" +"If you are that person but you've lost your verification email, you can log in and resend it." +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 +msgid "(remove)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:21 +msgid "Collected in" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:40 +msgid "Add to a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 +msgid "feed icon" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:23 +msgid "Atom feed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/license.html:25 +msgid "All rights reserved" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:39 +msgid "← Newer" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:45 +msgid "Older →" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:48 +msgid "Go to page:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:28 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:33 +msgid "newer" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:39 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:44 +msgid "older" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/report.html:25 +msgid "Report media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/tags.html:20 +msgid "Tagged with" +msgstr "" + +#: mediagoblin/tools/exif.py:81 +msgid "Could not read the image file." +msgstr "" + +#: mediagoblin/tools/response.py:38 +msgid "Oops!" +msgstr "" + +#: mediagoblin/tools/response.py:39 +msgid "An error occured" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:55 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:63 +msgid "Operation not allowed" +msgstr "" + +#: mediagoblin/tools/response.py:64 +msgid "" +"Sorry Dave, I can't let you do that!

You have tried to perform a " +"function that you are not allowed to. Have you been trying to delete all " +"user accounts again?" +msgstr "" + +#: mediagoblin/tools/response.py:72 +msgid "" +"There doesn't seem to be a page at this address. Sorry!

If you're sure" +" the address is correct, maybe the page you're looking for has been moved or" +" deleted." +msgstr "" + +#: mediagoblin/tools/timesince.py:62 +msgid "year" +msgstr "" + +#: mediagoblin/tools/timesince.py:63 +msgid "month" +msgstr "" + +#: mediagoblin/tools/timesince.py:64 +msgid "week" +msgstr "" + +#: mediagoblin/tools/timesince.py:65 +msgid "day" +msgstr "" + +#: mediagoblin/tools/timesince.py:66 +msgid "hour" +msgstr "" + +#: mediagoblin/tools/timesince.py:67 +msgid "minute" +msgstr "" + +#: mediagoblin/user_pages/forms.py:23 +msgid "Comment" +msgstr "" + +#: mediagoblin/user_pages/forms.py:25 +msgid "" +"You can use Markdown for formatting." +msgstr "" + +#: mediagoblin/user_pages/forms.py:35 +msgid "I am sure I want to remove this item from the collection" +msgstr "" + +#: mediagoblin/user_pages/forms.py:39 +msgid "Collection" +msgstr "" + +#: mediagoblin/user_pages/forms.py:40 +msgid "-- Select --" +msgstr "" + +#: mediagoblin/user_pages/forms.py:42 +msgid "Include a note" +msgstr "" + +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 +msgid "Reason for Reporting" +msgstr "" + +#: mediagoblin/user_pages/views.py:188 +msgid "Sorry, comments are disabled." +msgstr "" + +#: mediagoblin/user_pages/views.py:193 +msgid "Oops, your comment was empty." +msgstr "" + +#: mediagoblin/user_pages/views.py:199 +msgid "Your comment has been posted!" +msgstr "" + +#: mediagoblin/user_pages/views.py:235 +msgid "Please check your entries and try again." +msgstr "" + +#: mediagoblin/user_pages/views.py:275 +msgid "You have to select or add a collection" +msgstr "" + +#: mediagoblin/user_pages/views.py:286 +#, python-format +msgid "\"%s\" already in collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:292 +#, python-format +msgid "\"%s\" added to collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:317 +msgid "You deleted the media." +msgstr "" + +#: mediagoblin/user_pages/views.py:336 +msgid "You are about to delete another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:409 +msgid "You deleted the item from the collection." +msgstr "" + +#: mediagoblin/user_pages/views.py:413 +msgid "The item was not removed because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:421 +msgid "" +"You are about to delete an item from another user's collection. Proceed with" +" caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:453 +#, python-format +msgid "You deleted the collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:460 +msgid "" +"The collection was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:468 +msgid "" +"You are about to delete another user's collection. Proceed with caution." +msgstr "" diff --git a/mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..163a9c06 --- /dev/null +++ b/mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,2493 @@ +# Translations template for PROJECT. +# Copyright (C) 2014 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: GNU MediaGoblin\n" +"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" +"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"PO-Revision-Date: 2011-08-07 03:51+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/mediagoblin/language/nb_NO/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Language: nb_NO\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +msgid "Sorry, registration is disabled on this instance." +msgstr "" + +#: mediagoblin/decorators.py:315 +msgid "Sorry, reporting is disabled on this instance." +msgstr "" + +#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/plugins/persona/views.py:77 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:44 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:45 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:116 +msgid "Sorry, a user with that name already exists." +msgstr "" + +#: mediagoblin/auth/tools.py:120 mediagoblin/edit/views.py:407 +msgid "Sorry, a user with that email address already exists." +msgstr "" + +#: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 +msgid "The verification key or user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:161 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "" + +#: mediagoblin/auth/views.py:167 +msgid "The verification key or user id is incorrect" +msgstr "" + +#: mediagoblin/auth/views.py:185 +msgid "You must be logged in so we know who to send the email to!" +msgstr "" + +#: mediagoblin/auth/views.py:193 +msgid "You've already verified your email address!" +msgstr "" + +#: mediagoblin/auth/views.py:203 +msgid "Resent your verification email." +msgstr "" + +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 +#: mediagoblin/media_types/blog/forms.py:24 +#: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 +msgid "Title" +msgstr "" + +#: mediagoblin/edit/forms.py:32 mediagoblin/submit/forms.py:40 +msgid "Description of this work" +msgstr "" + +#: mediagoblin/edit/forms.py:33 mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:93 mediagoblin/submit/forms.py:65 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 +#: mediagoblin/submit/forms.py:45 +msgid "Tags" +msgstr "" + +#: mediagoblin/edit/forms.py:39 mediagoblin/submit/forms.py:47 +msgid "Separate tags by commas." +msgstr "" + +#: mediagoblin/edit/forms.py:42 mediagoblin/edit/forms.py:97 +msgid "Slug" +msgstr "" + +#: mediagoblin/edit/forms.py:43 mediagoblin/edit/forms.py:98 +msgid "The slug can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:44 +msgid "" +"The title part of this media's address. You usually don't need to change " +"this." +msgstr "" + +#: mediagoblin/edit/forms.py:48 mediagoblin/media_types/blog/forms.py:29 +#: mediagoblin/submit/forms.py:50 +#: mediagoblin/templates/mediagoblin/utils/license.html:20 +msgid "License" +msgstr "" + +#: mediagoblin/edit/forms.py:54 +msgid "Bio" +msgstr "" + +#: mediagoblin/edit/forms.py:60 +msgid "Website" +msgstr "" + +#: mediagoblin/edit/forms.py:62 +msgid "This address contains errors" +msgstr "" + +#: mediagoblin/edit/forms.py:67 +msgid "Email me when others comment on my media" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "Enable insite notifications about events." +msgstr "" + +#: mediagoblin/edit/forms.py:71 +msgid "License preference" +msgstr "" + +#: mediagoblin/edit/forms.py:77 +msgid "This will be your default license on upload forms." +msgstr "" + +#: mediagoblin/edit/forms.py:90 +msgid "The title can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:92 mediagoblin/submit/forms.py:64 +#: mediagoblin/user_pages/forms.py:48 +msgid "Description of this collection" +msgstr "" + +#: mediagoblin/edit/forms.py:99 +msgid "" +"The title part of this collection's address. You usually don't need to " +"change this." +msgstr "" + +#: mediagoblin/edit/forms.py:106 mediagoblin/plugins/basic_auth/forms.py:68 +msgid "Old password" +msgstr "" + +#: mediagoblin/edit/forms.py:108 mediagoblin/plugins/basic_auth/forms.py:70 +msgid "Enter your old password to prove you own this account." +msgstr "" + +#: mediagoblin/edit/forms.py:111 mediagoblin/plugins/basic_auth/forms.py:73 +msgid "New password" +msgstr "" + +#: mediagoblin/edit/forms.py:119 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/plugins/ldap/forms.py:39 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 +#: mediagoblin/tests/test_util.py:116 +msgid "Password" +msgstr "" + +#: mediagoblin/edit/forms.py:125 +msgid "Enter your password to prove you own this account." +msgstr "" + +#: mediagoblin/edit/forms.py:155 +msgid "Identifier" +msgstr "" + +#: mediagoblin/edit/forms.py:156 +msgid "Value" +msgstr "" + +#: mediagoblin/edit/views.py:78 +msgid "An entry with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:96 +msgid "You are editing another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:166 +#, python-format +msgid "You added the attachment %s!" +msgstr "" + +#: mediagoblin/edit/views.py:193 +msgid "You can only edit your own profile." +msgstr "" + +#: mediagoblin/edit/views.py:199 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:215 +msgid "Profile changes saved" +msgstr "" + +#: mediagoblin/edit/views.py:248 +msgid "Account settings saved" +msgstr "" + +#: mediagoblin/edit/views.py:282 +msgid "You need to confirm the deletion of your account." +msgstr "" + +#: mediagoblin/edit/views.py:318 mediagoblin/submit/views.py:132 +#: mediagoblin/user_pages/views.py:252 +#, python-format +msgid "You already have a collection called \"%s\"!" +msgstr "" + +#: mediagoblin/edit/views.py:322 +msgid "A collection with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:337 +msgid "You are editing another user's collection. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:378 +msgid "Your email address has been verified." +msgstr "" + +#: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 +msgid "Wrong password" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:60 +msgid "Cannot link theme... no theme set\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:73 +msgid "No asset directory for this theme\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:76 +msgid "However, old link directory symlink found; removed.\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:112 +#, python-format +msgid "Could not link \"%s\": %s exists and is not a symlink\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:119 +#, python-format +msgid "Skipping \"%s\"; already set up.\n" +msgstr "" + +#: mediagoblin/gmg_commands/assetlink.py:124 +#, python-format +msgid "Old link found for \"%s\"; removing.\n" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:34 +msgid "" +"For more information about how to properly run this\n" +"script (and how to format the metadata csv file), read the MediaGoblin\n" +"documentation page on command line uploading\n" +"" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:40 +msgid "Name of user these media entries belong to" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:43 +msgid "Path to the csv file containing metadata information." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:48 +msgid "Don't process eagerly, pass off to celery" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:63 +msgid "Sorry, no user by username '{username}' exists" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:74 +msgid "File at {path} not found, use -h flag for help" +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:115 +msgid "" +"Error with media '{media_id}' value '{error_path}': {error_msg}\n" +"Metadata was not uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:141 +msgid "" +"FAIL: Local file {filename} could not be accessed.\n" +"{filename} will not be uploaded." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:157 +msgid "" +"Successfully submitted {filename}!\n" +"Be sure to look at the Media Processing Panel on your website to be sure it\n" +"uploaded successfully." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:160 +msgid "FAIL: This file is larger than the upload limits for this site." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:163 +msgid "FAIL: This file will put this user past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:166 +msgid "FAIL: This user is already past their upload limits." +msgstr "" + +#: mediagoblin/gmg_commands/batchaddmedia.py:168 +msgid "{files_uploaded} out of {files_attempted} files successfully submitted" +msgstr "" + +#: mediagoblin/meddleware/csrf.py:134 +msgid "" +"CSRF cookie not present. This is most likely the result of a cookie blocker " +"or somesuch.
Make sure to permit the settings of cookies for this " +"domain." +msgstr "" + +#: mediagoblin/media_types/__init__.py:79 +#: mediagoblin/media_types/__init__.py:101 +msgid "Sorry, I don't support that file type :(" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:26 +#: mediagoblin/media_types/blog/forms.py:35 +#: mediagoblin/plugins/oauth/forms.py:36 +msgid "Description" +msgstr "" + +#: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 +msgid "I am sure I want to delete this" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:156 mediagoblin/submit/views.py:69 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:198 +msgid "Woohoo! edited blogpost is submitted" +msgstr "" + +#: mediagoblin/media_types/blog/views.py:320 +msgid "You deleted the Blog." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:326 +#: mediagoblin/user_pages/views.py:329 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:333 +msgid "You are about to delete another user's Blog. Proceed with caution." +msgstr "" + +#: mediagoblin/media_types/blog/views.py:344 +msgid "The blog was not deleted because you have no rights." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 +msgid "Add Blog Post" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 +msgid "Edit Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 +msgid "Delete Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:84 +msgid "Edit" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:80 +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:88 +msgid "Delete" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 +msgid " Go to list view " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 +msgid " No blog post yet. " +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 +#, python-format +msgid "Really delete %(title)s?" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:47 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:61 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit.html:41 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:54 +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:67 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48 +msgid "Cancel" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:48 +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 +msgid "Delete permanently" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 +msgid "Create/Edit a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 +#: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:39 +#: mediagoblin/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 +msgid "Create/Edit a blog post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 +msgid "Create/Edit a Blog Post." +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 +#, python-format +msgid "%(blog_owner_name)s's Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 +msgid "View" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 +msgid "Create a Blog" +msgstr "" + +#: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 +msgid " Blog Dashboard " +msgstr "" + +#: mediagoblin/media_types/pdf/processing.py:142 +msgid "unoconv failing to run, check log file" +msgstr "" + +#: mediagoblin/media_types/video/processing.py:44 +msgid "Video transcoding failed" +msgstr "" + +#: mediagoblin/moderation/forms.py:21 +msgid "Take away privilege" +msgstr "" + +#: mediagoblin/moderation/forms.py:22 +msgid "Ban the user" +msgstr "" + +#: mediagoblin/moderation/forms.py:23 +msgid "Send the user a message" +msgstr "" + +#: mediagoblin/moderation/forms.py:24 +msgid "Delete the content" +msgstr "" + +#: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 +msgid "User will be banned until:" +msgstr "" + +#: mediagoblin/moderation/forms.py:57 +msgid "Why are you banning this User?" +msgstr "" + +#: mediagoblin/moderation/forms.py:109 +msgid "What action will you take to resolve the report?" +msgstr "" + +#: mediagoblin/moderation/forms.py:115 +msgid "What privileges will you take away?" +msgstr "" + +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + +#: mediagoblin/moderation/tools.py:91 +msgid "Warning from" +msgstr "" + +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 +msgid "commented on your post" +msgstr "" + +#: mediagoblin/notifications/views.py:35 +#, python-format +msgid "Subscribed to comments on %s!" +msgstr "" + +#: mediagoblin/notifications/views.py:48 +#, python-format +msgid "You will not receive notifications for comments on %s." +msgstr "" + +#: mediagoblin/oauth/views.py:242 +msgid "Must provide an oauth_token." +msgstr "" + +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 +msgid "No request token found." +msgstr "" + +#: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 +#: mediagoblin/submit/views.py:78 +msgid "Sorry, the file size is too big." +msgstr "" + +#: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 +#: mediagoblin/submit/views.py:81 +msgid "Sorry, uploading this file will put you over your upload limit." +msgstr "" + +#: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 +#: mediagoblin/submit/views.py:87 +msgid "Sorry, you have reached your upload limit." +msgstr "" + +#: mediagoblin/plugins/archivalook/forms.py:21 +msgid "Enter the URL for the media to be featured" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:132 +msgid "Primary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:133 +msgid "Secondary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:134 +msgid "Tertiary" +msgstr "" + +#: mediagoblin/plugins/archivalook/tools.py:135 +msgid "-----------{display_type}-Features---------------------------\n" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 +msgid "How does this work?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 +msgid "How to feature media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 +msgid "" +"\n" +" Go to the page of the media entry you want to feature. Copy it's URL and\n" +" then paste it into a new line in the text box above. There should be only\n" +" one url per line. The url that you paste into the text box should be under\n" +" the header describing how prominent a feature it will be (whether Primary,\n" +" Secondary, or Tertiary). Once all of the media that you want to feature are\n" +" inside the text box, click the Submit Query button, and your media should be\n" +" displayed on the front page.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 +msgid "Is there another way to manage featured media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 +msgid "" +"\n" +" Yes. If you would prefer, you may go to the media homepage of the piece\n" +" of media you would like to feature or unfeature and look at the bar to\n" +" the side of the media entry. If the piece of media has not been featured\n" +" yet you should see a button that says \"Feature\". Press that button and\n" +" the media will be featured as a Primary Feature at the top of the page.\n" +" All other featured media entries will remain as features, but will be\n" +" pushed further down the page.

\n" +"\n" +" If you go to the media homepage of a piece of media that is currently\n" +" featured, you will see the options \"Unfeature\", \"Promote\" and \"Demote\"\n" +" where previously there was the button which said \"Feature\". Click\n" +" Unfeature and that media entry will no longer be displayed on the\n" +" front page, although you can feature it again at any point. Promote\n" +" moves the featured media higher up on the page and makes it more\n" +" prominent and Demote moves the featured media lower down and makes it\n" +" less prominent.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 +msgid "What is a Primary Feature? What is a Secondary Feature?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 +msgid "" +"\n" +" These categories just describe how prominent a feature will be on your\n" +" front page. Primary Features are placed at the top of the front page and are\n" +" much larger. Next are Secondary Features, which are slightly smaller.\n" +" Tertiary Features make up a grid at the bottom of the page.

\n" +"\n" +" Primary Features also can display longer descriptions than Secondary\n" +" Features, and Secondary Features can display longer descriptions than\n" +" Tertiary Features." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 +msgid "" +"How to decide what information is displayed when a media entry is\n" +" featured?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 +msgid "" +"\n" +" When a media entry is featured, the entry's title, it's thumbnail and a\n" +" portion of its description will be displayed on your website's front page.\n" +" The number of characters displayed varies on the prominence of the feature.\n" +" Primary Features display the first 512 characters of their description,\n" +" Secondary Features display the first 256 characters of their description,\n" +" and Tertiary Features display the first 128 characters of their description.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 +msgid "How to unfeature a piece of media?" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 +msgid "" +"\n" +" Unfeature a media by removing its line from the above textarea and then\n" +" pressing the Submit Query button.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 +msgid "CAUTION:" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 +msgid "" +"\n" +" When copying and pasting urls into the above text box, be aware that if\n" +" you make a typo, once you press Submit Query, your media entry will NOT be\n" +" featured. Make sure that all your intended Media Entries are featured.\n" +" " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 +msgid "" +"\n" +"Feature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 +msgid "Feature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 +msgid "" +"\n" +"Unfeature Media " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 +msgid "Unfeature" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 +msgid "" +"\n" +"Promote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 +msgid "Promote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 +msgid "" +"\n" +"Demote Feature " +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 +msgid "Demote" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 +msgid "Nothing is currently featured." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 +msgid "" +"If you would like to feature a\n" +" piece of media, go to that media entry's homepage and click the button\n" +" that says" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +msgid "" +"You're seeing this page because you are a user capable of\n" +" featuring media, a regular user would see a blank page, so be sure to\n" +" have media featured as long as your instance has the 'archivalook'\n" +" plugin enabled. A more advanced tool to manage features can be found\n" +" in the" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 +msgid "feature management panel." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +msgid "View most recent media" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 +msgid "Feature management panel" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 +msgid "" +"Sorry, this audio will not work because\n" +"\tyour web browser does not support HTML5\n" +"\taudio." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 +msgid "" +"You can get a modern web browser that\n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 +#: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:24 +#: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:76 +msgid "Username" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/ldap/forms.py:28 mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:51 +msgid "Username or email" +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:54 +msgid "" +"If that email address (case sensitive!) is registered an email has been sent" +" with instructions on how to change your password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:65 +msgid "Couldn't find someone with that username." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:68 +msgid "" +"An email has been sent with instructions on how to change your password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:75 +msgid "" +"Could not send password recovery email as your username is inactive or your " +"account's email address has not been verified." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:123 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:139 +msgid "You can now log in using your new password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:163 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your account." +msgstr "" + +#: mediagoblin/plugins/basic_auth/views.py:215 +msgid "Your password was changed successfully" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 +msgid "Set your new password" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 +msgid "Set password" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 +#, python-format +msgid "Changing %(username)s's password" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:40 +msgid "Save" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 +msgid "Don't have an account yet?" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:24 +msgid "Create one here!" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 +msgid "Change your password." +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 +msgid "Recover password" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:34 +msgid "Send instructions" +msgstr "" + +#: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/fp_link.html:22 +msgid "Forgot your password?" +msgstr "" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 +msgid "Location" +msgstr "" + +#: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:52 +#, python-format +msgid "View on OpenStreetMap" +msgstr "" + +#: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 +msgid "Sign in to create an account!" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 +msgid "Metadata" +msgstr "" + +#: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 +msgid "Edit Metadata" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:29 +msgid "Allow" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:30 +msgid "Deny" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:34 +msgid "Name" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:35 +msgid "The name of the OAuth client" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:38 +msgid "" +"This will be visible to users allowing your\n" +" application to authenticate as them." +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:40 +msgid "Type" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:45 +msgid "" +"Confidential - The client can\n" +" make requests to the GNU MediaGoblin instance that can not be\n" +" intercepted by the user agent (e.g. server-side client).
\n" +" Public - The client can't make confidential\n" +" requests to the GNU MediaGoblin instance (e.g. client-side\n" +" JavaScript client)." +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:52 +msgid "Redirect URI" +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:54 +msgid "" +"The redirect URI for the applications, this field\n" +" is required for public clients." +msgstr "" + +#: mediagoblin/plugins/oauth/forms.py:66 +msgid "This field is required for public clients" +msgstr "" + +#: mediagoblin/plugins/oauth/views.py:55 +msgid "The client {0} has been registered!" +msgstr "" + +#: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 +msgid "OAuth client connections" +msgstr "" + +#: mediagoblin/plugins/oauth/templates/oauth/client/list.html:22 +msgid "Your OAuth clients" +msgstr "" + +#: mediagoblin/plugins/openid/__init__.py:97 +#: mediagoblin/plugins/openid/views.py:268 +#: mediagoblin/plugins/openid/views.py:297 +msgid "Sorry, an account is already registered to that OpenID." +msgstr "" + +#: mediagoblin/plugins/openid/forms.py:38 +msgid "OpenID" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:48 +msgid "Sorry, the OpenID server could not be found" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:61 +#, python-format +msgid "No OpenID service was found for %s" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:106 +#, python-format +msgid "Verification of %s failed: %s" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:117 +msgid "Verification cancelled" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:314 +msgid "Your OpenID url was saved successfully." +msgstr "" + +#: mediagoblin/plugins/openid/views.py:338 +#: mediagoblin/plugins/openid/views.py:393 +msgid "You can't delete your only OpenID URL unless you have a password set" +msgstr "" + +#: mediagoblin/plugins/openid/views.py:343 +#: mediagoblin/plugins/openid/views.py:402 +msgid "That OpenID is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/openid/views.py:385 +msgid "OpenID was successfully removed." +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:34 +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:23 +msgid "Add an OpenID" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:34 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:23 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:31 +msgid "Delete an OpenID" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 +msgid "OpenID's" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:57 +#: mediagoblin/templates/mediagoblin/base.html:122 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:47 +msgid "Log in" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 +msgid "Log in to create an account!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 +msgid "Or login with a password!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 +msgid "Or login with OpenID!" +msgstr "" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 +msgid "Or register with OpenID!" +msgstr "" + +#: mediagoblin/plugins/persona/__init__.py:90 +msgid "Sorry, an account is already registered to that Persona email." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:138 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:144 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:149 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:176 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:192 +msgid "Your Persona email address was saved successfully." +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 +msgid "Delete a Persona email address" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 +msgid "Add a Persona email address" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 +msgid "Persona's" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 +msgid "Or login with Persona!" +msgstr "" + +#: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 +msgid "Or register with Persona!" +msgstr "" + +#: mediagoblin/processing/__init__.py:420 +msgid "Invalid file given for media type." +msgstr "" + +#: mediagoblin/processing/__init__.py:427 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:435 +msgid "An acceptable processing file was not found" +msgstr "" + +#: mediagoblin/submit/forms.py:30 +msgid "Max file size: {0} mb" +msgstr "" + +#: mediagoblin/submit/forms.py:34 +msgid "File" +msgstr "" + +#: mediagoblin/submit/forms.py:41 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/submit/views.py:55 +msgid "You must provide a file." +msgstr "" + +#: mediagoblin/submit/views.py:138 +#, python-format +msgid "Collection \"%s\" added!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:20 +msgid "You are Banned." +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:24 +#: mediagoblin/templates/mediagoblin/error.html:24 +msgid "Image of goblin stressing out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:26 +msgid "You have been banned" +msgstr "" + +#: mediagoblin/templates/mediagoblin/banned.html:28 +#, python-format +msgid "until %(until_when)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:97 +msgid "Verify your email!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:104 +#: mediagoblin/templates/mediagoblin/base.html:112 +msgid "log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:131 +#, python-format +msgid "%(user_name)s's account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:138 +msgid "Change account settings" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:142 +#: mediagoblin/templates/mediagoblin/base.html:165 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:27 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26 +msgid "Media processing panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:152 +msgid "Log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:155 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:113 +msgid "Add media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:158 +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 +msgid "Create new collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:169 +msgid "User management panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:173 +msgid "Report management panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:21 +msgid "Authorization" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:26 +#: mediagoblin/templates/mediagoblin/api/authorize.html:53 +msgid "Authorize" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:29 +msgid "You are logged in as" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:33 +msgid "Do you want to authorize " +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:37 +msgid "an unknown application" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:39 +msgid " to access your account? " +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:41 +msgid "Applications with access to your account can: " +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:43 +msgid "Post new media as you" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:44 +msgid "See your information (e.g profile, media, etc...)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/authorize.html:45 +msgid "Change your information" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/oob.html:21 +msgid "Authorization Finished" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/oob.html:26 +msgid "Authorization Complete" +msgstr "" + +#: mediagoblin/templates/mediagoblin/api/oob.html:28 +msgid "Copy and paste this into your client:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/register.html:28 +#: mediagoblin/templates/mediagoblin/auth/register.html:36 +msgid "Create an account!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/register.html:41 +msgid "Create" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to activate your GNU MediaGoblin account, open the following URL in\n" +"your web browser:\n" +"\n" +"%(verification_url)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:21 +#, python-format +msgid "" +"Powered by MediaGoblin, a GNU project." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:24 +#, python-format +msgid "" +"Released under the AGPL. Source code available." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/base_footer.html:30 +msgid "Terms of Service" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:20 +msgid "Explore" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +msgid "Hi there, welcome to this MediaGoblin site!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +msgid "" +"This site is running MediaGoblin, an " +"extraordinarily great piece of media hosting software." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 +msgid "" +"To add your own media, place comments, and more, you can log in with your " +"MediaGoblin account." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 +msgid "Don't have one yet? It's easy!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:36 +msgid "" +"\n" +" >Create an account at this site\n" +" or" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 +msgid "" +"\n" +" Set up MediaGoblin on your own server" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/logo.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 +msgid "MediaGoblin logo" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:23 +#: mediagoblin/templates/mediagoblin/edit/attachments.html:35 +#, python-format +msgid "Editing attachments for %(media_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:44 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:220 +msgid "Attachments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:226 +msgid "Add attachment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:63 +#: mediagoblin/templates/mediagoblin/edit/edit.html:42 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47 +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 +msgid "Save changes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/change_email.html:23 +#: mediagoblin/templates/mediagoblin/edit/change_email.html:33 +#, python-format +msgid "Changing %(username)s's email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 +#, python-format +msgid "Really delete user '%(user_name)s' and all related media/comments?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 +msgid "Yes, really delete my account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit.html:35 +#, python-format +msgid "Editing %(media_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:40 +#, python-format +msgid "Changing %(username)s's account settings" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:54 +msgid "Delete my account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 +msgid "Email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 +#, python-format +msgid "Editing %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:34 +#, python-format +msgid "Editing %(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:67 +#, python-format +msgid "Metadata for \"%(media_name)s\"" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:72 +msgid "MetaData" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:80 +msgid "Add new Row" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:83 +msgid "Update Metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/metadata.html:87 +msgid "Clear empty Rows" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/verification.txt:19 +#, python-format +msgid "" +"Hi,\n" +"\n" +"We wanted to verify that you are %(username)s. If this is the case, then \n" +"please follow the link below to verify your new email address.\n" +"\n" +"%(verification_url)s\n" +"\n" +"If you are not %(username)s or didn't request an email change, you can ignore\n" +"this email." +msgstr "" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 +msgid "New comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 +#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 +#: mediagoblin/templates/mediagoblin/moderation/report.html:57 +#: mediagoblin/templates/mediagoblin/moderation/report.html:120 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:131 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:151 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:146 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:181 +#: mediagoblin/templates/mediagoblin/user_pages/report.html:48 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "" + +#: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 +msgid "Mark all read" +msgstr "" + +#: mediagoblin/templates/mediagoblin/listings/collection.html:30 +#: mediagoblin/templates/mediagoblin/listings/collection.html:35 +#: mediagoblin/templates/mediagoblin/listings/tag.html:30 +#: mediagoblin/templates/mediagoblin/listings/tag.html:35 +#, python-format +msgid "Media tagged with: %(tag_name)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:74 +msgid "Download" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 +msgid "Original" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:44 +msgid "" +"Sorry, this audio will not work because \n" +"\tyour web browser does not support HTML5 \n" +"\taudio." +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 +msgid "" +"You can get a modern web browser that \n" +"\tcan play the audio at \n" +"\t http://getfirefox.com!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:80 +msgid "Original file" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 +msgid "WebM file (Vorbis codec)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +msgid "Created" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:96 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:102 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:108 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:65 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:68 +#, python-format +msgid "Image for %(media_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 +msgid "PDF file" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 +msgid "Perspective" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 +msgid "Front" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 +msgid "Top" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +msgid "Side" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 +msgid "WebGL" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +msgid "Download model" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 +msgid "File Format" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 +msgid "Object Height" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:63 +msgid "" +"Sorry, this video will not work because\n" +" your web browser does not support HTML5 \n" +" video." +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:66 +msgid "" +"You can get a modern web browser that \n" +" can play this video at \n" +" http://getfirefox.com!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:88 +msgid "WebM file (VP8/Vorbis)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 +msgid "" +"Here you can track the state of media being processed on this instance." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:33 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 +msgid "Media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 +msgid "No media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:62 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 +msgid "These uploads failed to process:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 +msgid "No failed entries!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:93 +msgid "Last 10 successful uploads" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 +msgid "No processed entries, yet!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:27 +msgid "Sorry, no such report found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:33 +msgid "Return to Reports Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:35 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:162 +msgid "Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:38 +msgid "Reported comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:83 +#, python-format +msgid "" +"\n" +" ❖ Reported media by %(user_name)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:92 +#, python-format +msgid "" +"\n" +" CONTENT BY\n" +" %(user_name)s\n" +" HAS BEEN DELETED\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:133 +#: mediagoblin/templates/mediagoblin/moderation/user.html:136 +msgid "Resolve" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:137 +#: mediagoblin/templates/mediagoblin/moderation/report.html:157 +msgid "Resolve This Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:149 +msgid "Status" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:151 +msgid "RESOLVED" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report.html:159 +msgid "You cannot take action against an administrator" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 +msgid "Report panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 +msgid "" +"\n" +" Here you can look up open reports that have been filed by users.\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:35 +msgid "Active Reports Filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 +msgid "Offender" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 +msgid "When Reported" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 +msgid "Reported By" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 +msgid "Reason" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 +#, python-format +msgid "" +"\n" +" Comment Report #%(report_id)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 +#, python-format +msgid "" +"\n" +" Media Report #%(report_id)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 +msgid "No open reports found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 +msgid "Closed Reports" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 +msgid "Resolved" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 +msgid "Action Taken" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 +#, python-format +msgid "" +"\n" +" Closed Report #%(report_id)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 +msgid "No closed reports found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:23 +#, python-format +msgid "User: %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:42 +msgid "Return to Users Panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:49 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:55 +msgid "" +"Someone has registered an account with this username, but it still has\n" +" to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:46 +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:25 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:68 +#, python-format +msgid "BANNED until %(expiration_date)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:72 +msgid "Banned Indefinitely" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:78 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:89 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:74 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:96 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:81 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:105 +#, python-format +msgid "Active Reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:112 +msgid "Report ID" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:113 +msgid "Reported Content" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:114 +msgid "Description of Report" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:122 +#, python-format +msgid "Report #%(report_number)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:129 +msgid "Reported Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:131 +msgid "Reported Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:142 +#, python-format +msgid "No active reports filed on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:150 +#, python-format +msgid "All reports on %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:155 +#, python-format +msgid "All reports that %(username)s has filed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:164 +#, python-format +msgid "%(username)s's Privileges" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:172 +msgid "Privilege" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:173 +msgid "Granted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:180 +msgid "Yes" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:182 +msgid "No" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:213 +msgid "Ban User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user.html:218 +msgid "UnBan User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 +msgid "User panel" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:29 +msgid "" +"\n" +" Here you can look up users in order to take punitive actions on them.\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 +msgid "Active Users" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 +msgid "When Joined" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 +msgid "# of Comments Posted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 +msgid "No users found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/collection.html:26 +msgid "Add a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/start.html:28 +#: mediagoblin/templates/mediagoblin/submit/start.html:35 +msgid "Add your media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 +#, python-format +msgid "❖ Blog post by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:103 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:115 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:179 +msgid "Added" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 +#, python-format +msgid "%(collection_title)s (%(username)s's collection)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 +#, python-format +msgid "%(collection_title)s by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 +#, python-format +msgid "Delete collection %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 +#, python-format +msgid "Really delete collection: %(title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 +#, python-format +msgid "Remove %(media_title)s from %(collection_title)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 +#, python-format +msgid "Really remove %(media_title)s from %(collection_title)s?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 +msgid "Remove" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 +#, python-format +msgid "%(username)s's collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:28 +#, python-format +msgid "%(username)s's collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 +#, python-format +msgid "%(username)s's media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:38 +#, python-format +msgid "" +"%(username)s's media with tag %(tag)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#, python-format +msgid "%(username)s's media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:38 +#, python-format +msgid "❖ Browsing media by %(username)s" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:119 +msgid "Comment Preview" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 +#, python-format +msgid "Add “%(media_title)s” to a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 +msgid "+" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:58 +msgid "Add a new collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 +msgid "" +"You can track the state of media being processed for your gallery here." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 +msgid "Your last 10 successful uploads" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:21 +msgid "

File a Report

" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:24 +msgid "Reporting this Comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:60 +msgid "Reporting this Media Entry" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:72 +#, python-format +msgid "" +"\n" +" ❖ Published by %(username)s\n" +" " +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/report.html:81 +msgid "File Report " +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 +msgid "Here's a spot to tell others about yourself." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:94 +#, python-format +msgid "View all of %(username)s's media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:107 +msgid "" +"This is where your media will appear, but you don't seem to have added " +"anything yet." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:119 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 +#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 +msgid "There doesn't seem to be any media here yet..." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:43 +msgid "Almost done! Your account still needs to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:48 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:52 +msgid "In case it doesn't:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:55 +msgid "Resend verification email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:63 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:68 +#, python-format +msgid "" +"If you are that person but you've lost your verification email, you can log in and resend it." +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 +msgid "(remove)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:21 +msgid "Collected in" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/collections.html:40 +msgid "Add to a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 +msgid "feed icon" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23 +#: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:23 +msgid "Atom feed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/license.html:25 +msgid "All rights reserved" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:39 +msgid "← Newer" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:45 +msgid "Older →" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/pagination.html:48 +msgid "Go to page:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:28 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:33 +msgid "newer" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:39 +#: mediagoblin/templates/mediagoblin/utils/prev_next.html:44 +msgid "older" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/report.html:25 +msgid "Report media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/tags.html:20 +msgid "Tagged with" +msgstr "" + +#: mediagoblin/tools/exif.py:81 +msgid "Could not read the image file." +msgstr "" + +#: mediagoblin/tools/response.py:38 +msgid "Oops!" +msgstr "" + +#: mediagoblin/tools/response.py:39 +msgid "An error occured" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:55 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:63 +msgid "Operation not allowed" +msgstr "" + +#: mediagoblin/tools/response.py:64 +msgid "" +"Sorry Dave, I can't let you do that!

You have tried to perform a " +"function that you are not allowed to. Have you been trying to delete all " +"user accounts again?" +msgstr "" + +#: mediagoblin/tools/response.py:72 +msgid "" +"There doesn't seem to be a page at this address. Sorry!

If you're sure" +" the address is correct, maybe the page you're looking for has been moved or" +" deleted." +msgstr "" + +#: mediagoblin/tools/timesince.py:62 +msgid "year" +msgstr "" + +#: mediagoblin/tools/timesince.py:63 +msgid "month" +msgstr "" + +#: mediagoblin/tools/timesince.py:64 +msgid "week" +msgstr "" + +#: mediagoblin/tools/timesince.py:65 +msgid "day" +msgstr "" + +#: mediagoblin/tools/timesince.py:66 +msgid "hour" +msgstr "" + +#: mediagoblin/tools/timesince.py:67 +msgid "minute" +msgstr "" + +#: mediagoblin/user_pages/forms.py:23 +msgid "Comment" +msgstr "" + +#: mediagoblin/user_pages/forms.py:25 +msgid "" +"You can use Markdown for formatting." +msgstr "" + +#: mediagoblin/user_pages/forms.py:35 +msgid "I am sure I want to remove this item from the collection" +msgstr "" + +#: mediagoblin/user_pages/forms.py:39 +msgid "Collection" +msgstr "" + +#: mediagoblin/user_pages/forms.py:40 +msgid "-- Select --" +msgstr "" + +#: mediagoblin/user_pages/forms.py:42 +msgid "Include a note" +msgstr "" + +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 +msgid "Reason for Reporting" +msgstr "" + +#: mediagoblin/user_pages/views.py:188 +msgid "Sorry, comments are disabled." +msgstr "" + +#: mediagoblin/user_pages/views.py:193 +msgid "Oops, your comment was empty." +msgstr "" + +#: mediagoblin/user_pages/views.py:199 +msgid "Your comment has been posted!" +msgstr "" + +#: mediagoblin/user_pages/views.py:235 +msgid "Please check your entries and try again." +msgstr "" + +#: mediagoblin/user_pages/views.py:275 +msgid "You have to select or add a collection" +msgstr "" + +#: mediagoblin/user_pages/views.py:286 +#, python-format +msgid "\"%s\" already in collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:292 +#, python-format +msgid "\"%s\" added to collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:317 +msgid "You deleted the media." +msgstr "" + +#: mediagoblin/user_pages/views.py:336 +msgid "You are about to delete another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:409 +msgid "You deleted the item from the collection." +msgstr "" + +#: mediagoblin/user_pages/views.py:413 +msgid "The item was not removed because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:421 +msgid "" +"You are about to delete an item from another user's collection. Proceed with" +" caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:453 +#, python-format +msgid "You deleted the collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:460 +msgid "" +"The collection was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:468 +msgid "" +"You are about to delete another user's collection. Proceed with caution." +msgstr "" diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po index 0cfd01b1..3d57de35 100644 --- a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: +# Berker Peksag , 2014 # Caner Başaran , 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-08-04 18:37+0000\n" +"Last-Translator: Berker Peksag \n" "Language-Team: Turkish (Turkey) (http://www.transifex.com/projects/p/mediagoblin/language/tr_TR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -129,7 +130,7 @@ msgstr "" #: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" -msgstr "" +msgstr "Lisans" #: mediagoblin/edit/forms.py:54 msgid "Bio" @@ -153,7 +154,7 @@ msgstr "" #: mediagoblin/edit/forms.py:71 msgid "License preference" -msgstr "" +msgstr "Lisans tercihi" #: mediagoblin/edit/forms.py:77 msgid "This will be your default license on upload forms." @@ -188,7 +189,7 @@ msgstr "Yeni parola" #: mediagoblin/edit/forms.py:119 msgid "New email address" -msgstr "" +msgstr "Yeni e-posta adresi" #: mediagoblin/edit/forms.py:123 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -225,7 +226,7 @@ msgstr "" #: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." -msgstr "" +msgstr "Sadece kendi profilinizi düzenleyebilirsiniz." #: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." @@ -259,7 +260,7 @@ msgstr "" #: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." -msgstr "" +msgstr "E-posta adresiniz doğrulandı." #: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" @@ -314,7 +315,7 @@ msgstr "" #: mediagoblin/gmg_commands/batchaddmedia.py:63 msgid "Sorry, no user by username '{username}' exists" -msgstr "" +msgstr "'{username}' adında bir kullanıcı kayıtlı değil." #: mediagoblin/gmg_commands/batchaddmedia.py:74 msgid "File at {path} not found, use -h flag for help" @@ -353,7 +354,7 @@ msgstr "" #: mediagoblin/gmg_commands/batchaddmedia.py:168 msgid "{files_uploaded} out of {files_attempted} files successfully submitted" -msgstr "" +msgstr "{files_attempted} dosyadan {files_uploaded} tanesi başarıyla gönderildi." #: mediagoblin/meddleware/csrf.py:134 msgid "" @@ -371,7 +372,7 @@ msgstr "Üzgünüz, bu tip dosyaları desteklemiyoruz :(" #: mediagoblin/media_types/blog/forms.py:35 #: mediagoblin/plugins/oauth/forms.py:36 msgid "Description" -msgstr "" +msgstr "Açıklama" #: mediagoblin/media_types/blog/forms.py:40 mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -404,15 +405,15 @@ msgstr "" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 msgid "Add Blog Post" -msgstr "" +msgstr "Yeni Blog Ekle" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 msgid "Edit Blog" -msgstr "" +msgstr "Blog Düzenle" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 msgid "Delete Blog" -msgstr "" +msgstr "Blog Sil" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 @@ -463,7 +464,7 @@ msgstr "İptal" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:56 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 msgid "Delete permanently" -msgstr "" +msgstr "Kalıcı olarak sil" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 msgid "Create/Edit a Blog" @@ -517,7 +518,7 @@ msgstr "" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" -msgstr "" +msgstr "Kullanıcıyı engelle" #: mediagoblin/moderation/forms.py:23 msgid "Send the user a message" @@ -574,7 +575,7 @@ msgstr "" #: mediagoblin/moderation/tools.py:53 #: mediagoblin/templates/mediagoblin/banned.html:30 msgid "indefinitely" -msgstr "" +msgstr "süresiz" #: mediagoblin/moderation/tools.py:62 msgid "" @@ -751,7 +752,7 @@ msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 msgid "CAUTION:" -msgstr "" +msgstr "DİKKAT:" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 msgid "" @@ -938,11 +939,11 @@ msgstr "Parolanız başarılı bir şekilde değiştirildi" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 msgid "Set your new password" -msgstr "" +msgstr "Yeni parolanı gir" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:39 msgid "Set password" -msgstr "" +msgstr "Parolanı gir" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 @@ -982,7 +983,7 @@ msgstr "Parolanı mı unuttun?" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" -msgstr "" +msgstr "Konum" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:52 #, python-format @@ -1011,7 +1012,7 @@ msgstr "" #: mediagoblin/plugins/oauth/forms.py:34 msgid "Name" -msgstr "" +msgstr "İsim" #: mediagoblin/plugins/oauth/forms.py:35 msgid "The name of the OAuth client" @@ -1071,7 +1072,7 @@ msgstr "" #: mediagoblin/plugins/openid/forms.py:38 msgid "OpenID" -msgstr "" +msgstr "OpenID" #: mediagoblin/plugins/openid/views.py:48 msgid "Sorry, the OpenID server could not be found" @@ -1401,7 +1402,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/bits/base_footer.html:30 msgid "Terms of Service" -msgstr "" +msgstr "Kullanıcı Sözleşmesi" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:20 msgid "Explore" @@ -1455,7 +1456,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/media.html:204 #: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" -msgstr "" +msgstr "Ekler" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media.html:226 @@ -1503,12 +1504,12 @@ msgstr "Hesabımı sil" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 msgid "Email" -msgstr "" +msgstr "E-posta" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" -msgstr "" +msgstr "%(collection_title)s düzenleniyor" #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:34 @@ -1553,7 +1554,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" -msgstr "" +msgstr "Yeni yorumlar" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 @@ -1707,7 +1708,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 msgid "User" -msgstr "" +msgstr "Kullanıcı" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 @@ -1809,7 +1810,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" -msgstr "" +msgstr "Durum" #: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" @@ -2016,11 +2017,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/user.html:180 msgid "Yes" -msgstr "" +msgstr "Evet" #: mediagoblin/templates/mediagoblin/moderation/user.html:182 msgid "No" -msgstr "" +msgstr "Hayır" #: mediagoblin/templates/mediagoblin/moderation/user.html:213 msgid "Ban User" @@ -2052,7 +2053,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 msgid "# of Comments Posted" -msgstr "" +msgstr "Yorum Sayısı" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 msgid "No users found." @@ -2162,7 +2163,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" -msgstr "" +msgstr "Yorum önizlemesi" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 -- cgit v1.2.3 From 18cd6b3015abee7329ae4e8295c525b7abbd0105 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 4 Aug 2014 13:46:24 -0500 Subject: Committing extracted and compiled translations --- mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo | Bin 54670 -> 54804 bytes mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo | Bin 53344 -> 53478 bytes mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo | Bin 52648 -> 52782 bytes mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo | Bin 52329 -> 52489 bytes mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po | 66 +++++---- mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo | Bin 51834 -> 51968 bytes mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo | Bin 53218 -> 53433 bytes mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.mo | Bin 56735 -> 56869 bytes mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po | 23 ++- mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo | Bin 51823 -> 51957 bytes mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo | Bin 52829 -> 54231 bytes mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po | 154 +++++++++++++++++---- mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo | Bin 59111 -> 59245 bytes mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.mo | Bin 0 -> 50940 bytes mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo | Bin 54394 -> 54528 bytes mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo | Bin 51567 -> 53342 bytes mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po | 154 +++++++++++++++++---- mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo | Bin 56489 -> 56728 bytes mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po | 52 ++++--- mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo | Bin 50985 -> 51119 bytes mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo | Bin 53898 -> 54032 bytes mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo | Bin 52637 -> 52771 bytes mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo | Bin 51679 -> 51813 bytes mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo | Bin 52740 -> 52874 bytes mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.mo | Bin 0 -> 50962 bytes mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo | Bin 51388 -> 51522 bytes mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo | Bin 50216 -> 50378 bytes mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po | 108 +++++++-------- mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo | Bin 52702 -> 52836 bytes mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo | Bin 52677 -> 52811 bytes mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo | Bin 52554 -> 52688 bytes mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo | Bin 59983 -> 60117 bytes mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo | Bin 52514 -> 52648 bytes mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo | Bin 51143 -> 51277 bytes mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo | Bin 53289 -> 53423 bytes mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo | Bin 51021 -> 51155 bytes mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo | Bin 51207 -> 51401 bytes mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po | 81 ++++++----- mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo | Bin 51222 -> 51356 bytes mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo | Bin 51396 -> 51440 bytes mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo | Bin 50943 -> 51077 bytes mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo | Bin 50957 -> 51091 bytes mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo | Bin 50277 -> 50411 bytes mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po | 24 ++-- .../i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo | Bin 50965 -> 51099 bytes .../i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po | 24 ++-- mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo | Bin 49979 -> 50113 bytes mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po | 24 ++-- 73 files changed, 688 insertions(+), 622 deletions(-) create mode 100644 mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.mo create mode 100644 mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo index 7f01fac7..7432ac4a 100644 Binary files a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po index 2308b8b3..5fc73217 100644 --- a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/mediagoblin/language/ar/)\n" "MIME-Version: 1.0\n" @@ -23,15 +23,15 @@ msgstr "" "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" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "عفوًا، التسجيل غير متاح هنا." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -773,7 +773,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -820,23 +819,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo index 8fb28937..5b3b70bf 100644 Binary files a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po index c4c7c29a..3ed37a81 100644 --- a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/mediagoblin/language/bg/)\n" "MIME-Version: 1.0\n" @@ -19,15 +19,15 @@ msgstr "" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -769,7 +769,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -816,23 +815,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo index 4e7eba5d..8a098e83 100644 Binary files a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po index b5bfa28b..30a06d97 100644 --- a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/mediagoblin/language/ca/)\n" "MIME-Version: 1.0\n" @@ -24,15 +24,15 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Ho sentim, el registre està desactivat en aquest cas." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Ho sentim, no és possible avisar en aquest cas." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "No es permet l'autenticació en aquesta instància." @@ -774,7 +774,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -821,23 +820,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo index 9257aa9c..d3c83a26 100644 Binary files a/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po index 9edef745..b8b918bc 100644 --- a/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Czech (http://www.transifex.com/projects/p/mediagoblin/language/cs/)\n" "MIME-Version: 1.0\n" @@ -20,15 +20,15 @@ msgstr "" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Promiňte, na této instanci je možnost registrace vypnuta." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Promiňte, nahlášení je na tomto serveru vypnuto." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Promiňte, autentikace je na této instanci vypnuta." @@ -205,11 +205,11 @@ msgstr "Zadejte své heslo pro ověření, že jste majitelem tohoto účtu." #: mediagoblin/edit/forms.py:155 msgid "Identifier" -msgstr "" +msgstr "Identifikátor" #: mediagoblin/edit/forms.py:156 msgid "Value" -msgstr "" +msgstr "Hodnota" #: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." @@ -388,7 +388,7 @@ msgstr "" #: mediagoblin/media_types/blog/views.py:320 msgid "You deleted the Blog." -msgstr "" +msgstr "Smazal(a) jste Blog." #: mediagoblin/media_types/blog/views.py:326 #: mediagoblin/user_pages/views.py:329 @@ -409,11 +409,11 @@ msgstr "" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 msgid "Edit Blog" -msgstr "" +msgstr "Upravit Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 msgid "Delete Blog" -msgstr "" +msgstr "Smazat Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 @@ -468,7 +468,7 @@ msgstr "Smazat navždy" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 msgid "Create/Edit a Blog" -msgstr "" +msgstr "Vytvořit/Upravit Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 #: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 @@ -494,11 +494,11 @@ msgstr "" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 msgid "View" -msgstr "" +msgstr "Zobrazit" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 msgid "Create a Blog" -msgstr "" +msgstr "Vytvořit Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 msgid " Blog Dashboard " @@ -550,7 +550,7 @@ msgstr "" #: mediagoblin/moderation/forms.py:125 msgid "Message to user:" -msgstr "" +msgstr "Zpráva pro uživatele:" #: mediagoblin/moderation/forms.py:128 msgid "Resolution content:" @@ -658,7 +658,7 @@ msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 msgid "How does this work?" -msgstr "" +msgstr "Jak to funguje?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 msgid "How to feature media?" @@ -752,7 +752,7 @@ msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 msgid "CAUTION:" -msgstr "" +msgstr "POZOR:" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 msgid "" @@ -770,7 +770,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -817,23 +816,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" @@ -996,11 +992,11 @@ msgstr "Přihlašte se pro vytvoření nového účtu." #: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 msgid "Metadata" -msgstr "" +msgstr "Metadata" #: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 msgid "Edit Metadata" -msgstr "" +msgstr "Upravit metadata" #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" @@ -1433,13 +1429,13 @@ msgid "" "\n" " >Create an account at this site\n" " or" -msgstr "" +msgstr "\n>Založte si účet na těchto stránkách\nnebo" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" " Set up MediaGoblin on your own server" -msgstr "" +msgstr "\nNastavte MediaGoblin na svém vlastním serveru" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -1528,7 +1524,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/edit/metadata.html:80 msgid "Add new Row" -msgstr "" +msgstr "Přidat nový řádek" #: mediagoblin/templates/mediagoblin/edit/metadata.html:83 msgid "Update Metadata" @@ -1708,7 +1704,7 @@ msgstr "ID" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 msgid "User" -msgstr "" +msgstr "Uživatel" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 @@ -2017,11 +2013,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/user.html:180 msgid "Yes" -msgstr "" +msgstr "Ano" #: mediagoblin/templates/mediagoblin/moderation/user.html:182 msgid "No" -msgstr "" +msgstr "Ne" #: mediagoblin/templates/mediagoblin/moderation/user.html:213 msgid "Ban User" @@ -2278,11 +2274,11 @@ msgstr "Přidat do sbírky" #: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 msgid "Subscribe to comments" -msgstr "" +msgstr "Odebírat komentáře" #: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 msgid "Silence comments" -msgstr "" +msgstr "Utišit komentáře" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 diff --git a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo index 00510308..fc22b30a 100644 Binary files a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po index 8b76ab19..94d3f744 100644 --- a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Danish (http://www.transifex.com/projects/p/mediagoblin/language/da/)\n" "MIME-Version: 1.0\n" @@ -22,15 +22,15 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Desværre, registrering er ikke muligt på denne instans" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Beklager, godkendelse er slået fra på denne instans." @@ -772,7 +772,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -819,23 +818,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo index 3ecb3071..2d71a2b9 100644 Binary files a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.mo index fa50dddb..abd90e26 100644 Binary files a/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po index 22daf121..04aa263e 100644 --- a/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/el/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Greek (http://www.transifex.com/projects/p/mediagoblin/language/el/)\n" "MIME-Version: 1.0\n" @@ -19,15 +19,15 @@ msgstr "" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Συγγνώμη, η εγγραφή έχει απαγορευτεί σ' αυτό το instance (ό,τι κι αν σημαίνει αυτό εν προκειμένω)" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -769,7 +769,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -816,23 +815,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po index 9bfce8d6..55f5e77f 100644 --- a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,15 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 1.3\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -803,7 +803,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -851,10 +850,11 @@ msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the " "button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be " @@ -863,14 +863,11 @@ msgid "" "'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be " "found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management " +"panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo index dbeed608..68ce5572 100644 Binary files a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po index 5af94b99..72c5b836 100644 --- a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/mediagoblin/language/eo/)\n" "MIME-Version: 1.0\n" @@ -22,15 +22,15 @@ msgstr "" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Bedaŭrinde, registrado estas malaktivigita en tiu ĉi instalaĵo." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -772,7 +772,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -819,23 +818,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo index fe3dfa0f..36158a48 100644 Binary files a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po index 74d33c6a..79ce63a7 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po @@ -20,9 +20,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-25 19:41+0000\n" -"Last-Translator: Laura Arjona Reina \n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/mediagoblin/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -31,15 +31,15 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Lo sentimos, el registro está deshabilitado en este momento." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Lo siento, el envío de informes está deshabilitado en esta instancia." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Lo siento, la autenticación está deshabilitada en esta instancia." @@ -94,7 +94,11 @@ msgstr "Se reenvió tu correo electrónico de verificación." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Título" @@ -551,6 +555,57 @@ msgstr "¿Qué acción tomarás para resolver el informe?" msgid "What privileges will you take away?" msgstr "¿Qué permisos vas a retirar?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "indefinidamente" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Advertencia de" @@ -573,7 +628,7 @@ msgstr "No recibirás notificaciones de comentarios sobre %s." msgid "Must provide an oauth_token." msgstr "Se debe proporcionar un código (token) de OAuth." -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "No se ha encontrado el código (token) de petición." @@ -643,7 +698,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -657,7 +712,7 @@ msgid "" " prominent and Demote moves the featured media lower down and makes it\n" " less prominent.\n" " " -msgstr "\n Sí. Si lo prefieres, puedes ir a la página de inicio del contenido que te gustaría destacar o quitar de destacados, y mirar en la barra lateral de la entrada. Si el contenido no se ha destacado aún, deberías ver un botón que dice \"Destacar\". Presiona ese botón y el contenido será destacado como primario, al inicio de la página.\nTodos los demás contenidos destacados seguirán como destacados, pero irán más abajo en la página.

\n\n Si vas a la página de inicio de un contenido que ya está destacado, verás las opciones \"Quitar de destacados\", \"Ascender\" y \"Descender\" donde antes estaba el botón que decía \"Destacar\". Haz clic en \"Quitar de destacados\" y ese contenido ya no aparecerá en la página inicial, aunque puedes volver a destacarlo en cualquier momento. \"Ascender\" mueve el contenido destacado más arriba en la página, y lo hace más prominente, y \"Descender\" mueve el contenido destacado más abajo y lo hace menos prominente.\n " +msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 msgid "What is a Primary Feature? What is a Secondary Feature?" @@ -772,23 +827,20 @@ msgstr "No hay nada destacado actualmente." msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" -msgstr "Si te gustaría destacar un\n contenido determinado, ve a la página inicial de esa entrada y pulsa el botón\n que dice" +" that says Feature." +msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "Ves esta página porque eres un usuario con permisos para\ndestacar contenidos; un usuario normal vería una página en blanco; así que asegúrate de que has destacado contenido mientras tengas habilitado el complemento 'archivalook'. Se puede encontrar una herramienta más avanzada para gestionar destacados en el" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." -msgstr "panel de gestión de destacados." +" in the feature management panel." +msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "Ver el contenido más reciente" @@ -1214,10 +1266,6 @@ msgstr "Has sido inhabilitado" msgid "until %(until_when)s" msgstr "hasta el %(until_when)s" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "indefinidamente" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "¡Verifica tu correo!" @@ -1259,6 +1307,10 @@ msgstr "Añadir contenido" msgid "Create new collection" msgstr "Crear nueva colección" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Panel de gestión de usuarios" @@ -1652,6 +1704,32 @@ msgstr "Aquí puedes llevar un seguimiento del estado del contenido que se está msgid "Media in-processing" msgstr "Procesando contenido" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "ID" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1662,6 +1740,14 @@ msgstr "No hay contenidos en procesamiento" msgid "These uploads failed to process:" msgstr "Estos archivos no pudieron ser procesados:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1671,6 +1757,10 @@ msgstr "¡No han fallado entradas!" msgid "Last 10 successful uploads" msgstr "Últimos 10 envíos con éxito" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1711,6 +1801,10 @@ msgid "" " " msgstr "\nESTE CONTENIDO DE⏎\n %(user_name)s⏎\nHA SIDO BORRADO⏎" +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1960,10 +2054,6 @@ msgstr "\nAquí puedes buscar usuarios de cara a tomar acciones punitivas sobre msgid "Active Users" msgstr "Usuarios activos" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "ID" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Cuándo se unió" @@ -2193,6 +2283,14 @@ msgstr "En la colección" msgid "Add to a collection" msgstr "Añadir a una colección" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo index ee38a900..a649737a 100644 Binary files a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po index d447a55d..3f5c32b2 100644 --- a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Persian (http://www.transifex.com/projects/p/mediagoblin/language/fa/)\n" "MIME-Version: 1.0\n" @@ -20,15 +20,15 @@ msgstr "" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "متاسفانه،ثبتنام به طور موقت غیر فعال است." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "شرمنده، قابلیت گزارش دادن در این نمونه غیر فعال است." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "شرمنده، تایید اعتبار در این نمونه غیرفعال گردیده است." @@ -770,7 +770,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -817,23 +816,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.mo new file mode 100644 index 00000000..90168857 Binary files /dev/null and b/mediagoblin/i18n/fi/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo index 0b9f6558..5f8770cb 100644 Binary files a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po index 18687944..829bfc26 100644 --- a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: French (http://www.transifex.com/projects/p/mediagoblin/language/fr/)\n" "MIME-Version: 1.0\n" @@ -31,15 +31,15 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Désolé, l'inscription n'est pas activée sur ce serveur." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Désolé, le signalement est désactivé sur ce serveur. " -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Désolé, l'authentification est désactivée sur ce serveur." @@ -781,7 +781,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -828,23 +827,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo index 49b28cba..63391773 100644 Binary files a/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po index 43903f08..16dc7bed 100644 --- a/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/gl/LC_MESSAGES/mediagoblin.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-10 12:32-0500\n" -"PO-Revision-Date: 2014-07-27 09:31+0000\n" -"Last-Translator: Adrián Chaves Fernández \n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" +"Last-Translator: cwebber \n" "Language-Team: Galician (http://www.transifex.com/projects/p/mediagoblin/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -19,15 +19,15 @@ msgstr "" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Neste sitio non se permite rexistrar novas contas." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Neste sitio non se permite denunciar." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Neste sitio non se permite autenticarse." @@ -82,7 +82,11 @@ msgstr "Volver enviar o correo de verificación." #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:89 #: mediagoblin/media_types/blog/forms.py:24 #: mediagoblin/media_types/blog/forms.py:33 mediagoblin/submit/forms.py:37 -#: mediagoblin/submit/forms.py:61 mediagoblin/user_pages/forms.py:45 +#: mediagoblin/submit/forms.py:61 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:40 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:69 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:100 +#: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Título" @@ -539,6 +543,57 @@ msgstr "Que vai facer para resolver a denuncia?" msgid "What privileges will you take away?" msgstr "Que privilexios vai retirarlle?" +#: mediagoblin/moderation/forms.py:122 +msgid "Why user was banned:" +msgstr "" + +#: mediagoblin/moderation/forms.py:125 +msgid "Message to user:" +msgstr "" + +#: mediagoblin/moderation/forms.py:128 +msgid "Resolution content:" +msgstr "" + +#: mediagoblin/moderation/tools.py:34 +msgid "" +"\n" +"{mod} took away {user}'s {privilege} privileges." +msgstr "" + +#: mediagoblin/moderation/tools.py:47 +msgid "" +"\n" +"{mod} banned user {user} {expiration_date}." +msgstr "" + +#: mediagoblin/moderation/tools.py:51 +msgid "until {date}" +msgstr "" + +#: mediagoblin/moderation/tools.py:53 +#: mediagoblin/templates/mediagoblin/banned.html:30 +msgid "indefinitely" +msgstr "de maneira indefinida" + +#: mediagoblin/moderation/tools.py:62 +msgid "" +"\n" +"{mod} sent a warning email to the {user}." +msgstr "" + +#: mediagoblin/moderation/tools.py:71 +msgid "" +"\n" +"{mod} deleted the comment." +msgstr "" + +#: mediagoblin/moderation/tools.py:78 +msgid "" +"\n" +"{mod} deleted the media entry." +msgstr "" + #: mediagoblin/moderation/tools.py:91 msgid "Warning from" msgstr "Aviso de" @@ -561,7 +616,7 @@ msgstr "Non recibirá notificacións sobre comentarios de %s." msgid "Must provide an oauth_token." msgstr "Debe fornecer un «auth_token»." -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:297 +#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." msgstr "Non se atopou o código da solicitude." @@ -631,7 +686,7 @@ msgid "" " Yes. If you would prefer, you may go to the media homepage of the piece\n" " of media you would like to feature or unfeature and look at the bar to\n" " the side of the media entry. If the piece of media has not been featured\n" -" yet you should see a button that says 'Feature'. Press that button and\n" +" yet you should see a button that says \"Feature\". Press that button and\n" " the media will be featured as a Primary Feature at the top of the page.\n" " All other featured media entries will remain as features, but will be\n" " pushed further down the page.

\n" @@ -645,7 +700,7 @@ msgid "" " prominent and Demote moves the featured media lower down and makes it\n" " less prominent.\n" " " -msgstr "\nExiste. Se o prefire, pode acceder á páxina do contido que quere destacar ou deixar de destacar, e utilizar o panel lateral que atopará na páxina. Se o contido non está destacado, prema o botón «Destacar» para destacalo como principal na parte superior da súa páxina. O resto de contidos destacados seguirán estando destacados, pero por debaixo do que acaba de destacar.

\nSe o contido xa está destacado, desde a súa páxina poderá utilizar os seguintes botóns: «Deixar de destacar» para deixar de destacar o contido, «Promover» para facer o contido destacado máis prominente, e «Degradar» para facer o contido destacado menos prominente." +msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 msgid "What is a Primary Feature? What is a Secondary Feature?" @@ -760,23 +815,20 @@ msgstr "Non hai nada destacado." msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" -msgstr "Para destacar un contido, acceda á súa páxina e prema o botón que di" +" that says Feature." +msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "Está a ver esta páxina porque ten permisos para destacar contidos —outros usuarios verían unha páxina baleira— así que asegúrese de destacar contido sempre que o complemento «archivalook» estea activado. Pode atopar unha ferramenta máis avanzada para xestionar os contidos destacados no" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." -msgstr "panel de xestión de contidos destacados." +" in the feature management panel." +msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "Ver os últimos contidos" @@ -1202,10 +1254,6 @@ msgstr "Ten prohibido o acceso" msgid "until %(until_when)s" msgstr "ata %(until_when)s" -#: mediagoblin/templates/mediagoblin/banned.html:30 -msgid "indefinitely" -msgstr "de maneira indefinida" - #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" msgstr "Verifique o seu enderezo de correo!" @@ -1247,6 +1295,10 @@ msgstr "Engadir contidos" msgid "Create new collection" msgstr "Crear unha colección nova" +#: mediagoblin/templates/mediagoblin/base.html:163 +msgid "Moderation powers:" +msgstr "" + #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" msgstr "Panel de xestión de usuarios" @@ -1640,6 +1692,32 @@ msgstr "Aquí pode comprobar o estado de contidos que se están a procesar neste msgid "Media in-processing" msgstr "Contido procesándose" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:38 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:67 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 +#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 +msgid "ID" +msgstr "Identificador" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 +msgid "User" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 +msgid "When submitted" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 +msgid "Transcoding progress" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 +msgid "Unknown" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 msgid "No media in-processing" @@ -1650,6 +1728,14 @@ msgstr "Non hai contidos procesándose" msgid "These uploads failed to process:" msgstr "Non foi posíbel procesar os seguintes envíos:" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 +msgid "Reason for failure" +msgstr "" + +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 +msgid "Failure metadata" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" @@ -1659,6 +1745,10 @@ msgstr "Non houbo erros!" msgid "Last 10 successful uploads" msgstr "Últimos 10 envíos sen erros" +#: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 +msgid "Submitted" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" @@ -1699,6 +1789,10 @@ msgid "" " " msgstr "\n ELIMINOUSE\n O CONTIDO DE\n %(user_name)s " +#: mediagoblin/templates/mediagoblin/moderation/report.html:102 +msgid "Reason for report:" +msgstr "" + #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" @@ -1948,10 +2042,6 @@ msgstr "\n Aquí pode buscar usuarios para tomar medidas de castigo contra el msgid "Active Users" msgstr "Usuarios activos" -#: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 -msgid "ID" -msgstr "Identificador" - #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" msgstr "Data de creación" @@ -2181,6 +2271,14 @@ msgstr "Parte de" msgid "Add to a collection" msgstr "Engadir a unha colección" +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 +msgid "Subscribe to comments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 +msgid "Silence comments" +msgstr "" + #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo index fdb61507..d5675b70 100644 Binary files a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po index a038e70a..16b414cc 100644 --- a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/mediagoblin/language/he/)\n" "MIME-Version: 1.0\n" @@ -21,15 +21,15 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "לצערנו, רישום הינו מנוטרל על שרת זה." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "לצערנו, דיווח הינו מנוטרלים על שרת זה." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "לצערנו, אימות הינו מנוטרל על שרת זה." @@ -304,7 +304,7 @@ msgstr "" #: mediagoblin/gmg_commands/batchaddmedia.py:40 msgid "Name of user these media entries belong to" -msgstr "" +msgstr "שם משתמש לו שייכים ערכי מדיה אלו" #: mediagoblin/gmg_commands/batchaddmedia.py:43 msgid "Path to the csv file containing metadata information." @@ -495,7 +495,7 @@ msgstr "הבלוג של %(blog_owner_name)s" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 msgid "View" -msgstr "" +msgstr "תצוגה" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 msgid "Create a Blog" @@ -547,11 +547,11 @@ msgstr "אילו פריבילגיות אתה תסיר?" #: mediagoblin/moderation/forms.py:122 msgid "Why user was banned:" -msgstr "" +msgstr "מדוע משתמש נאסר:" #: mediagoblin/moderation/forms.py:125 msgid "Message to user:" -msgstr "" +msgstr "הודעה אל משתמש:" #: mediagoblin/moderation/forms.py:128 msgid "Resolution content:" @@ -561,17 +561,17 @@ msgstr "" msgid "" "\n" "{mod} took away {user}'s {privilege} privileges." -msgstr "" +msgstr "\n {mod} נטל פריבילגיות {privilege} של {user}." #: mediagoblin/moderation/tools.py:47 msgid "" "\n" "{mod} banned user {user} {expiration_date}." -msgstr "" +msgstr "\n {mod} אסר משתמש {user} {expiration_date}." #: mediagoblin/moderation/tools.py:51 msgid "until {date}" -msgstr "" +msgstr "עד {date}" #: mediagoblin/moderation/tools.py:53 #: mediagoblin/templates/mediagoblin/banned.html:30 @@ -582,19 +582,19 @@ msgstr "לצמיתה" msgid "" "\n" "{mod} sent a warning email to the {user}." -msgstr "" +msgstr "\n{mod} שלח דוא״ל אזהרה אל {user}." #: mediagoblin/moderation/tools.py:71 msgid "" "\n" "{mod} deleted the comment." -msgstr "" +msgstr "\n {mod} מחק את התגובה." #: mediagoblin/moderation/tools.py:78 msgid "" "\n" "{mod} deleted the media entry." -msgstr "" +msgstr "\n {mod} מחק את רשומת המדיה." #: mediagoblin/moderation/tools.py:91 msgid "Warning from" @@ -771,7 +771,6 @@ msgid "" msgstr "\n הבלט מדיה " #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "הבלט" @@ -818,29 +817,26 @@ msgstr "שום דבר אינו אשר מובלט." msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 msgid "Feature management panel" -msgstr "" +msgstr "לוח ניהול תכונות" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 msgid "" @@ -1709,7 +1705,7 @@ msgstr "מזהה" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 msgid "User" -msgstr "" +msgstr "משתמש" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 @@ -1722,7 +1718,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 msgid "Unknown" -msgstr "" +msgstr "לא ידוע" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 @@ -1736,7 +1732,7 @@ msgstr "העלאות אלה נכשלו להתעבד:" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 msgid "Reason for failure" -msgstr "" +msgstr "סיבה לכישלון" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 msgid "Failure metadata" diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo index 7780fb9a..8219c9bd 100644 Binary files a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po index 308fb757..6ab61e71 100644 --- a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/mediagoblin/language/ia/)\n" "MIME-Version: 1.0\n" @@ -20,15 +20,15 @@ msgstr "" "Language: ia\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -770,7 +770,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -817,23 +816,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo index a860af00..582c12b7 100644 Binary files a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po index 65f18667..62091875 100644 --- a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Icelandic (Iceland) (http://www.transifex.com/projects/p/mediagoblin/language/is_IS/)\n" "MIME-Version: 1.0\n" @@ -22,15 +22,15 @@ msgstr "" "Language: is_IS\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Því miður er nýskráning ekki leyfð á þessu svæði." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Því miður eru tilkynningar óvirkar á þessum vef." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Því miður er auðkenning ekki möguleg á þessu vefsvæði." @@ -772,7 +772,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -819,23 +818,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo index cea8135f..431a2950 100644 Binary files a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po index 63e2f7a6..1f78f15d 100644 --- a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po @@ -14,8 +14,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Italian (http://www.transifex.com/projects/p/mediagoblin/language/it/)\n" "MIME-Version: 1.0\n" @@ -25,15 +25,15 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Spiacente, la registrazione è disabilitata su questa istanza." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Spiacente, le segnalazioni sono disabilitate in questa istanza." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Mi dispiace, l'autenticazione è disabilitata in questa istanza." @@ -775,7 +775,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -822,23 +821,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo index 8fbf01a7..49b23def 100644 Binary files a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po index e603aad8..4df8084b 100644 --- a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/mediagoblin/language/ja/)\n" "MIME-Version: 1.0\n" @@ -21,15 +21,15 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "申し訳ありませんが、このインスタンスで登録は無効になっています。" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -771,7 +771,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -818,23 +817,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo index 167abda3..c39cb648 100644 Binary files a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po index d0955712..ba54d112 100644 --- a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/mediagoblin/language/ko_KR/)\n" "MIME-Version: 1.0\n" @@ -19,15 +19,15 @@ msgstr "" "Language: ko_KR\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "죄송합니다. 지금은 가입 하실 수 없습니다." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -769,7 +769,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -816,23 +815,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.mo new file mode 100644 index 00000000..5aed8f4a Binary files /dev/null and b/mediagoblin/i18n/nb_NO/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo index cf665ddb..9713d2d6 100644 Binary files a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po index b572b6fe..e0ad7104 100644 --- a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/mediagoblin/language/nl/)\n" "MIME-Version: 1.0\n" @@ -20,15 +20,15 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Sorry, registratie is uitgeschakeld op deze instantie." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -770,7 +770,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -817,23 +816,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo index 3ea00983..ac158ea1 100644 Binary files a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po index 5ca2141e..d34bb151 100644 --- a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po @@ -3,14 +3,14 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: -# velmont , 2013 +# velmont , 2013-2014 # velmont , 2011-2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/mediagoblin/language/nn_NO/)\n" "MIME-Version: 1.0\n" @@ -20,15 +20,15 @@ msgstr "" "Language: nn_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Registrering er slege av. Orsak." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Rapportering er slege av. Orsak." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Autentisering er slege av. Orsak." @@ -205,11 +205,11 @@ msgstr "Skriv inn passordet som prov på at dette er din konto." #: mediagoblin/edit/forms.py:155 msgid "Identifier" -msgstr "" +msgstr "Identifikator" #: mediagoblin/edit/forms.py:156 msgid "Value" -msgstr "" +msgstr "Verdi" #: mediagoblin/edit/views.py:78 msgid "An entry with that slug already exists for this user." @@ -299,62 +299,62 @@ msgid "" "script (and how to format the metadata csv file), read the MediaGoblin\n" "documentation page on command line uploading\n" "" -msgstr "" +msgstr "For more information about how to properly run this\nscript (and how to format the metadata csv file), read the MediaGoblin\ndocumentation page on command line uploading\n" #: mediagoblin/gmg_commands/batchaddmedia.py:40 msgid "Name of user these media entries belong to" -msgstr "" +msgstr "Name of user these media entries belong to" #: mediagoblin/gmg_commands/batchaddmedia.py:43 msgid "Path to the csv file containing metadata information." -msgstr "" +msgstr "Path to the csv file containing metadata information." #: mediagoblin/gmg_commands/batchaddmedia.py:48 msgid "Don't process eagerly, pass off to celery" -msgstr "" +msgstr "Don't process eagerly, pass off to celery" #: mediagoblin/gmg_commands/batchaddmedia.py:63 msgid "Sorry, no user by username '{username}' exists" -msgstr "" +msgstr "Sorry, no user by username '{username}' exists" #: mediagoblin/gmg_commands/batchaddmedia.py:74 msgid "File at {path} not found, use -h flag for help" -msgstr "" +msgstr "File at {path} not found, use -h flag for help" #: mediagoblin/gmg_commands/batchaddmedia.py:115 msgid "" "Error with media '{media_id}' value '{error_path}': {error_msg}\n" "Metadata was not uploaded." -msgstr "" +msgstr "Error with media '{media_id}' value '{error_path}': {error_msg}\nMetadata was not uploaded." #: mediagoblin/gmg_commands/batchaddmedia.py:141 msgid "" "FAIL: Local file {filename} could not be accessed.\n" "{filename} will not be uploaded." -msgstr "" +msgstr "FAIL: Local file {filename} could not be accessed.\n{filename} will not be uploaded." #: mediagoblin/gmg_commands/batchaddmedia.py:157 msgid "" "Successfully submitted {filename}!\n" "Be sure to look at the Media Processing Panel on your website to be sure it\n" "uploaded successfully." -msgstr "" +msgstr "Successfully submitted {filename}!\nBe sure to look at the Media Processing Panel on your website to be sure it\nuploaded successfully." #: mediagoblin/gmg_commands/batchaddmedia.py:160 msgid "FAIL: This file is larger than the upload limits for this site." -msgstr "" +msgstr "FAIL: This file is larger than the upload limits for this site." #: mediagoblin/gmg_commands/batchaddmedia.py:163 msgid "FAIL: This file will put this user past their upload limits." -msgstr "" +msgstr "FAIL: This file will put this user past their upload limits." #: mediagoblin/gmg_commands/batchaddmedia.py:166 msgid "FAIL: This user is already past their upload limits." -msgstr "" +msgstr "FAIL: This user is already past their upload limits." #: mediagoblin/gmg_commands/batchaddmedia.py:168 msgid "{files_uploaded} out of {files_attempted} files successfully submitted" -msgstr "" +msgstr "{files_uploaded} out of {files_attempted} files successfully submitted" #: mediagoblin/meddleware/csrf.py:134 msgid "" @@ -384,11 +384,11 @@ msgstr "Johoo! Opplasta!" #: mediagoblin/media_types/blog/views.py:198 msgid "Woohoo! edited blogpost is submitted" -msgstr "" +msgstr "Sende inn det endra innlegget" #: mediagoblin/media_types/blog/views.py:320 msgid "You deleted the Blog." -msgstr "" +msgstr "Du sletta bloggen." #: mediagoblin/media_types/blog/views.py:326 #: mediagoblin/user_pages/views.py:329 @@ -397,23 +397,23 @@ msgstr "Sletta ikkje verket." #: mediagoblin/media_types/blog/views.py:333 msgid "You are about to delete another user's Blog. Proceed with caution." -msgstr "" +msgstr "Du er i ferd med å sletta ein annan brukar sin blogg. Trå varsamt." #: mediagoblin/media_types/blog/views.py:344 msgid "The blog was not deleted because you have no rights." -msgstr "" +msgstr "Sletta ikkje bloggen fordi du ikkje har løyve." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 msgid "Add Blog Post" -msgstr "" +msgstr "Legg til innlegg" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 msgid "Edit Blog" -msgstr "" +msgstr "Endra blogg" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:57 msgid "Delete Blog" -msgstr "" +msgstr "Slett blogg" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:92 #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:35 @@ -435,11 +435,11 @@ msgstr "Slett" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 msgid " Go to list view " -msgstr "" +msgstr "Gå til listevisning" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 msgid " No blog post yet. " -msgstr "" +msgstr "Ingen innlegg enno." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 @@ -468,7 +468,7 @@ msgstr "Slett permanent" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 msgid "Create/Edit a Blog" -msgstr "" +msgstr "Opprett/endra ein blogg" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 #: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 @@ -481,28 +481,28 @@ msgstr "Legg til" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 msgid "Create/Edit a blog post." -msgstr "" +msgstr "Opprett/endra eit innlegg." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 msgid "Create/Edit a Blog Post." -msgstr "" +msgstr "Opprett/endra eit innlegg." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 #, python-format msgid "%(blog_owner_name)s's Blog" -msgstr "" +msgstr "Bloggen til %(blog_owner_name)s" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 msgid "View" -msgstr "" +msgstr "Vis" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 msgid "Create a Blog" -msgstr "" +msgstr "Lag ein blogg" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 msgid " Blog Dashboard " -msgstr "" +msgstr "Blogg styringspanel" #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" @@ -546,31 +546,31 @@ msgstr "Kva privilegium vil du ta vekk?" #: mediagoblin/moderation/forms.py:122 msgid "Why user was banned:" -msgstr "" +msgstr "Grunn til at brukaren er utestengd:" #: mediagoblin/moderation/forms.py:125 msgid "Message to user:" -msgstr "" +msgstr "Melding til brukar:" #: mediagoblin/moderation/forms.py:128 msgid "Resolution content:" -msgstr "" +msgstr "Løysingsinnhald:" #: mediagoblin/moderation/tools.py:34 msgid "" "\n" "{mod} took away {user}'s {privilege} privileges." -msgstr "" +msgstr "\n{mod} tok vekk {privilege} privilegiane til {user}." #: mediagoblin/moderation/tools.py:47 msgid "" "\n" "{mod} banned user {user} {expiration_date}." -msgstr "" +msgstr "\n{mod} utestengde brukaren {user} {expiration_date}." #: mediagoblin/moderation/tools.py:51 msgid "until {date}" -msgstr "" +msgstr "til {dato}" #: mediagoblin/moderation/tools.py:53 #: mediagoblin/templates/mediagoblin/banned.html:30 @@ -581,19 +581,19 @@ msgstr "for alltid" msgid "" "\n" "{mod} sent a warning email to the {user}." -msgstr "" +msgstr "\n{mod} sende ein åtvaringsepost til {user}." #: mediagoblin/moderation/tools.py:71 msgid "" "\n" "{mod} deleted the comment." -msgstr "" +msgstr "\n{mod} sletta innspelet." #: mediagoblin/moderation/tools.py:78 msgid "" "\n" "{mod} deleted the media entry." -msgstr "" +msgstr "\n{mod} sletta verket." #: mediagoblin/moderation/tools.py:91 msgid "Warning from" @@ -638,7 +638,7 @@ msgstr "Du har nådd opplastingsgrensa di." #: mediagoblin/plugins/archivalook/forms.py:21 msgid "Enter the URL for the media to be featured" -msgstr "" +msgstr "Skriv adresse for verket du vil visa fram." #: mediagoblin/plugins/archivalook/tools.py:132 msgid "Primary" @@ -770,7 +770,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -817,23 +816,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo index 22233a7d..ed82de03 100644 Binary files a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po index eaca379f..a595286d 100644 --- a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Polish (http://www.transifex.com/projects/p/mediagoblin/language/pl/)\n" "MIME-Version: 1.0\n" @@ -20,15 +20,15 @@ msgstr "" "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" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Niestety rejestracja w tym serwisie jest wyłączona." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Przepraszamy, autoryzacja jest wyłączona w tym systemie." @@ -770,7 +770,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -817,23 +816,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo index 1356739e..0235ad2e 100644 Binary files a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po index 16edfa50..3c3eddac 100644 --- a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mediagoblin/language/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -24,15 +24,15 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Desculpa, o registro está desativado neste momento." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Desculpe, criação de relatório está desabilitado nessa instância." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Desculpe, autenticação está desabilitada nessa instância." @@ -774,7 +774,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -821,23 +820,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo index e0803b81..607fbc40 100644 Binary files a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po index fb376a70..310e2af5 100644 --- a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/mediagoblin/language/ro/)\n" "MIME-Version: 1.0\n" @@ -20,15 +20,15 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Ne pare rău, dar înscrierile sunt dezactivate pe acest server." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -770,7 +770,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -817,23 +816,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo index a6670e85..49769476 100644 Binary files a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po index 495fe307..8693f43f 100644 --- a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Russian (http://www.transifex.com/projects/p/mediagoblin/language/ru/)\n" "MIME-Version: 1.0\n" @@ -21,15 +21,15 @@ msgstr "" "Language: ru\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" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Извините, на этом сайте регистрация запрещена." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Извините, аутентификация на этом сайте отключена." @@ -771,7 +771,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -818,23 +817,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo index dbf8b729..1796a054 100644 Binary files a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po index 034b2c82..ef28b171 100644 --- a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po @@ -13,8 +13,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Slovak (http://www.transifex.com/projects/p/mediagoblin/language/sk/)\n" "MIME-Version: 1.0\n" @@ -24,15 +24,15 @@ msgstr "" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Prepáč, registrácia na danej inštancii nie je povolená." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Prepáč, reportovanie je na tejto inštancii vypnuté." -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Prepáč, autentifikácia je vypnutá pre túto inštanciu." @@ -774,7 +774,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -821,23 +820,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo index 1d7313d8..bcdc0f68 100644 Binary files a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po index c7de9b42..cded9d0a 100644 --- a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/mediagoblin/language/sl/)\n" "MIME-Version: 1.0\n" @@ -19,15 +19,15 @@ msgstr "" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Oprostite, prijava za ta izvod ni omogočena." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -769,7 +769,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -816,23 +815,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo index 163a1427..0056d6f5 100644 Binary files a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po index 935ecebe..1277b899 100644 --- a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Albanian (http://www.transifex.com/projects/p/mediagoblin/language/sq/)\n" "MIME-Version: 1.0\n" @@ -20,15 +20,15 @@ msgstr "" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "Na ndjeni, regjistrimi në këtë instancë të shërbimit është i çaktivizuar." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "Na ndjeni, në këtë instancë raportimi është i çaktivizuar" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Na ndjeni, mirëfilltësimi është i çaktivizuar për këtë instancë." @@ -770,7 +770,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -817,23 +816,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo index 07a7dbf3..62cb9cb0 100644 Binary files a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po index 0d77486d..523db5a0 100644 --- a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/mediagoblin/language/sr/)\n" "MIME-Version: 1.0\n" @@ -18,15 +18,15 @@ msgstr "" "Language: sr\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" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -768,7 +768,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -815,23 +814,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo index fd68a184..439b5fc3 100644 Binary files a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po index e0bb77f2..7a5b8336 100644 --- a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po @@ -3,14 +3,15 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: +# ersi , 2014 # ingenman , 2011 # joar , 2011, 2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/mediagoblin/language/sv/)\n" "MIME-Version: 1.0\n" @@ -20,22 +21,22 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." -msgstr "Vi beklagar, registreringen är avtängd på den här instansen." +msgstr "Vi beklagar, registreringen är avstängd på den här instansen." -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" #: mediagoblin/auth/tools.py:43 msgid "Invalid User name or email address." -msgstr "" +msgstr "Felaktigt användarnamn eller e-postadress." #: mediagoblin/auth/tools.py:44 msgid "This field does not take email addresses." @@ -130,7 +131,7 @@ msgstr "" #: mediagoblin/submit/forms.py:50 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" -msgstr "" +msgstr "Licens" #: mediagoblin/edit/forms.py:54 msgid "Bio" @@ -226,7 +227,7 @@ msgstr "" #: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." -msgstr "" +msgstr "Du kan bara ändra din egna profil." #: mediagoblin/edit/views.py:199 msgid "You are editing a user's profile. Proceed with caution." @@ -234,11 +235,11 @@ msgstr "Var försiktig, du redigerar en annan användares profil." #: mediagoblin/edit/views.py:215 msgid "Profile changes saved" -msgstr "" +msgstr "Profilförändringar sparade" #: mediagoblin/edit/views.py:248 msgid "Account settings saved" -msgstr "" +msgstr "Kontoinställningar sparade" #: mediagoblin/edit/views.py:282 msgid "You need to confirm the deletion of your account." @@ -260,7 +261,7 @@ msgstr "" #: mediagoblin/edit/views.py:378 msgid "Your email address has been verified." -msgstr "" +msgstr "Din e-postadress har blivit verifierad." #: mediagoblin/edit/views.py:413 mediagoblin/plugins/basic_auth/views.py:200 msgid "Wrong password" @@ -421,7 +422,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media.html:84 msgid "Edit" -msgstr "" +msgstr "Ändra" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:93 #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blogpost_draft_view.html:36 @@ -431,7 +432,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 #: mediagoblin/templates/mediagoblin/user_pages/media.html:88 msgid "Delete" -msgstr "" +msgstr "Ta bort" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 msgid " Go to list view " @@ -770,7 +771,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -817,23 +817,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" @@ -887,7 +884,7 @@ msgstr "E-postadress" #: mediagoblin/plugins/basic_auth/forms.py:39 msgid "Username or Email" -msgstr "" +msgstr "Användarnamn eller e-postadress" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" @@ -895,7 +892,7 @@ msgstr "" #: mediagoblin/plugins/basic_auth/forms.py:51 msgid "Username or email" -msgstr "" +msgstr "Användarnamn eller e-postadress" #: mediagoblin/plugins/basic_auth/views.py:54 msgid "" @@ -954,7 +951,7 @@ msgstr "" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 msgid "Save" -msgstr "" +msgstr "Spara" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 msgid "Don't have an account yet?" @@ -966,7 +963,7 @@ msgstr "Skapa ett här!" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 msgid "Change your password." -msgstr "" +msgstr "Ändra ditt lösenord." #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 @@ -1026,7 +1023,7 @@ msgstr "" #: mediagoblin/plugins/oauth/forms.py:40 msgid "Type" -msgstr "" +msgstr "Typ" #: mediagoblin/plugins/oauth/forms.py:45 msgid "" @@ -1072,7 +1069,7 @@ msgstr "" #: mediagoblin/plugins/openid/forms.py:38 msgid "OpenID" -msgstr "" +msgstr "OpenID" #: mediagoblin/plugins/openid/views.py:48 msgid "Sorry, the OpenID server could not be found" @@ -1288,7 +1285,7 @@ msgstr "Mediabehandlingspanel" #: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" -msgstr "" +msgstr "Logga ut" #: mediagoblin/templates/mediagoblin/base.html:155 #: mediagoblin/templates/mediagoblin/user_pages/user.html:113 @@ -1618,7 +1615,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/image.html:36 msgid "Created" -msgstr "" +msgstr "Skapad" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 @@ -1655,7 +1652,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" -msgstr "" +msgstr "WebGL" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" @@ -1810,7 +1807,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" -msgstr "" +msgstr "Status" #: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" @@ -2017,11 +2014,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/moderation/user.html:180 msgid "Yes" -msgstr "" +msgstr "Ja" #: mediagoblin/templates/mediagoblin/moderation/user.html:182 msgid "No" -msgstr "" +msgstr "Nej" #: mediagoblin/templates/mediagoblin/moderation/user.html:213 msgid "Ban User" @@ -2173,7 +2170,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 msgid "+" -msgstr "" +msgstr "+" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:58 msgid "Add a new collection" @@ -2308,12 +2305,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/utils/pagination.html:48 msgid "Go to page:" -msgstr "" +msgstr "Gå till sida:" #: mediagoblin/templates/mediagoblin/utils/prev_next.html:28 #: mediagoblin/templates/mediagoblin/utils/prev_next.html:33 msgid "newer" -msgstr "" +msgstr "nyare" #: mediagoblin/templates/mediagoblin/utils/prev_next.html:39 #: mediagoblin/templates/mediagoblin/utils/prev_next.html:44 @@ -2368,19 +2365,19 @@ msgstr "" #: mediagoblin/tools/timesince.py:62 msgid "year" -msgstr "" +msgstr "år" #: mediagoblin/tools/timesince.py:63 msgid "month" -msgstr "" +msgstr "månad" #: mediagoblin/tools/timesince.py:64 msgid "week" -msgstr "" +msgstr "vecka" #: mediagoblin/tools/timesince.py:65 msgid "day" -msgstr "" +msgstr "dag" #: mediagoblin/tools/timesince.py:66 msgid "hour" diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo index d457fd1c..98bd9054 100644 Binary files a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po index 19be41f0..0f3a6cb6 100644 --- a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Telugu (http://www.transifex.com/projects/p/mediagoblin/language/te/)\n" "MIME-Version: 1.0\n" @@ -19,15 +19,15 @@ msgstr "" "Language: te\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -769,7 +769,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -816,23 +815,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo index 652091c8..2e01288e 100644 Binary files a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo index 4313a9e7..7fd01e75 100644 Binary files a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po index 12facc35..cb9b2849 100644 --- a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/mediagoblin/language/vi/)\n" "MIME-Version: 1.0\n" @@ -18,15 +18,15 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -768,7 +768,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -815,23 +814,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo index 7b636785..7f624285 100644 Binary files a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po index d1fe7c43..063a9d65 100644 --- a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Vietnamese (Viet Nam) (http://www.transifex.com/projects/p/mediagoblin/language/vi_VN/)\n" "MIME-Version: 1.0\n" @@ -18,15 +18,15 @@ msgstr "" "Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -768,7 +768,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -815,23 +814,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo index d6ef805a..acf9243a 100644 Binary files a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po index 246ea068..c8c5427f 100644 --- a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/mediagoblin/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -23,15 +23,15 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "抱歉,本站已暂停注册。" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -773,7 +773,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -820,23 +819,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo index 0ea966de..90d89958 100644 Binary files a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po index 7a8e4330..983880e9 100644 --- a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Chinese (Taiwan) (Big5) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW.Big5/)\n" "MIME-Version: 1.0\n" @@ -18,15 +18,15 @@ msgstr "" "Language: zh_TW.Big5\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -768,7 +768,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -815,23 +814,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo index 79b2570f..1c15a6f3 100644 Binary files a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po index 615619d4..ed25a3fd 100644 --- a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-07-29 11:01-0500\n" -"PO-Revision-Date: 2014-07-29 16:01+0000\n" +"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"PO-Revision-Date: 2014-08-04 18:45+0000\n" "Last-Translator: cwebber \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW/)\n" "MIME-Version: 1.0\n" @@ -23,15 +23,15 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/decorators.py:300 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." msgstr "抱歉,本站已經關閉註冊功能。" -#: mediagoblin/decorators.py:315 +#: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." msgstr "抱歉,本站已經關閉回報功能。" -#: mediagoblin/decorators.py:358 mediagoblin/plugins/ldap/views.py:55 +#: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "抱歉,本站已經關閉認証。" @@ -773,7 +773,6 @@ msgid "" msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:64 msgid "Feature" msgstr "" @@ -820,23 +819,20 @@ msgstr "" msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" -" that says" +" that says Feature." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:65 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 +#, python-format msgid "" "You're seeing this page because you are a user capable of\n" " featuring media, a regular user would see a blank page, so be sure to\n" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" -" in the" -msgstr "" - -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:72 -msgid "feature management panel." +" in the feature management panel." msgstr "" -#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:77 +#: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" msgstr "" -- cgit v1.2.3 From bb12fb807e59cbe124c32c0b4fa2a74e0b81aade Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 7 Aug 2014 13:24:07 -0500 Subject: Add a new migration which removes/fixes the old migration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous migration, as it turns out, was not needed, and there were many inconsistencies put in place by adding it. See issue #920. This commit sponsored by Gergő Tisza. Thank you! --- mediagoblin/db/migrations.py | 50 ++++++++++++++++++++++++++++++++++++++++++++ mediagoblin/db/models.py | 2 +- 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 88cda6f1..3bcf2a65 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -789,6 +789,7 @@ def fix_privilege_user_association_table(db): db.commit() + @RegisterMigration(22, MIGRATIONS) def add_index_username_field(db): """ @@ -802,3 +803,52 @@ def add_index_username_field(db): new_index.create() db.commit() + + +@RegisterMigration(23, MIGRATIONS) +def revert_username_index(db): + """ + """ + metadata = MetaData(bind=db.bind) + user_table = inspect_table(metadata, "core__users") + indexes = {index.name: index for index in user_table.indexes} + + if not (u'ix_core__users_uploader' in indexes or + u'ix_core__users_username' in indexes): + # We don't need to do anything. + # The database isn't in a state where it needs fixing + # + # (ie, either went through the previous borked migration or + # was initialized with a models.py where core__users was both + # unique=True and index=True) + return + + if db.bind.url.drivername == 'sqlite': + # Again, sqlite has problems. So this is tricky. + + # Yes, this is correct to use User_vR1! Nothing has changed + # between the *correct* version of this table and migration 18. + User_vR1.__table__.create(db.bind) + db.commit() + new_user_table = inspect_table(metadata, 'rename__users') + replace_table_hack(db, user_table, new_user_table) + + else: + # If the db is not run using SQLite, this process is much simpler... + # ...as usual ;) + + # Remove whichever of the not-used indexes are in place + if u'ix_core__users_uploader' in indexes: + index = indexes[u'ix_core__users_uploader'] + index.drop() + if u'ix_core__users_username' in indexes: + index = indexes[u'ix_core__users_username'] + index.drop() + db.commit() + + # Add the unique constraint + constraint = UniqueConstraint( + 'username', table=user_table) + constraint.create() + + db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index b3f7e23d..932ba074 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -58,7 +58,7 @@ class User(Base, UserMixin): __tablename__ = "core__users" id = Column(Integer, primary_key=True) - username = Column(Unicode, nullable=False, unique=True, index=True) + username = Column(Unicode, nullable=False, unique=True) # Note: no db uniqueness constraint on email because it's not # reliable (many email systems case insensitive despite against # the RFC) and because it would be a mess to implement at this -- cgit v1.2.3 From 3a8d0e145ee2de7a72693789f66cdbf6b5b53b30 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 7 Aug 2014 14:45:08 -0500 Subject: Document both migrations, comment out old migration --- mediagoblin/db/migrations.py | 44 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 3bcf2a65..d8a6d1ce 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -793,21 +793,47 @@ def fix_privilege_user_association_table(db): @RegisterMigration(22, MIGRATIONS) def add_index_username_field(db): """ - This indexes the User.username field which is frequently queried - for example a user logging in. This solves the issue #894 - """ - metadata = MetaData(bind=db.bind) - user_table = inspect_table(metadata, "core__users") + This migration has been found to be doing the wrong thing. See + the documentation in migration 23 (revert_username_index) below + which undoes this for those databases that did run this migration. - new_index = Index("ix_core__users_uploader", user_table.c.username) - new_index.create() - - db.commit() + Old description: + This indexes the User.username field which is frequently queried + for example a user logging in. This solves the issue #894 + """ + ## This code is left commented out *on purpose!* + ## + ## We do not normally allow commented out code like this in + ## MediaGoblin but this is a special case: since this migration has + ## been nullified but with great work to set things back below, + ## this is commented out for historical clarity. + # + # metadata = MetaData(bind=db.bind) + # user_table = inspect_table(metadata, "core__users") + # + # new_index = Index("ix_core__users_uploader", user_table.c.username) + # new_index.create() + # + # db.commit() + pass @RegisterMigration(23, MIGRATIONS) def revert_username_index(db): """ + Revert the stuff we did in migration 22 above. + + There were a couple of problems with what we did: + - There was never a need for this migration! The unique + constraint had an implicit b-tree index, so it wasn't really + needed. (This is my (Chris Webber's) fault for suggesting it + needed to happen without knowing what's going on... my bad!) + - On top of that, databases created after the models.py was + changed weren't the same as those that had been run through + migration 22 above. + + As such, we're setting things back to the way they were before, + but as it turns out, that's tricky to do! """ metadata = MetaData(bind=db.bind) user_table = inspect_table(metadata, "core__users") -- cgit v1.2.3 From e6288a68e1d08538e40bf88ba8bcf3ac242decda Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 7 Aug 2014 16:29:45 -0500 Subject: Only add the constraint if we need to. Catch an exception if we don't. Also, updating the comment about sqlite being crazy :) --- mediagoblin/db/migrations.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index d8a6d1ce..6ca10b57 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -860,8 +860,8 @@ def revert_username_index(db): replace_table_hack(db, user_table, new_user_table) else: - # If the db is not run using SQLite, this process is much simpler... - # ...as usual ;) + # If the db is not run using SQLite, we don't need to do crazy + # table copying. # Remove whichever of the not-used indexes are in place if u'ix_core__users_uploader' in indexes: @@ -872,9 +872,13 @@ def revert_username_index(db): index.drop() db.commit() - # Add the unique constraint - constraint = UniqueConstraint( - 'username', table=user_table) - constraint.create() + try: + # Add the unique constraint + constraint = UniqueConstraint( + 'username', table=user_table) + constraint.create() + except ProgrammingError: + # constraint already exists, no need to add + pass db.commit() -- cgit v1.2.3 From 1de794c6f0e8909d18e9e4478820d81184b9bc29 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 8 Aug 2014 09:47:33 -0500 Subject: Explaining why we're committing mid-migration --- mediagoblin/db/migrations.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 6ca10b57..a7e026c6 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -870,6 +870,10 @@ def revert_username_index(db): if u'ix_core__users_username' in indexes: index = indexes[u'ix_core__users_username'] index.drop() + + # Given we're removing indexes then adding a unique constraint + # which *we know might fail*, thus probably rolling back the + # session, let's commit here. db.commit() try: -- cgit v1.2.3 From ed0b981edc868046575d9e451077e79c7b0e4016 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 8 Aug 2014 09:50:16 -0500 Subject: If the constraint already exists, roll back to a sane state. --- mediagoblin/db/migrations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index a7e026c6..fca7819b 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -883,6 +883,6 @@ def revert_username_index(db): constraint.create() except ProgrammingError: # constraint already exists, no need to add - pass + db.rollback() db.commit() -- cgit v1.2.3 From f2a6db9088ae267950ec9f4e8ea3e39ec5ef89a2 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 8 Aug 2014 11:39:44 -0500 Subject: Pull the indexes out of the dictionary directly Instead of checking for their keys and pulling them out later, that is. --- mediagoblin/db/migrations.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index fca7819b..faf84c15 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -839,8 +839,13 @@ def revert_username_index(db): user_table = inspect_table(metadata, "core__users") indexes = {index.name: index for index in user_table.indexes} - if not (u'ix_core__users_uploader' in indexes or - u'ix_core__users_username' in indexes): + # index from unnecessary migration + users_uploader_index = indexes.get(u'ix_core__users_uploader') + # index created from models.py after (unique=True, index=True) + # was set in models.py + users_username_index = indexes.get(u'ix_core__users_username') + + if not users_uploader_index or users_username_index: # We don't need to do anything. # The database isn't in a state where it needs fixing # @@ -864,12 +869,10 @@ def revert_username_index(db): # table copying. # Remove whichever of the not-used indexes are in place - if u'ix_core__users_uploader' in indexes: - index = indexes[u'ix_core__users_uploader'] - index.drop() - if u'ix_core__users_username' in indexes: - index = indexes[u'ix_core__users_username'] - index.drop() + if users_uploader_index: + users_uploader_index.drop() + if users_username_index: + users_username_index.drop() # Given we're removing indexes then adding a unique constraint # which *we know might fail*, thus probably rolling back the -- cgit v1.2.3 From 72f42a408dad60439cb4325e9c29f149228f4c61 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 8 Aug 2014 13:12:33 -0500 Subject: this negation needs parens. --- mediagoblin/db/migrations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index faf84c15..619345c0 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -845,7 +845,7 @@ def revert_username_index(db): # was set in models.py users_username_index = indexes.get(u'ix_core__users_username') - if not users_uploader_index or users_username_index: + if not (users_uploader_index or users_username_index): # We don't need to do anything. # The database isn't in a state where it needs fixing # -- cgit v1.2.3 From 113d1a280e190275f5f6a8ab9320ce5edc529487 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 8 Aug 2014 13:18:57 -0500 Subject: Okay, we don't know that indexes are falsey, so let's make it clearer. Yeek! --- mediagoblin/db/migrations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 619345c0..9e632170 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -845,7 +845,7 @@ def revert_username_index(db): # was set in models.py users_username_index = indexes.get(u'ix_core__users_username') - if not (users_uploader_index or users_username_index): + if users_uploader_index is None and users_username_index is None: # We don't need to do anything. # The database isn't in a state where it needs fixing # -- cgit v1.2.3 From 3b104bbcefca052eb3814f015521b47d2fcbc0da Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 8 Aug 2014 13:24:59 -0500 Subject: Elrond keeps pointing out places I should "is not None" at :) --- mediagoblin/db/migrations.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 9e632170..b9014045 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -869,9 +869,9 @@ def revert_username_index(db): # table copying. # Remove whichever of the not-used indexes are in place - if users_uploader_index: + if users_uploader_index is not None: users_uploader_index.drop() - if users_username_index: + if users_username_index is not None: users_username_index.drop() # Given we're removing indexes then adding a unique constraint -- cgit v1.2.3 From 7ffd4cf4b5e3a1358c189ad49c01a3b3f4198ba4 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 12 Aug 2014 16:56:08 +0100 Subject: Fix #861 - Add unit test and documentation for email_smtp_force_starttls --- mediagoblin/config_spec.ini | 17 ++++++++++++++++- mediagoblin/tests/test_util.py | 27 +++++++++++++++++++++++++++ mediagoblin/tools/mail.py | 2 +- 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini index 72993ed0..b5c957c8 100644 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@ -23,14 +23,29 @@ direct_remote_path = string(default="/mgoblin_static/") # set to false to enable sending notices email_debug_mode = boolean(default=True) + +# Uses SSL/TLS when connecting to SMTP server email_smtp_use_ssl = boolean(default=False) -email_smtp_force_tls = boolean(default=False) + +# Uses STARTTLS when connecting to SMTP server +email_smtp_force_starttls = boolean(default=False) + +# Email address which notices are sent from email_sender_address = string(default="notice@mediagoblin.example.org") + +# Hostname of SMTP server email_smtp_host = string(default='') + +# Port for SMTP server email_smtp_port = integer(default=0) + +# Username used for SMTP server email_smtp_user = string(default=None) + +# Password used for SMTP server email_smtp_pass = string(default=None) + # Set to false to disable registrations allow_registration = boolean(default=True) diff --git a/mediagoblin/tests/test_util.py b/mediagoblin/tests/test_util.py index 9d9b1c16..36563e75 100644 --- a/mediagoblin/tests/test_util.py +++ b/mediagoblin/tests/test_util.py @@ -14,8 +14,13 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import mock import email +import pytest +import smtplib +import pkg_resources +from mediagoblin.tests.tools import get_app from mediagoblin.tools import common, url, translate, mail, text, testing testing._activate_testing() @@ -69,6 +74,28 @@ I hope you like unit tests JUST AS MUCH AS I DO!""" I hope you like unit tests JUST AS MUCH AS I DO!""" +@pytest.fixture() +def starttls_enabled_app(request): + return get_app( + request, + mgoblin_config=pkg_resources.resource_filename( + "mediagoblin.tests", + "starttls_config.ini" + ) + ) + +def test_email_force_starttls(starttls_enabled_app): + common.TESTS_ENABLED = False + SMTP = lambda *args, **kwargs: mail.FakeMhost() + with mock.patch('smtplib.SMTP', SMTP): + with pytest.raises(smtplib.SMTPException): + mail.send_email( + from_addr="notices@my.test.instance.com", + to_addrs="someone@someplace.com", + subject="Testing is so much fun!", + message_body="Ohai ^_^" + ) + def test_slugify(): assert url.slugify(u'a walk in the park') == u'a-walk-in-the-park' assert url.slugify(u'A Walk in the Park') == u'a-walk-in-the-park' diff --git a/mediagoblin/tools/mail.py b/mediagoblin/tools/mail.py index 889a4420..ab355835 100644 --- a/mediagoblin/tools/mail.py +++ b/mediagoblin/tools/mail.py @@ -111,7 +111,7 @@ def send_email(from_addr, to_addrs, subject, message_body): mhost.starttls() except smtplib.SMTPException: # Only raise an exception if we're forced to - if mg_globals.app_config['email_smtp_force_tls']: + if mg_globals.app_config['email_smtp_force_starttls']: six.reraise(*sys.exc_info()) if ((not common.TESTS_ENABLED) -- cgit v1.2.3 From 8cfa4071bf8fef5724413e09677a38f57871c023 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 12 Aug 2014 21:47:23 +0100 Subject: Forgot to add starttls_config.ini --- mediagoblin/tests/starttls_config.ini | 4 ++++ 1 file changed, 4 insertions(+) create mode 100755 mediagoblin/tests/starttls_config.ini diff --git a/mediagoblin/tests/starttls_config.ini b/mediagoblin/tests/starttls_config.ini new file mode 100755 index 00000000..1e290202 --- /dev/null +++ b/mediagoblin/tests/starttls_config.ini @@ -0,0 +1,4 @@ +[mediagoblin] +email_debug_mode = false +email_smtp_force_starttls = true +email_smtp_host = someplace.com -- cgit v1.2.3 From cbc5f9500cadc5f65eeebb1558cd9947655b1b3a Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 15 Aug 2014 16:23:15 -0500 Subject: Always remove the session when running check_db_up_to_date() This commit sponsored by Francois Marier. Thank you! --- mediagoblin/db/util.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/mediagoblin/db/util.py b/mediagoblin/db/util.py index aba9c59c..515fd6cd 100644 --- a/mediagoblin/db/util.py +++ b/mediagoblin/db/util.py @@ -76,11 +76,16 @@ def check_db_up_to_date(): dbdatas = gather_database_data(mgg.global_config.get('plugins', {}).keys()) for dbdata in dbdatas: - migration_manager = dbdata.make_migration_manager(Session()) - if migration_manager.database_current_migration is None or \ - migration_manager.migrations_to_run(): - sys.exit("Your database is not up to date. Please run " - "'gmg dbupdate' before starting MediaGoblin.") + session = Session() + try: + migration_manager = dbdata.make_migration_manager(session) + if migration_manager.database_current_migration is None or \ + migration_manager.migrations_to_run(): + sys.exit("Your database is not up to date. Please run " + "'gmg dbupdate' before starting MediaGoblin.") + finally: + Session.rollback() + Session.remove() if __name__ == '__main__': -- cgit v1.2.3 From a7800e6da89d9d193e21cd1e7a5351c4ab5a1450 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 18 Aug 2014 10:40:08 -0500 Subject: Fix a python2.6 compatibility issue. Removing a dict comprehension. This commit sponsored by Christopher Beppler. Thanks! --- mediagoblin/db/migrations.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index b9014045..04588ad1 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -837,7 +837,8 @@ def revert_username_index(db): """ metadata = MetaData(bind=db.bind) user_table = inspect_table(metadata, "core__users") - indexes = {index.name: index for index in user_table.indexes} + indexes = dict( + [(index.name, index) for index in user_table.indexes]) # index from unnecessary migration users_uploader_index = indexes.get(u'ix_core__users_uploader') -- cgit v1.2.3 From 32ff6f4dc06c91d452afa717eb3198cf746c2bf1 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 5 Aug 2014 21:41:31 +0100 Subject: Use oauthlib's safe characters when generating client_key and client_secret --- mediagoblin/oauth/views.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mediagoblin/oauth/views.py b/mediagoblin/oauth/views.py index 5ade7a8d..641e300a 100644 --- a/mediagoblin/oauth/views.py +++ b/mediagoblin/oauth/views.py @@ -17,6 +17,7 @@ import datetime import string +from oauthlib.oauth1.rfc5849.utils import UNICODE_ASCII_CHARACTER_SET from oauthlib.oauth1 import (RequestTokenEndpoint, AuthorizationEndpoint, AccessTokenEndpoint) @@ -37,8 +38,6 @@ from mediagoblin.db.models import NonceTimestamp, Client, RequestToken # possible client types CLIENT_TYPES = ["web", "native"] # currently what pump supports -OAUTH_ALPHABET = (string.ascii_letters.decode('ascii') + - string.digits.decode('ascii')) @csrf_exempt def client_register(request): @@ -107,8 +106,8 @@ def client_register(request): return json_response({"error": error}, status=400) # generate the client_id and client_secret - client_id = random_string(22, OAUTH_ALPHABET) - client_secret = random_string(43, OAUTH_ALPHABET) + client_id = random_string(22, UNICODE_ASCII_CHARACTER_SET) + client_secret = random_string(43, UNICODE_ASCII_CHARACTER_SET) expirey = 0 # for now, lets not have it expire expirey_db = None if expirey == 0 else expirey application_type = data["application_type"] -- cgit v1.2.3 From 9246a6ba89ab22a07e06b673e9eb0f135d2079a6 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 5 Aug 2014 22:04:50 +0100 Subject: Tidy up federation code and add tests to cover more of the APIs --- docs/source/siteadmin/commandline-upload.rst | 8 +- mediagoblin/db/models.py | 13 +- mediagoblin/federation/decorators.py | 2 - mediagoblin/federation/routing.py | 12 +- mediagoblin/federation/views.py | 411 +++++++++++++++------------ mediagoblin/init/celery/__init__.py | 6 +- mediagoblin/oauth/views.py | 1 - mediagoblin/submit/lib.py | 12 +- mediagoblin/tests/test_api.py | 118 ++++++-- mediagoblin/tests/test_celery_setup.py | 3 +- mediagoblin/tests/tools.py | 2 - 11 files changed, 346 insertions(+), 242 deletions(-) diff --git a/docs/source/siteadmin/commandline-upload.rst b/docs/source/siteadmin/commandline-upload.rst index 5ec0bb12..69098312 100644 --- a/docs/source/siteadmin/commandline-upload.rst +++ b/docs/source/siteadmin/commandline-upload.rst @@ -15,7 +15,13 @@ Command-line uploading ====================== -Want to submit media via the command line? It's fairly easy to do:: +If you're a site administrator and have access to the server then you +can use the 'addmedia' task. If you're just a user and want to upload +media by the command line you can. This can be done with the pump.io +API. There is `p `_, which will allow you +to easily upload media from the command line, follow p's docs to do that. + +To use the addmedia command:: ./bin/gmg addmedia username your_media.jpg diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 932ba074..b910e522 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -439,18 +439,11 @@ class MediaEntry(Base, MediaEntryMixin): def serialize(self, request, show_comments=True): """ Unserialize MediaEntry to object """ author = self.get_uploader - url = request.urlgen( - "mediagoblin.user_pages.media_home", - user=author.username, - media=self.slug, - qualified=True - ) - context = { "id": self.id, "author": author.serialize(request), "objectType": self.objectType, - "url": url, + "url": self.url_for_self(request.urlgen), "image": { "url": request.host_url + self.thumb_url[1:], }, @@ -683,13 +676,13 @@ class MediaComment(Base, MediaCommentMixin): # Validate inReplyTo has ID if "id" not in data["inReplyTo"]: return False - + # Validate that the ID is correct try: media_id = int(data["inReplyTo"]["id"]) except ValueError: return False - + media = MediaEntry.query.filter_by(id=media_id).first() if media is None: return False diff --git a/mediagoblin/federation/decorators.py b/mediagoblin/federation/decorators.py index f515af42..3dd6264e 100644 --- a/mediagoblin/federation/decorators.py +++ b/mediagoblin/federation/decorators.py @@ -36,7 +36,6 @@ def user_has_privilege(privilege_name): @wraps(controller) @require_active_login def wrapper(request, *args, **kwargs): - user_id = request.user.id if not request.user.has_privilege(privilege_name): error = "User '{0}' needs '{1}' privilege".format( request.user.username, @@ -48,4 +47,3 @@ def user_has_privilege(privilege_name): return wrapper return user_has_privilege_decorator - diff --git a/mediagoblin/federation/routing.py b/mediagoblin/federation/routing.py index 2993b388..c1c5a264 100644 --- a/mediagoblin/federation/routing.py +++ b/mediagoblin/federation/routing.py @@ -20,39 +20,39 @@ from mediagoblin.tools.routing import add_route add_route( "mediagoblin.federation.user", "/api/user//", - "mediagoblin.federation.views:user" + "mediagoblin.federation.views:user_endpoint" ) add_route( "mediagoblin.federation.user.profile", "/api/user//profile", - "mediagoblin.federation.views:profile" + "mediagoblin.federation.views:profile_endpoint" ) # Inbox and Outbox (feed) add_route( "mediagoblin.federation.feed", "/api/user//feed", - "mediagoblin.federation.views:feed" + "mediagoblin.federation.views:feed_endpoint" ) add_route( "mediagoblin.federation.user.uploads", "/api/user//uploads", - "mediagoblin.federation.views:uploads" + "mediagoblin.federation.views:uploads_endpoint" ) add_route( "mediagoblin.federation.inbox", "/api/user//inbox", - "mediagoblin.federation.views:feed" + "mediagoblin.federation.views:feed_endpoint" ) # object endpoints add_route( "mediagoblin.federation.object", "/api//", - "mediagoblin.federation.views:object" + "mediagoblin.federation.views:object_endpoint" ) add_route( "mediagoblin.federation.object.comments", diff --git a/mediagoblin/federation/views.py b/mediagoblin/federation/views.py index f178a3fb..3d6953a7 100644 --- a/mediagoblin/federation/views.py +++ b/mediagoblin/federation/views.py @@ -31,47 +31,70 @@ from mediagoblin.submit.lib import new_upload_entry, api_upload_request, \ # MediaTypes from mediagoblin.media_types.image import MEDIA_TYPE as IMAGE_MEDIA_TYPE +# Getters +def get_profile(request): + """ + Gets the user's profile for the endpoint requested. + + For example an endpoint which is /api/{username}/feed + as /api/cwebber/feed would get cwebber's profile. This + will return a tuple (username, user_profile). If no user + can be found then this function returns a (None, None). + """ + username = request.matchdict["username"] + user = User.query.filter_by(username=username).first() + + if user is None: + return None, None + + return user, user.serialize(request) + + +# Endpoints @oauth_required -def profile(request, raw=False): +def profile_endpoint(request): """ This is /api/user//profile - This will give profile info """ - user = request.matchdict["username"] - requested_user = User.query.filter_by(username=user).first() + user, user_profile = get_profile(request) if user is None: + username = request.matchdict["username"] return json_error( - "No such 'user' with id '{0}'".format(user), + "No such 'user' with username '{0}'".format(username), status=404 ) - if raw: - return (requested_user.username, requested_user.serialize(request)) - # user profiles are public so return information - return json_response(requested_user.serialize(request)) + return json_response(user_profile) @oauth_required -def user(request): +def user_endpoint(request): """ This is /api/user/ - This will get the user """ - user, user_profile = profile(request, raw=True) - data = { + user, user_profile = get_profile(request) + + if user is None: + username = request.matchdict["username"] + return json_error( + "No such 'user' with username '{0}'".format(username), + status=404 + ) + + return json_response({ "nickname": user.username, "updated": user.created.isoformat(), "published": user.created.isoformat(), "profile": user_profile, - } - - return json_response(data) + }) @oauth_required @csrf_exempt @user_has_privilege(u'uploader') -def uploads(request): +def uploads_endpoint(request): """ Endpoint for file uploads """ - user = request.matchdict["username"] - requested_user = User.query.filter_by(username=user).first() + username = request.matchdict["username"] + requested_user = User.query.filter_by(username=username).first() if requested_user is None: - return json_error("No such 'user' with id '{0}'".format(user), 404) + return json_error("No such 'user' with id '{0}'".format(username), 404) if request.method == "POST": # Ensure that the user is only able to upload to their own @@ -85,7 +108,9 @@ def uploads(request): # Wrap the data in the werkzeug file wrapper if "Content-Type" not in request.headers: return json_error( - "Must supply 'Content-Type' header to upload media.") + "Must supply 'Content-Type' header to upload media." + ) + mimetype = request.headers["Content-Type"] filename = mimetypes.guess_all_extensions(mimetype) filename = 'unknown' + filename[0] if filename else filename @@ -104,156 +129,179 @@ def uploads(request): @oauth_required @csrf_exempt -def feed(request): +def feed_endpoint(request): """ Handles the user's outbox - /api/user//feed """ - user = request.matchdict["username"] - requested_user = User.query.filter_by(username=user).first() + username = request.matchdict["username"] + requested_user = User.query.filter_by(username=username).first() # check if the user exists if requested_user is None: - return json_error("No such 'user' with id '{0}'".format(user), 404) + return json_error("No such 'user' with id '{0}'".format(username), 404) if request.data: data = json.loads(request.data) else: data = {"verb": None, "object": {}} - # We need to check that the user they're posting to is - # the person that they are. - if request.method in ["POST", "PUT"] and \ - requested_user.id != request.user.id: - - return json_error( - "Not able to post to another users feed.", - status=403 - ) - if request.method == "POST" and data["verb"] == "post": - obj = data.get("object", None) - if obj is None: - return json_error("Could not find 'object' element.") + if request.method in ["POST", "PUT"]: + # Validate that the activity is valid + if "verb" not in data or "object" not in data: + return json_error("Invalid activity provided.") - if obj.get("objectType", None) == "comment": - # post a comment - if not request.user.has_privilege(u'commenter'): - return json_error( - "Privilege 'commenter' required to comment.", - status=403 - ) - - comment = MediaComment(author=request.user.id) - comment.unserialize(data["object"]) - comment.save() - data = {"verb": "post", "object": comment.serialize(request)} - return json_response(data) - - elif obj.get("objectType", None) == "image": - # Posting an image to the feed - media_id = int(data["object"]["id"]) - media = MediaEntry.query.filter_by(id=media_id).first() - if media is None: - return json_response( - "No such 'image' with id '{0}'".format(id=media_id), - status=404 - ) - - if not media.unserialize(data["object"]): - return json_error( - "Invalid 'image' with id '{0}'".format(media_id) - ) - - media.save() - api_add_to_feed(request, media) - - return json_response({ - "verb": "post", - "object": media.serialize(request) - }) - - elif obj.get("objectType", None) is None: - # They need to tell us what type of object they're giving us. - return json_error("No objectType specified.") - else: - # Oh no! We don't know about this type of object (yet) - object_type = obj.get("objectType", None) - return json_error("Unknown object type '{0}'.".format(object_type)) - - elif request.method in ["PUT", "POST"] and data["verb"] == "update": - # Check we've got a valid object - obj = data.get("object", None) - - if obj is None: - return json_error("Could not find 'object' element.") - - if "objectType" not in obj: - return json_error("No objectType specified.") - - if "id" not in obj: - return json_error("Object ID has not been specified.") - - obj_id = obj["id"] - - # Now try and find object - if obj["objectType"] == "comment": - if not request.user.has_privilege(u'commenter'): - return json_error( - "Privilege 'commenter' required to comment.", - status=403 - ) + # Check that the verb is valid + if data["verb"] not in ["post", "update"]: + return json_error("Verb not yet implemented", 501) - comment = MediaComment.query.filter_by(id=obj_id).first() - if comment is None: - return json_error( - "No such 'comment' with id '{0}'.".format(obj_id) - ) - - # Check that the person trying to update the comment is - # the author of the comment. - if comment.author != request.user.id: - return json_error( - "Only author of comment is able to update comment.", - status=403 - ) - - if not comment.unserialize(data["object"]): - return json_error( - "Invalid 'comment' with id '{0}'".format(obj_id) - ) - - comment.save() - - activity = { - "verb": "update", - "object": comment.serialize(request), - } - return json_response(activity) - - elif obj["objectType"] == "image": - image = MediaEntry.query.filter_by(id=obj_id).first() - if image is None: - return json_error( - "No such 'image' with the id '{0}'.".format(obj_id) - ) - - # Check that the person trying to update the comment is - # the author of the comment. - if image.uploader != request.user.id: - return json_error( - "Only uploader of image is able to update image.", - status=403 - ) + # We need to check that the user they're posting to is + # the person that they are. + if requested_user.id != request.user.id: + return json_error( + "Not able to post to another users feed.", + status=403 + ) - if not image.unserialize(obj): + # Handle new posts + if data["verb"] == "post": + obj = data.get("object", None) + if obj is None: + return json_error("Could not find 'object' element.") + + if obj.get("objectType", None) == "comment": + # post a comment + if not request.user.has_privilege(u'commenter'): + return json_error( + "Privilege 'commenter' required to comment.", + status=403 + ) + + comment = MediaComment(author=request.user.id) + comment.unserialize(data["object"]) + comment.save() + data = { + "verb": "post", + "object": comment.serialize(request) + } + return json_response(data) + + elif obj.get("objectType", None) == "image": + # Posting an image to the feed + media_id = int(data["object"]["id"]) + media = MediaEntry.query.filter_by(id=media_id).first() + + if media is None: + return json_response( + "No such 'image' with id '{0}'".format(media_id), + status=404 + ) + + if media.uploader != request.user.id: + return json_error( + "Privilege 'commenter' required to comment.", + status=403 + ) + + + if not media.unserialize(data["object"]): + return json_error( + "Invalid 'image' with id '{0}'".format(media_id) + ) + + media.save() + api_add_to_feed(request, media) + + return json_response({ + "verb": "post", + "object": media.serialize(request) + }) + + elif obj.get("objectType", None) is None: + # They need to tell us what type of object they're giving us. + return json_error("No objectType specified.") + else: + # Oh no! We don't know about this type of object (yet) + object_type = obj.get("objectType", None) return json_error( - "Invalid 'image' with id '{0}'".format(obj_id) + "Unknown object type '{0}'.".format(object_type) ) - image.save() - activity = { - "verb": "update", - "object": image.serialize(request), - } - return json_response(activity) + # Updating existing objects + if data["verb"] == "update": + # Check we've got a valid object + obj = data.get("object", None) + + if obj is None: + return json_error("Could not find 'object' element.") + + if "objectType" not in obj: + return json_error("No objectType specified.") + + if "id" not in obj: + return json_error("Object ID has not been specified.") + + obj_id = obj["id"] + + # Now try and find object + if obj["objectType"] == "comment": + if not request.user.has_privilege(u'commenter'): + return json_error( + "Privilege 'commenter' required to comment.", + status=403 + ) + + comment = MediaComment.query.filter_by(id=obj_id).first() + if comment is None: + return json_error( + "No such 'comment' with id '{0}'.".format(obj_id) + ) + + # Check that the person trying to update the comment is + # the author of the comment. + if comment.author != request.user.id: + return json_error( + "Only author of comment is able to update comment.", + status=403 + ) + + if not comment.unserialize(data["object"]): + return json_error( + "Invalid 'comment' with id '{0}'".format(obj_id) + ) + + comment.save() + + activity = { + "verb": "update", + "object": comment.serialize(request), + } + return json_response(activity) + + elif obj["objectType"] == "image": + image = MediaEntry.query.filter_by(id=obj_id).first() + if image is None: + return json_error( + "No such 'image' with the id '{0}'.".format(obj_id) + ) + + # Check that the person trying to update the comment is + # the author of the comment. + if image.uploader != request.user.id: + return json_error( + "Only uploader of image is able to update image.", + status=403 + ) + + if not image.unserialize(obj): + return json_error( + "Invalid 'image' with id '{0}'".format(obj_id) + ) + image.save() + + activity = { + "verb": "update", + "object": image.serialize(request), + } + return json_response(activity) elif request.method != "GET": return json_error( @@ -299,9 +347,9 @@ def feed(request): item = { "verb": "post", "object": media.serialize(request), - "actor": request.user.serialize(request), + "actor": media.get_uploader.serialize(request), "content": "{0} posted a picture".format(request.user.username), - "id": 1, + "id": media.id, } item["updated"] = item["object"]["updated"] item["published"] = item["object"]["published"] @@ -312,7 +360,7 @@ def feed(request): return json_response(feed) @oauth_required -def object(request, raw_obj=False): +def object_endpoint(request): """ Lookup for a object type """ object_type = request.matchdict["objectType"] try: @@ -333,46 +381,41 @@ def object(request, raw_obj=False): media = MediaEntry.query.filter_by(id=object_id).first() if media is None: - error = "Can't find '{0}' with ID '{1}'".format( - object_type, - object_id - ) return json_error( "Can't find '{0}' with ID '{1}'".format(object_type, object_id), status=404 ) - if raw_obj: - return media - return json_response(media.serialize(request)) @oauth_required def object_comments(request): """ Looks up for the comments on a object """ - media = object(request, raw_obj=True) - response = media - if isinstance(response, MediaEntry): - comments = response.serialize(request) - comments = comments.get("replies", { - "totalItems": 0, - "items": [], - "url": request.urlgen( - "mediagoblin.federation.object.comments", - objectType=media.objectType, - uuid=media.id, - qualified=True - ) - }) - - comments["displayName"] = "Replies to {0}".format(comments["url"]) - comments["links"] = { - "first": comments["url"], - "self": comments["url"], - } - response = json_response(comments) + media = MediaEntry.query.filter_by(id=request.matchdict["id"]).first() + if media is None: + return json_error("Can't find '{0}' with ID '{1}'".format( + request.matchdict["objectType"], + request.matchdict["id"] + ), 404) + + comments = response.serialize(request) + comments = comments.get("replies", { + "totalItems": 0, + "items": [], + "url": request.urlgen( + "mediagoblin.federation.object.comments", + objectType=media.objectType, + id=media.id, + qualified=True + ) + }) - return response + comments["displayName"] = "Replies to {0}".format(comments["url"]) + comments["links"] = { + "first": comments["url"], + "self": comments["url"], + } + return json_response(comments) ## # Well known diff --git a/mediagoblin/init/celery/__init__.py b/mediagoblin/init/celery/__init__.py index 2f2c40d3..19c13f7d 100644 --- a/mediagoblin/init/celery/__init__.py +++ b/mediagoblin/init/celery/__init__.py @@ -28,7 +28,9 @@ _log = logging.getLogger(__name__) MANDATORY_CELERY_IMPORTS = [ 'mediagoblin.processing.task', - 'mediagoblin.notifications.task'] + 'mediagoblin.notifications.task', + 'mediagoblin.submit.task', +] DEFAULT_SETTINGS_MODULE = 'mediagoblin.init.celery.dummy_settings_module' @@ -65,7 +67,7 @@ def get_celery_settings_dict(app_config, global_config, frequency = int(frequency) celery_settings['CELERYBEAT_SCHEDULE'] = { 'garbage-collection': { - 'task': 'mediagoblin.federation.task.garbage_collection', + 'task': 'mediagoblin.submit.task.garbage_collection', 'schedule': datetime.timedelta(minutes=frequency), } } diff --git a/mediagoblin/oauth/views.py b/mediagoblin/oauth/views.py index 641e300a..90ad5bbf 100644 --- a/mediagoblin/oauth/views.py +++ b/mediagoblin/oauth/views.py @@ -339,4 +339,3 @@ def access_token(request): av = AccessTokenEndpoint(request_validator) tokens = av.create_access_token(request, {}) return form_response(tokens) - diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index 327ebbd8..aaa90ea0 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -266,7 +266,9 @@ def api_upload_request(request, file_data, entry): """ This handles a image upload request """ # Use the same kind of method from mediagoblin/submit/views:submit_start entry.title = file_data.filename - entry.generate_slug() + + # This will be set later but currently we just don't have enough information + entry.slug = None queue_file = prepare_queue_task(request.app, entry, file_data.filename) with queue_file: @@ -278,15 +280,13 @@ def api_upload_request(request, file_data, entry): def api_add_to_feed(request, entry): """ Add media to Feed """ if entry.title: - # Shame we have to do this here but we didn't have the data in - # api_upload_request as no filename is usually specified. - entry.slug = None entry.generate_slug() feed_url = request.urlgen( 'mediagoblin.user_pages.atom_feed', - qualified=True, user=request.user.username) + qualified=True, user=request.user.username + ) run_process_media(entry, feed_url) add_comment_subscription(request.user, entry) - return json_response(entry.serialize(request)) \ No newline at end of file + return json_response(entry.serialize(request)) diff --git a/mediagoblin/tests/test_api.py b/mediagoblin/tests/test_api.py index bda9459c..93e82f18 100644 --- a/mediagoblin/tests/test_api.py +++ b/mediagoblin/tests/test_api.py @@ -39,6 +39,7 @@ class TestAPI(object): username="otheruser", privileges=[u'active', u'uploader', u'commenter'] ) + self.active_user = self.user def _activity_to_feed(self, test_app, activity, headers=None): """ Posts an activity to the user's feed """ @@ -47,10 +48,9 @@ class TestAPI(object): else: headers = {"Content-Type": "application/json"} - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): response = test_app.post( - "/api/user/{0}/feed".format(self.user.username), + "/api/user/{0}/feed".format(self.active_user.username), json.dumps(activity), headers=headers ) @@ -66,10 +66,9 @@ class TestAPI(object): } - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): response = test_app.post( - "/api/user/{0}/uploads".format(self.user.username), + "/api/user/{0}/uploads".format(self.active_user.username), data, headers=headers ) @@ -86,12 +85,11 @@ class TestAPI(object): return self._activity_to_feed(test_app, activity) - def mocked_oauth_required(self, *args, **kwargs): """ Mocks mediagoblin.decorator.oauth_required to always validate """ def fake_controller(controller, request, *args, **kwargs): - request.user = User.query.filter_by(id=self.user.id).first() + request.user = User.query.filter_by(id=self.active_user.id).first() return controller(request, *args, **kwargs) def oauth_required(c): @@ -99,6 +97,13 @@ class TestAPI(object): return oauth_required + def mock_oauth(self): + """ Returns a mock.patch for the oauth_required decorator """ + return mock.patch( + target="mediagoblin.decorators.oauth_required", + new_callable=self.mocked_oauth_required + ) + def test_can_post_image(self, test_app): """ Tests that an image can be posted to the API """ # First request we need to do is to upload the image @@ -128,9 +133,7 @@ class TestAPI(object): "Content-Length": str(len(data)) } - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): - + with self.mock_oauth(): # Will be self.user trying to upload as self.other_user with pytest.raises(AppError) as excinfo: test_app.post( @@ -154,8 +157,7 @@ class TestAPI(object): "Content-Type": "application/json", } - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): with pytest.raises(AppError) as excinfo: test_app.post( "/api/user/{0}/feed".format(self.other_user.username), @@ -187,8 +189,7 @@ class TestAPI(object): media.save() # Now lets try and edit the image as self.user, this should produce a 403 error. - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): with pytest.raises(AppError) as excinfo: test_app.post( "/api/user/{0}/feed".format(self.user.username), @@ -216,8 +217,7 @@ class TestAPI(object): activity = {"verb": "update", "object": image} - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): response = test_app.post( "/api/user/{0}/feed".format(self.user.username), json.dumps(activity), @@ -251,8 +251,7 @@ class TestAPI(object): "Content-Length": str(len(data)), } - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): with pytest.raises(AppError) as excinfo: test_app.post( "/api/user/{0}/uploads".format(self.user.username), @@ -279,8 +278,7 @@ class TestAPI(object): object_uri = image["links"]["self"]["href"] object_uri = object_uri.replace("http://localhost:80", "") - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): request = test_app.get(object_uri) image = json.loads(request.body) @@ -345,8 +343,7 @@ class TestAPI(object): "Content-Type": "application/json", } - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): with pytest.raises(AppError) as excinfo: test_app.post( "/api/user/{0}/feed".format(self.other_user.username), @@ -382,6 +379,7 @@ class TestAPI(object): comment_id = comment_data["object"]["id"] comment = MediaComment.query.filter_by(id=comment_id).first() comment.author = self.other_user.id + comment.save() # Update the comment as someone else. comment_data["object"]["content"] = "Yep" @@ -390,8 +388,7 @@ class TestAPI(object): "object": comment_data["object"] } - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): with pytest.raises(AppError) as excinfo: test_app.post( "/api/user/{0}/feed".format(self.user.username), @@ -404,8 +401,7 @@ class TestAPI(object): def test_profile(self, test_app): """ Tests profile endpoint """ uri = "/api/user/{0}/profile".format(self.user.username) - with mock.patch("mediagoblin.decorators.oauth_required", - new_callable=self.mocked_oauth_required): + with self.mock_oauth(): response = test_app.get(uri) profile = json.loads(response.body) @@ -416,9 +412,77 @@ class TestAPI(object): assert "links" in profile + def test_user(self, test_app): + """ Test the user endpoint """ + uri = "/api/user/{0}/".format(self.user.username) + with self.mock_oauth(): + response = test_app.get(uri) + user = json.loads(response.body) + + assert response.status_code == 200 + + assert user["nickname"] == self.user.username + assert user["updated"] == self.user.created.isoformat() + assert user["published"] == self.user.created.isoformat() + + # Test profile exists but self.test_profile will test the value + assert "profile" in response + def test_whoami_without_login(self, test_app): """ Test that whoami endpoint returns error when not logged in """ with pytest.raises(AppError) as excinfo: response = test_app.get("/api/whoami") assert "401 UNAUTHORIZED" in excinfo.value.message + + def test_read_feed(self, test_app): + """ Test able to read objects from the feed """ + response, data = self._upload_image(test_app, GOOD_JPG) + response, data = self._post_image_to_feed(test_app, data) + + uri = "/api/user/{0}/feed".format(self.active_user.username) + with self.mock_oauth(): + response = test_app.get(uri) + feed = json.loads(response.body) + + assert response.status_code == 200 + + # Check it has the attributes it should + assert "displayName" in feed + assert "objectTypes" in feed + assert "url" in feed + assert "links" in feed + assert "author" in feed + assert "items" in feed + + # Check that image i uploaded is there + assert feed["items"][0]["verb"] == "post" + assert feed["items"][0]["actor"] + + def test_cant_post_to_someone_elses_feed(self, test_app): + """ Test that can't post to someone elses feed """ + response, data = self._upload_image(test_app, GOOD_JPG) + self.active_user = self.other_user + + with self.mock_oauth(): + with pytest.raises(AppError) as excinfo: + self._post_image_to_feed(test_app, data) + + assert "403 FORBIDDEN" in excinfo.value.message + + def test_object_endpoint(self, test_app): + """ Test that object endpoint can be requested """ + response, data = self._upload_image(test_app, GOOD_JPG) + response, data = self._post_image_to_feed(test_app, data) + object_id = data["object"]["id"] + + with self.mock_oauth(): + response = test_app.get(data["object"]["links"]["self"]["href"]) + data = json.loads(response.body) + + assert response.status_code == 200 + + assert object_id == data["id"] + assert "url" in data + assert "links" in data + assert data["objectType"] == "image" diff --git a/mediagoblin/tests/test_celery_setup.py b/mediagoblin/tests/test_celery_setup.py index d60293f9..df0d04b0 100644 --- a/mediagoblin/tests/test_celery_setup.py +++ b/mediagoblin/tests/test_celery_setup.py @@ -48,7 +48,8 @@ def test_setup_celery_from_config(): assert isinstance(fake_celery_module.CELERYD_ETA_SCHEDULER_PRECISION, float) assert fake_celery_module.CELERY_RESULT_PERSISTENT is True assert fake_celery_module.CELERY_IMPORTS == [ - 'foo.bar.baz', 'this.is.an.import', 'mediagoblin.processing.task', 'mediagoblin.notifications.task'] + 'foo.bar.baz', 'this.is.an.import', 'mediagoblin.processing.task', \ + 'mediagoblin.notifications.task', 'mediagoblin.submit.task'] assert fake_celery_module.CELERY_RESULT_BACKEND == 'database' assert fake_celery_module.CELERY_RESULT_DBURI == ( 'sqlite:///' + diff --git a/mediagoblin/tests/tools.py b/mediagoblin/tests/tools.py index 57dea7b0..34392bf1 100644 --- a/mediagoblin/tests/tools.py +++ b/mediagoblin/tests/tools.py @@ -33,7 +33,6 @@ from mediagoblin.db.base import Session from mediagoblin.meddleware import BaseMeddleware from mediagoblin.auth import gen_password_hash from mediagoblin.gmg_commands.dbupdate import run_dbupdate -from mediagoblin.oauth.views import OAUTH_ALPHABET from mediagoblin.tools.crypto import random_string from datetime import datetime @@ -346,4 +345,3 @@ def fixture_add_comment_report(comment=None, reported_user=None, Session.expunge(comment_report) return comment_report - -- cgit v1.2.3 From b694c3de348ab34e98ecc1cf060f5e631f912c05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Odin=20H=C3=B8rthe=20Omdal?= Date: Sun, 17 Aug 2014 22:22:00 +0200 Subject: Add new hook 'collection_add_media' --- mediagoblin/user_pages/lib.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py index e5c8defc..5b411a82 100644 --- a/mediagoblin/user_pages/lib.py +++ b/mediagoblin/user_pages/lib.py @@ -14,14 +14,14 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from mediagoblin.tools.mail import send_email -from mediagoblin.tools.template import render_template -from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin import mg_globals from mediagoblin.db.base import Session from mediagoblin.db.models import (CollectionItem, MediaReport, CommentReport, - MediaComment, MediaEntry) -from mediagoblin.user_pages import forms as user_forms + MediaComment, MediaEntry) +from mediagoblin.tools.mail import send_email +from mediagoblin.tools.pluginapi import hook_runall +from mediagoblin.tools.template import render_template +from mediagoblin.tools.translate import pass_to_ugettext as _ def send_comment_email(user, comment, media, request): @@ -73,9 +73,12 @@ def add_media_to_collection(collection, media, note=None, commit=True): Session.add(collection) Session.add(media) + hook_runall('collection_add_media', collection_item=collection_item) + if commit: Session.commit() + def build_report_object(report_form, media_entry=None, comment=None): """ This function is used to convert a form object (from a User filing a @@ -86,7 +89,7 @@ def build_report_object(report_form, media_entry=None, comment=None): :param media_entry A MediaEntry object. The MediaEntry being repo- -rted by a MediaReport. In a CommentReport, this will be None. - :param comment A MediaComment object. The MediaComment being + :param comment A MediaComment object. The MediaComment being reported by a CommentReport. In a MediaReport this will be None. @@ -115,4 +118,3 @@ def build_report_object(report_form, media_entry=None, comment=None): report_object.report_content = report_form.report_reason.data report_object.reporter_id = report_form.reporter_id.data return report_object - -- cgit v1.2.3 From 7610eb231e065ae59d07391b36717b79d4e58250 Mon Sep 17 00:00:00 2001 From: Elrond Date: Tue, 19 Aug 2014 00:39:33 +0200 Subject: Start for documenting core hooks. This is basicly a start by Chris Webber, I'm just commiting it for him. --- docs/source/index.rst | 1 + docs/source/pluginwriter/hooks.rst | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 docs/source/pluginwriter/hooks.rst diff --git a/docs/source/index.rst b/docs/source/index.rst index 6260a595..8e49d1d1 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -78,6 +78,7 @@ This guide covers writing new GNU MediaGoblin plugins. pluginwriter/database pluginwriter/api pluginwriter/tests + pluginwriter/hooks pluginwriter/media_type_hooks pluginwriter/authhooks diff --git a/docs/source/pluginwriter/hooks.rst b/docs/source/pluginwriter/hooks.rst new file mode 100644 index 00000000..5272266c --- /dev/null +++ b/docs/source/pluginwriter/hooks.rst @@ -0,0 +1,19 @@ +.. MediaGoblin Documentation + + Written in 2014 by MediaGoblin contributors + + To the extent possible under law, the author(s) have dedicated all + copyright and related and neighboring rights to this software to + the public domain worldwide. This software is distributed without + any warranty. + + You should have received a copy of the CC0 Public Domain + Dedication along with this software. If not, see + . + + +=============================== +Documentation on Built-in Hooks +=============================== + +This section explains built-in hooks to MediaGoblin. -- cgit v1.2.3 From 3322a63df41f1b58d830aad0156160e6b532b5d7 Mon Sep 17 00:00:00 2001 From: Elrond Date: Tue, 19 Aug 2014 00:56:37 +0200 Subject: Add docs on collection_add_media hook. --- docs/source/pluginwriter/hooks.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/source/pluginwriter/hooks.rst b/docs/source/pluginwriter/hooks.rst index 5272266c..4aa062e8 100644 --- a/docs/source/pluginwriter/hooks.rst +++ b/docs/source/pluginwriter/hooks.rst @@ -17,3 +17,19 @@ Documentation on Built-in Hooks =============================== This section explains built-in hooks to MediaGoblin. + + +What hooks are available? +========================= + +'collection_add_media' +---------------------- + +This hook is used by ``add_media_to_collection`` +in ``mediagoblin.user_pages.lib``. +It gets a ``CollectionItem`` as its argument. +It's the newly created item just before getting commited. +So the item can be modified by the hook, if needed. +Changing the session regarding this item is currently +undefined behaviour, as the SQL Session might contain other +things. -- cgit v1.2.3 From b56cd89eb8cad5f2b4ac50d6c2cdba9ef3b90081 Mon Sep 17 00:00:00 2001 From: ayleph Date: Sat, 16 Aug 2014 10:45:58 -0700 Subject: List blogs by URL user rather than request user The blog_post_listing function in mediagoblin/media_types/blow/views.py attempts to access blogs based on the requesting user rather than the url user. This results in server errors when an unauthenticated user attempts to follow a link from another user's blog post listing, and 404 errors when an authenticated user attempts to follow a link from another user's blog post listing. This change bases blog post listings on the URL user rather than the request user. --- mediagoblin/media_types/blog/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/blog/views.py b/mediagoblin/media_types/blog/views.py index a367bef8..62806c3c 100644 --- a/mediagoblin/media_types/blog/views.py +++ b/mediagoblin/media_types/blog/views.py @@ -260,7 +260,7 @@ def blog_post_listing(request, page, url_user=None): Page, listing all the blog posts of a particular blog. """ blog_slug = request.matchdict.get('blog_slug', None) - blog = get_blog_by_slug(request, blog_slug, author=request.user.id) + blog = get_blog_by_slug(request, blog_slug, author=url_user.id) if not blog: return render_404(request) -- cgit v1.2.3 From 51f49118555be3021127602aef78a548850b59b5 Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Tue, 19 Aug 2014 14:03:53 +0100 Subject: Make blog_post_listing easier to read This is Elronds change on #948. As 'blog_slug' is always set in request.matchdict there is no need to do a default-none get on the dictionary. This change just makes it easier to read. --- mediagoblin/media_types/blog/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/blog/views.py b/mediagoblin/media_types/blog/views.py index 62806c3c..088164b9 100644 --- a/mediagoblin/media_types/blog/views.py +++ b/mediagoblin/media_types/blog/views.py @@ -259,7 +259,7 @@ def blog_post_listing(request, page, url_user=None): """ Page, listing all the blog posts of a particular blog. """ - blog_slug = request.matchdict.get('blog_slug', None) + blog_slug = request.matchdict['blog_slug'] blog = get_blog_by_slug(request, blog_slug, author=url_user.id) if not blog: return render_404(request) -- cgit v1.2.3 From d60d686a14d10af3f58867569622735ff9ecd068 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 22 Aug 2014 09:54:55 -0500 Subject: eek, should be python2 not python22 --- docs/source/siteadmin/deploying.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/siteadmin/deploying.rst b/docs/source/siteadmin/deploying.rst index 741e9655..ad68c897 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -200,7 +200,7 @@ Clone the MediaGoblin repository and set up the git submodules:: And set up the in-package virtualenv:: - (virtualenv --python=python2 --system-site-packages . || virtualenv --python=python22 .) && ./bin/python setup.py develop + (virtualenv --python=python2 --system-site-packages . || virtualenv --python=python2 .) && ./bin/python setup.py develop .. note:: -- cgit v1.2.3 From f293506d26148ad96b5ddafcb0df00a93f4e11f6 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 22 Aug 2014 14:58:22 -0500 Subject: Updating the AUTHORS file for this release --- AUTHORS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/AUTHORS b/AUTHORS index 9429f5ae..a7b9457c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -15,11 +15,14 @@ Thank you! * Aleksej Serdjukov * Alon Levy * Alex Camelio +* Amirouche Boubekki * András Veres-Szentkirályi * Asheesh Laroia +* ayleph * Bassam Kurdali * Bernhard Keller * Berker Peksag +* Beuc * Boris Bobrov * Brandon Invergo * Brett Smith @@ -44,6 +47,7 @@ Thank you! * Jef van Schendel * Jeremy Pope * Jessica Tallon +* Jiyda Mint Moussa * Jim Campbell * Joar Wandborg * Jorge Araya Navarro @@ -62,6 +66,7 @@ Thank you! * Mark Holmquist * Mats Sjöberg * Matt Lee +* Matt Molyneaux * Michele Azzolari * Mike Linksvayer * Natalie Foust-Pilcher @@ -78,7 +83,9 @@ Thank you! * Sam Clegg * Sam Kleinman * Sam Tuke +* Sebastian Hugentobler * Sebastian Spaeth +* Sergio Durigan Junior * Shawn Khan * Simon Fondrie-Teitler * Stefano Zacchiroli -- cgit v1.2.3 From d52638fab4a580efff4d5f0b666ed87b36793ff4 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 22 Aug 2014 15:01:23 -0500 Subject: updating ayleph to Andrew Browning --- AUTHORS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index a7b9457c..3bc5c067 100644 --- a/AUTHORS +++ b/AUTHORS @@ -18,7 +18,7 @@ Thank you! * Amirouche Boubekki * András Veres-Szentkirályi * Asheesh Laroia -* ayleph +* Andrew Browning * Bassam Kurdali * Bernhard Keller * Berker Peksag -- cgit v1.2.3 From b7d854bfe1474cb52d4f3cc322a97abb5943dc4b Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 22 Aug 2014 16:13:09 -0500 Subject: Blog media type doc --- docs/source/siteadmin/media-types.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/source/siteadmin/media-types.rst b/docs/source/siteadmin/media-types.rst index 44ad02bb..ef842baf 100644 --- a/docs/source/siteadmin/media-types.rst +++ b/docs/source/siteadmin/media-types.rst @@ -264,3 +264,13 @@ Run ./bin/gmg dbupdate +Blog (HIGHLY EXPERIMENTAL) +========================== + +MediaGoblin has a blog media type, which you might notice by looking +through the docs! However, it is *highly experimental*. We have not +security reviewed this, and it acts in a way that is not like normal +blogs (the blogposts are themselves media types!). + +So you can play with this, but it is not necessarily recommended for +production use! :) -- cgit v1.2.3 From 2352f7c86218c448c673ae80c50efd2388ab0abf Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 22 Aug 2014 16:21:48 -0500 Subject: not yet, anyway. --- docs/source/siteadmin/media-types.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/source/siteadmin/media-types.rst b/docs/source/siteadmin/media-types.rst index ef842baf..f8030081 100644 --- a/docs/source/siteadmin/media-types.rst +++ b/docs/source/siteadmin/media-types.rst @@ -272,5 +272,5 @@ through the docs! However, it is *highly experimental*. We have not security reviewed this, and it acts in a way that is not like normal blogs (the blogposts are themselves media types!). -So you can play with this, but it is not necessarily recommended for -production use! :) +So you can play with this, but it is not necessarily recommended yet +for production use! :) -- cgit v1.2.3 From 3b56b277d16c481883d4e184ac35d02ce44df196 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 25 Aug 2014 11:43:17 -0500 Subject: Updating release notes. --- docs/source/siteadmin/relnotes.rst | 72 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst index 3542bdcb..6892e71e 100644 --- a/docs/source/siteadmin/relnotes.rst +++ b/docs/source/siteadmin/relnotes.rst @@ -21,6 +21,78 @@ This chapter has important information for releases in it. If you're upgrading from a previous release, please read it carefully, or at least skim over it. +0.7.0 +==== + +**Do this to upgrade** + +1. Update to the latest release. If checked out from git, run: + ``git fetch && git checkout -q v0.7.0 && git submodule update`` +2. Make sure to run + ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` + +That's it, probably! If you run into problems, don't hesitate to +`contact us `_ +(IRC is often best). + +**New features:** + +- New mobile upload API making use of the + `Pump API `_ + (which will be the foundation for MediaGoblin's federation) +- New theme: Sandy 70s Speedboat! + +- Metadata features! We also now have a json-ld context. + +- Many improvements for archival institutions, including metadata + support and featuring items on the homepage. With the (new!) + archivalook plugin enabled, featuring media is possible. + Additionally, metadata about the particular media item will show up + in the sidebar. + + In the future these plugins may be separated, but for now they have + come together as part of the same plugin. + +- There is a new gmg subcommand called batchaddmedia that allows for + uploading many files at once. This is aimed to be useful for + archival institutions and groups where there is an already existing + and large set of available media that needs to be included. +- Speaking of, the call to postgres in the makefile is fixed. +- We have a new, generic media-page context hook that allows for + adding context depending on the type of media. +- Tired of video thumbnails breaking during processing all the time? + Good news, everyone! Video thumbnail generation should not fail + frequently anymore. (We think...) +- You can now set default permissions for new users in the config. + +- bootstrap.sh / gnu configuration stuff still exists, but moves to be + experimental-bootstrap.sh so as to not confuse newcomers. There are + some problems currently with the autoconf stuff that we need to work + out... we still have interest in supporting it, though help is + welcome. + +- MediaGoblin now checks whether or not the database is up to date + when starting. +- Switched to `Skeleton `_ as a system for + graphic design. +- New gmg subcommands for administrators: + - A "deletemedia" command + - A "deleteuser" command +- We now have a blogging media type... it's very experimental, + however. Use with caution! +- We have switched to exifread as an external library for reading EXIF + data. It's basically the same thing as before, but packaged + separately from MediaGoblin. +- Many improvements to internationalization. Also (still rudimentary, + but existant!) RTL language support! + +**Known issues:** + - Webfinger is now json by default; in the spec it should be xml by + default. We have done this because of compatibility with the pump + API. We are checking with upstream to see if there is a way to + resolve this discrepancy. + + 0.6.1 ===== -- cgit v1.2.3 From 551027ab0e8e32770b9f470a1fe23da0f9ab6cb9 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 25 Aug 2014 14:44:17 -0500 Subject: Committing present MediaGoblin translations before pushing extracted messages --- mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po | 250 ++++----- mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po | 51 +- mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po | 28 +- mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po | 737 +++++++++++++------------ 4 files changed, 534 insertions(+), 532 deletions(-) diff --git a/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po index b8b918bc..87af7b0b 100644 --- a/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-04 13:45-0500\n" -"PO-Revision-Date: 2014-08-04 18:45+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-08-20 17:20+0000\n" +"Last-Translator: digitaldreamer \n" "Language-Team: Czech (http://www.transifex.com/projects/p/mediagoblin/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -74,7 +74,7 @@ msgstr "Napřed se musíte přihlásit, abychom věděli komu máme email poslat #: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" -msgstr "Svojí emailovou adresu máte již ověřenou!" +msgstr "Svojí emailovou adresu máte již ověřenu!" #: mediagoblin/auth/views.py:203 msgid "Resent your verification email." @@ -101,7 +101,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "Můžete použít\n \n Markdown pro formátování." +msgstr "Pro formátování můžete používat Markdown." #: mediagoblin/edit/forms.py:37 mediagoblin/media_types/blog/forms.py:27 #: mediagoblin/submit/forms.py:45 @@ -222,7 +222,7 @@ msgstr "Upravujete tvorbu jiného uživatele. Buďte opatrná/ý." #: mediagoblin/edit/views.py:166 #, python-format msgid "You added the attachment %s!" -msgstr "Přidali jste přílohu %s!" +msgstr "Přidal(a) jste přílohu %s!" #: mediagoblin/edit/views.py:193 msgid "You can only edit your own profile." @@ -299,62 +299,62 @@ msgid "" "script (and how to format the metadata csv file), read the MediaGoblin\n" "documentation page on command line uploading\n" "" -msgstr "" +msgstr "Podrobnější instrukce jak správně používat tento\nskript (a jak formátovat soubor .csv s metadaty) najdete v dokumentaci\nMediaGoblinu na stránce o uploadování skrze příkazovou řádku\n" #: mediagoblin/gmg_commands/batchaddmedia.py:40 msgid "Name of user these media entries belong to" -msgstr "" +msgstr "Jméno uživatele, kterému patří tyto tvorby" #: mediagoblin/gmg_commands/batchaddmedia.py:43 msgid "Path to the csv file containing metadata information." -msgstr "" +msgstr "Cesta k souboru .csv obsahujícímu metadata." #: mediagoblin/gmg_commands/batchaddmedia.py:48 msgid "Don't process eagerly, pass off to celery" -msgstr "" +msgstr "Nezpracovávat okamžitě, předat serveru Celery." #: mediagoblin/gmg_commands/batchaddmedia.py:63 msgid "Sorry, no user by username '{username}' exists" -msgstr "" +msgstr "Promiňte, ale uživatel '{username}' neexistuje." #: mediagoblin/gmg_commands/batchaddmedia.py:74 msgid "File at {path} not found, use -h flag for help" -msgstr "" +msgstr "Soubor {path} nebyl nalezen, použijte argument -h pro nápovědu." #: mediagoblin/gmg_commands/batchaddmedia.py:115 msgid "" "Error with media '{media_id}' value '{error_path}': {error_msg}\n" "Metadata was not uploaded." -msgstr "" +msgstr "Chyba u tvorby '{media_id}' cesta '{error_path}': {error_msg}\n\nMetadata nebyla odeslána." #: mediagoblin/gmg_commands/batchaddmedia.py:141 msgid "" "FAIL: Local file {filename} could not be accessed.\n" "{filename} will not be uploaded." -msgstr "" +msgstr "CHYBA: Lokální soubor {filename} není přístupný.\nSoubor {filename} nebude odeslán na server." #: mediagoblin/gmg_commands/batchaddmedia.py:157 msgid "" "Successfully submitted {filename}!\n" "Be sure to look at the Media Processing Panel on your website to be sure it\n" "uploaded successfully." -msgstr "" +msgstr "Soubor {filename} byl úspěšně odeslán!\nPro jistotu se můžete podívat na Panel zpracování tvoreb na vašich stránkách, kde uvidíte\nzda upload proběhl úspěšně." #: mediagoblin/gmg_commands/batchaddmedia.py:160 msgid "FAIL: This file is larger than the upload limits for this site." -msgstr "" +msgstr "CHYBA: Velikost tohoto souboru překračuje maximální velikost povolenou na těchto stránkách." #: mediagoblin/gmg_commands/batchaddmedia.py:163 msgid "FAIL: This file will put this user past their upload limits." -msgstr "" +msgstr "CHYBA: Odesláním tohoto souboru by současný uživatel překročil svůj limit pro nahrávání souborů." #: mediagoblin/gmg_commands/batchaddmedia.py:166 msgid "FAIL: This user is already past their upload limits." -msgstr "" +msgstr "CHYBA: Tento uživatel již vyčerpal svůj limit pro nahrávání souborů." #: mediagoblin/gmg_commands/batchaddmedia.py:168 msgid "{files_uploaded} out of {files_attempted} files successfully submitted" -msgstr "" +msgstr "{files_uploaded} z celkového počtu {files_attempted} souborů úspěšně odesláno." #: mediagoblin/meddleware/csrf.py:134 msgid "" @@ -384,28 +384,28 @@ msgstr "Jupí! Odesláno!" #: mediagoblin/media_types/blog/views.py:198 msgid "Woohoo! edited blogpost is submitted" -msgstr "" +msgstr "Jupí! Upravený příspěvek byl odeslán!" #: mediagoblin/media_types/blog/views.py:320 msgid "You deleted the Blog." -msgstr "Smazal(a) jste Blog." +msgstr "Smazal(a) jste blog." #: mediagoblin/media_types/blog/views.py:326 #: mediagoblin/user_pages/views.py:329 msgid "The media was not deleted because you didn't check that you were sure." -msgstr "Tvorba nebyla odstraněna, protože jste nezaškrtli, že jste si jistí." +msgstr "Tvorba nebyla odstraněna, protože jste nezaškrtl(a), že jste si jist(a)." #: mediagoblin/media_types/blog/views.py:333 msgid "You are about to delete another user's Blog. Proceed with caution." -msgstr "" +msgstr "Chystáte se smazat blog jiného uživatele. Buďte opatrná/ý" #: mediagoblin/media_types/blog/views.py:344 msgid "The blog was not deleted because you have no rights." -msgstr "" +msgstr "Blog nebyl smazán, protože k tomu nemáte oprávnění." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:43 msgid "Add Blog Post" -msgstr "" +msgstr "Přidat příspěvek" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:50 msgid "Edit Blog" @@ -435,11 +435,11 @@ msgstr "Smazat" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:102 msgid " Go to list view " -msgstr "" +msgstr " Zobrazit jako seznam " #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 msgid " No blog post yet. " -msgstr "" +msgstr "Zatím zde nejsou žádné příspěvky." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 @@ -481,16 +481,16 @@ msgstr "Přidat" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 msgid "Create/Edit a blog post." -msgstr "" +msgstr "Vytvořit/Upravit příspěvek." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 msgid "Create/Edit a Blog Post." -msgstr "" +msgstr "Vytvořit/Upravit příspěvek." #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 #, python-format msgid "%(blog_owner_name)s's Blog" -msgstr "" +msgstr "Blog uživatele %(blog_owner_name)s" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 msgid "View" @@ -502,7 +502,7 @@ msgstr "Vytvořit Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 msgid " Blog Dashboard " -msgstr "" +msgstr "Ovládací panel blogů" #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" @@ -546,7 +546,7 @@ msgstr "Jaká práva odejmete?" #: mediagoblin/moderation/forms.py:122 msgid "Why user was banned:" -msgstr "" +msgstr "Proč byl uživateli udělen zákaz:" #: mediagoblin/moderation/forms.py:125 msgid "Message to user:" @@ -554,23 +554,23 @@ msgstr "Zpráva pro uživatele:" #: mediagoblin/moderation/forms.py:128 msgid "Resolution content:" -msgstr "" +msgstr "Obsah řešení:" #: mediagoblin/moderation/tools.py:34 msgid "" "\n" "{mod} took away {user}'s {privilege} privileges." -msgstr "" +msgstr "\n{mod} odebral(a) uživateli {user} oprávnění {privilege}." #: mediagoblin/moderation/tools.py:47 msgid "" "\n" "{mod} banned user {user} {expiration_date}." -msgstr "" +msgstr "\n{mod} udělil(a) uživateli {user} zákaz až do {expiration_date}." #: mediagoblin/moderation/tools.py:51 msgid "until {date}" -msgstr "" +msgstr "do {date}" #: mediagoblin/moderation/tools.py:53 #: mediagoblin/templates/mediagoblin/banned.html:30 @@ -581,19 +581,19 @@ msgstr "trvale" msgid "" "\n" "{mod} sent a warning email to the {user}." -msgstr "" +msgstr "\n{mod} poslal(a) varovný email uživateli {user}." #: mediagoblin/moderation/tools.py:71 msgid "" "\n" "{mod} deleted the comment." -msgstr "" +msgstr "\n{mod} smazal(a) komentář." #: mediagoblin/moderation/tools.py:78 msgid "" "\n" "{mod} deleted the media entry." -msgstr "" +msgstr "\n{mod} smazal(a) tvorbu." #: mediagoblin/moderation/tools.py:91 msgid "Warning from" @@ -638,23 +638,23 @@ msgstr "Promiňte, již jste vyčerpali svůj datový limit." #: mediagoblin/plugins/archivalook/forms.py:21 msgid "Enter the URL for the media to be featured" -msgstr "" +msgstr "Zadejte URL adresu tvorby, kterou chcete vystavit" #: mediagoblin/plugins/archivalook/tools.py:132 msgid "Primary" -msgstr "" +msgstr "První" #: mediagoblin/plugins/archivalook/tools.py:133 msgid "Secondary" -msgstr "" +msgstr "Druhá" #: mediagoblin/plugins/archivalook/tools.py:134 msgid "Tertiary" -msgstr "" +msgstr "Třetí" #: mediagoblin/plugins/archivalook/tools.py:135 msgid "-----------{display_type}-Features---------------------------\n" -msgstr "" +msgstr "-----------{display_type}-úroveň---------------------------\n" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 msgid "How does this work?" @@ -662,7 +662,7 @@ msgstr "Jak to funguje?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 msgid "How to feature media?" -msgstr "" +msgstr "Jak mohu vystavit tvorbu?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 msgid "" @@ -675,11 +675,11 @@ msgid "" " inside the text box, click the Submit Query button, and your media should be\n" " displayed on the front page.\n" " " -msgstr "" +msgstr "\nJděte na stránku tvorby, kterou chcete vystavit. Zkopírujte její URL adresu, a pak ji vložte jako nový řádek to textového okénka výše. V každém řádku by mělo být pouze jedno URL. Vložte jej pod nadpis, který určuje důležitost (první, druhá, nebo třetí úroveň). Až do tohoto okénka vložíte adresy všech tvoreb, které si přejete vystavit, klikněte na tlačítko \"Submit Query\", a vaše tvorby se objeví na hlavní stránce." #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:48 msgid "Is there another way to manage featured media?" -msgstr "" +msgstr "Je i jiný způsob, jak spravovat vystavené tvorby?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:51 msgid "" @@ -701,11 +701,11 @@ msgid "" " prominent and Demote moves the featured media lower down and makes it\n" " less prominent.\n" " " -msgstr "" +msgstr "\nAno. Můžete také jít na stránku příslušné tvorby, a podívat se na panel, který najdete po straně. Pokud tvorba není vystavena, uvidíte tam tlačítko “Vystavit“. Klikněte na něj, a tvorba bude vystavena v první úrovni, nahoře na stránce. Všechny ostatní vystavené tvorby budou posunuty níže.

\n\nOtevřete-li stránku tvorby, která je právě vystavena, uvidíte možnosti „Zrušit vystavení“, „Zvýšit důležitost“ a „Snížit důležitost“. Kliknete-li na „Zrušit vystavení“, tvorba se již nebude zobrazovat na hlavní stránce. Kdykoli ji můžete znovu vystavit. Zvýšení důležitosti posune tvorbu o úroveň výše, a snížení naopak o úroveň níže." #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 msgid "What is a Primary Feature? What is a Secondary Feature?" -msgstr "" +msgstr "Co znamená První úroveň, Druhá úroveň?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:74 msgid "" @@ -718,13 +718,13 @@ msgid "" " Primary Features also can display longer descriptions than Secondary\n" " Features, and Secondary Features can display longer descriptions than\n" " Tertiary Features." -msgstr "" +msgstr "\nTyto kategorie určují, jak výrazná bude vaše tvorba na hlavní stránce. Při použití první úrovně se zobrazí hned nahoře a bude mnohem větší. Druhá úroveň znamená, že bude o něco menší. To, co je vystavené pod třetí úrovní, se zobrazí v mřížce na konci stránky.

\n\nPrvní úroveň také zobrazí u tvorby delší popis než druhá, a třetí bude mít popis ještě kratší." #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:85 msgid "" "How to decide what information is displayed when a media entry is\n" " featured?" -msgstr "" +msgstr "Co rozhoduje o tom, jaké informace se budou zobrazovat u vystavené tvorby?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:88 msgid "" @@ -736,11 +736,11 @@ msgid "" " Secondary Features display the first 256 characters of their description,\n" " and Tertiary Features display the first 128 characters of their description.\n" " " -msgstr "" +msgstr "\nKdyž je tvorba vystavena, její nadpis, obrázek a část jejího popisu budou zobrazeny na hlavní stránce.\nDélka zobrazeného popisu závisí na úrovni její důležitosti.\nPrvní úroveň ukáže prvních 512 znaků popisu. Druhá úroveň ukáže 256, a třetí jen 128 znaků." #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:98 msgid "How to unfeature a piece of media?" -msgstr "" +msgstr "Jak zrušit vystavení tvorby?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:102 msgid "" @@ -748,7 +748,7 @@ msgid "" " Unfeature a media by removing its line from the above textarea and then\n" " pressing the Submit Query button.\n" " " -msgstr "" +msgstr "\nVystavení tvorby lze zrušit tím, že smažete její řádku z textového okénka, které najdete výše na této stránce, a potvrdíte změnu kliknutím na tlačítko \"Submit Query\"." #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 msgid "CAUTION:" @@ -761,47 +761,47 @@ msgid "" " you make a typo, once you press Submit Query, your media entry will NOT be\n" " featured. Make sure that all your intended Media Entries are featured.\n" " " -msgstr "" +msgstr "\nKdyž kopírujete a vkládáte URL adresy do textového okénka, mějte na paměti, že případný překlep nebo chyba v adrese způsobí, že vaše tvorba nebude vystavena. Zkontrolujte si proto, že všechny tvorby byly skutečně vystaveny." #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:26 msgid "" "\n" "Feature Media " -msgstr "" +msgstr "\nVystavit tvorbu" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 msgid "Feature" -msgstr "" +msgstr "Vystavit" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 msgid "" "\n" "Unfeature Media " -msgstr "" +msgstr "\nZrušit vystavení tvorby" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 msgid "Unfeature" -msgstr "" +msgstr "Zrušit vystavení" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 msgid "" "\n" "Promote Feature " -msgstr "" +msgstr "\nZvýšit úroveň důležitosti pro vystavení" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 msgid "Promote" -msgstr "" +msgstr "Zvýšit důležitost" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 msgid "" "\n" "Demote Feature " -msgstr "" +msgstr "\nSnížit úroveň důležitosti pro vystavení" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 msgid "Demote" -msgstr "" +msgstr "Snížit důležitost" #: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 #: mediagoblin/templates/mediagoblin/root.html:32 @@ -810,14 +810,14 @@ msgstr "Nejnovější tvorba" #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 msgid "Nothing is currently featured." -msgstr "" +msgstr "V tuto chvíli není nic vystaveno." #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" " that says Feature." -msgstr "" +msgstr "Pokud zde chcete vystavit některou tvorbu, jděte na stránku příslušné tvorby a klikněte tam na tlačítko Vystavit." #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 #, python-format @@ -827,29 +827,29 @@ msgid "" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" " in the feature management panel." -msgstr "" +msgstr "Tuto stránku vidíte proto, že máte oprávnění vystavovat tvorby. Obyčejný uživatel by viděl jen prázdnou stránku, proto mějte vždy vystavenu nějakou tvorbu, pokud používáte na své instanci plugin 'archivalook'. Pokročilejším nástrojem k ovládání této funkce je Panel pro správu vystavených tvoreb." #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" -msgstr "" +msgstr "Zobrazit nejnovější tvorby" #: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 msgid "Feature management panel" -msgstr "" +msgstr "Správa vystavených tvoreb" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:43 msgid "" "Sorry, this audio will not work because\n" "\tyour web browser does not support HTML5\n" "\taudio." -msgstr "" +msgstr "Omlouváme se, ale tento zvukový soubor\n\tnelze přehrát, protože váš prohlížeč\n\tnepodporuje HTML5 audio." #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 msgid "" "You can get a modern web browser that\n" "\tcan play the audio at \n" "\t http://getfirefox.com!" -msgstr "" +msgstr "Můžete si stáhnout moderní prohlížeč,\n\tkterý umí přehrávat tento typ zvuku,\n\tna http://getfirefox.com!" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 @@ -857,7 +857,7 @@ msgid "" "Sorry, this video will not work because\n" " your web browser does not support HTML5 \n" " video." -msgstr "" +msgstr "Omlouváme se, ale toto video nelze přehrát, protože\nváš prohlížeč nepodporuje HTML5\nvideo." #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 @@ -865,7 +865,7 @@ msgid "" "You can get a modern web browser that \n" " can play this video at \n" " http://getfirefox.com!" -msgstr "" +msgstr "Můžete si stáhnout moderní prohlížeč, který umí přehrát toto video, na http://getfirefox.com!" #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 @@ -1136,7 +1136,7 @@ msgstr "Přihlásit se" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 #: mediagoblin/templates/mediagoblin/auth/login.html:39 msgid "Logging in failed!" -msgstr "Přihlášení selhalo!" +msgstr "Chybné přihlášení!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" @@ -1226,7 +1226,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "Můžete používat\n\nMarkdown pro formátování." +msgstr "Pro formátování můžete používat Markdown." #: mediagoblin/submit/views.py:55 msgid "You must provide a file." @@ -1239,7 +1239,7 @@ msgstr "Sbírka „%s“ přidána!" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." -msgstr "Byl vám udělen Zákaz." +msgstr "Byl vám udělen zákaz." #: mediagoblin/templates/mediagoblin/banned.html:24 #: mediagoblin/templates/mediagoblin/error.html:24 @@ -1248,7 +1248,7 @@ msgstr "Obrázek vystresovaného goblina" #: mediagoblin/templates/mediagoblin/banned.html:26 msgid "You have been banned" -msgstr "Zákaz platí" +msgstr "Byl vám udělen zákaz," #: mediagoblin/templates/mediagoblin/banned.html:28 #, python-format @@ -1298,7 +1298,7 @@ msgstr "Vytvořit novou sbírku" #: mediagoblin/templates/mediagoblin/base.html:163 msgid "Moderation powers:" -msgstr "" +msgstr "Moderátorské funkce:" #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" @@ -1319,7 +1319,7 @@ msgstr "Autorizovat" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "Jste přihlášen jako" +msgstr "Jste přihlášen(a) jako" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " @@ -1351,11 +1351,11 @@ msgstr "Měnit vaše informace" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "Autorizace Dokončena" +msgstr "Autorizace dokončena" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "Autorizace Kompletní" +msgstr "Autorizace kompletní" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" @@ -1406,7 +1406,7 @@ msgstr "Prozkoumat" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 msgid "Hi there, welcome to this MediaGoblin site!" -msgstr "Zdravíme, vítejte na stránkách projektu MediaGoblin!" +msgstr "Dobrý den, vítejte na MediaGoblinu!" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 msgid "" @@ -1516,11 +1516,11 @@ msgstr "Upravujete profil %(username)s" #: mediagoblin/templates/mediagoblin/edit/metadata.html:67 #, python-format msgid "Metadata for \"%(media_name)s\"" -msgstr "" +msgstr "Metadata pro \"%(media_name)s\"" #: mediagoblin/templates/mediagoblin/edit/metadata.html:72 msgid "MetaData" -msgstr "" +msgstr "Metadata" #: mediagoblin/templates/mediagoblin/edit/metadata.html:80 msgid "Add new Row" @@ -1528,11 +1528,11 @@ msgstr "Přidat nový řádek" #: mediagoblin/templates/mediagoblin/edit/metadata.html:83 msgid "Update Metadata" -msgstr "" +msgstr "Aktualizovat metadata" #: mediagoblin/templates/mediagoblin/edit/metadata.html:87 msgid "Clear empty Rows" -msgstr "" +msgstr "Odstranit prázdné řádky" #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format @@ -1546,7 +1546,7 @@ msgid "" "\n" "If you are not %(username)s or didn't request an email change, you can ignore\n" "this email." -msgstr "Ahoj,\n\nPotřebujeme ověřit, jestli jste %(username)s. Pokud ano,\nklikněte prosím na tento odkaz pro ověření vaší nové emailové adresy.\n\n%(verification_url)s\n\nPokud nejste %(username)s, nebo jste nežádali o změnu emailu, nemusíte\nsi tohoto emailu všímat." +msgstr "Dobrý den,\n\nPotřebujeme ověřit, jestli jste %(username)s. Pokud ano,\nklikněte prosím na tento odkaz pro ověření vaší nové emailové adresy.\n\n%(verification_url)s\n\nPokud nejste %(username)s, nebo jste nežádali o změnu emailu, nemusíte\nsi tohoto emailu všímat." #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" @@ -1593,7 +1593,7 @@ msgid "" "Sorry, this audio will not work because \n" "\tyour web browser does not support HTML5 \n" "\taudio." -msgstr "Promiňte, tento zvukový soubor nelze přehrát\n\tprotože váš prohlížeč nepodporuje HTML5\n\taudio." +msgstr "Promiňte, tento zvukový soubor nelze přehrát,\n\tprotože váš prohlížeč nepodporuje HTML5\n\taudio." #: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 msgid "" @@ -1659,18 +1659,18 @@ msgstr "Stáhnout model" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" -msgstr "Formát Souboru" +msgstr "Formát souboru" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" -msgstr "Výška Objektu" +msgstr "Výška objektu" #: mediagoblin/templates/mediagoblin/media_displays/video.html:63 msgid "" "Sorry, this video will not work because\n" " your web browser does not support HTML5 \n" " video." -msgstr "Promiňte, toto video nelze přehrát protože\nváš prohlížeč nepodporuje HTML5\nvideo." +msgstr "Omlouváme se, ale toto video nelze přehrát, protože\nváš prohlížeč nepodporuje HTML5\nvideo." #: mediagoblin/templates/mediagoblin/media_displays/video.html:66 msgid "" @@ -1709,15 +1709,15 @@ msgstr "Uživatel" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 msgid "When submitted" -msgstr "" +msgstr "Odesláno" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 msgid "Transcoding progress" -msgstr "" +msgstr "Stav transkódování" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 msgid "Unknown" -msgstr "" +msgstr "Neznámý" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 @@ -1727,15 +1727,15 @@ msgstr "Žádné zpracovávané tvorby" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:62 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 msgid "These uploads failed to process:" -msgstr "Tuto tvorbu se nepovedlo zpracovat:" +msgstr "Tyto tvorby se nepovedlo zpracovat:" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 msgid "Reason for failure" -msgstr "" +msgstr "Příčina selhání" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 msgid "Failure metadata" -msgstr "" +msgstr "Metadata o selhání" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 @@ -1748,7 +1748,7 @@ msgstr "Posledních 10 úspěšných uploadů" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 msgid "Submitted" -msgstr "" +msgstr "Odesláno" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 @@ -1792,7 +1792,7 @@ msgstr "\nOBSAH OD UŽIVATELE\n %(user_name)s\nBYL #: mediagoblin/templates/mediagoblin/moderation/report.html:102 msgid "Reason for report:" -msgstr "" +msgstr "Důvod hlášení:" #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 @@ -1898,15 +1898,15 @@ msgstr "Nebyla nalezena žádná uzavřená hlášení." #: mediagoblin/templates/mediagoblin/moderation/user.html:23 #, python-format msgid "User: %(username)s" -msgstr "" +msgstr "Uživatel: %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:42 msgid "Return to Users Panel" -msgstr "" +msgstr "Návrat do Panelu Uživatelů" #: mediagoblin/templates/mediagoblin/moderation/user.html:49 msgid "Sorry, no such user found." -msgstr "" +msgstr "Omlouváme se, ale požadovaný uživatel nebyl nalezen." #: mediagoblin/templates/mediagoblin/moderation/user.html:53 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 @@ -1918,7 +1918,7 @@ msgstr "Je třeba ověřit email" msgid "" "Someone has registered an account with this username, but it still has\n" " to be activated." -msgstr "" +msgstr "Někdo si zaregistroval účet s tímto jménem, zatím ale nebyl aktivován." #: mediagoblin/templates/mediagoblin/moderation/user.html:66 #: mediagoblin/templates/mediagoblin/user_pages/user.html:34 @@ -1931,11 +1931,11 @@ msgstr "Profil %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:68 #, python-format msgid "BANNED until %(expiration_date)s" -msgstr "" +msgstr "má ZÁKAZ až do %(expiration_date)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:72 msgid "Banned Indefinitely" -msgstr "" +msgstr "má trvalý zákaz" #: mediagoblin/templates/mediagoblin/moderation/user.html:78 #: mediagoblin/templates/mediagoblin/user_pages/user.html:62 @@ -1956,60 +1956,60 @@ msgstr "Procházet sbírky" #: mediagoblin/templates/mediagoblin/moderation/user.html:105 #, python-format msgid "Active Reports on %(username)s" -msgstr "" +msgstr "Aktivní hlášení na uživatele %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:112 msgid "Report ID" -msgstr "" +msgstr "ID hlášení" #: mediagoblin/templates/mediagoblin/moderation/user.html:113 msgid "Reported Content" -msgstr "" +msgstr "Nahlášený obsah" #: mediagoblin/templates/mediagoblin/moderation/user.html:114 msgid "Description of Report" -msgstr "" +msgstr "Popis hlášení" #: mediagoblin/templates/mediagoblin/moderation/user.html:122 #, python-format msgid "Report #%(report_number)s" -msgstr "" +msgstr "Hlášení #%(report_number)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:129 msgid "Reported Comment" -msgstr "" +msgstr "Nahlášený komentář" #: mediagoblin/templates/mediagoblin/moderation/user.html:131 msgid "Reported Media Entry" -msgstr "" +msgstr "Nahlášená tvorba" #: mediagoblin/templates/mediagoblin/moderation/user.html:142 #, python-format msgid "No active reports filed on %(username)s" -msgstr "" +msgstr "Na %(username)s nebyla podána žádná hlášení" #: mediagoblin/templates/mediagoblin/moderation/user.html:150 #, python-format msgid "All reports on %(username)s" -msgstr "" +msgstr "Všechna hlášení na %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:155 #, python-format msgid "All reports that %(username)s has filed" -msgstr "" +msgstr "Všechna hlášení, která %(username)s podal(a)" #: mediagoblin/templates/mediagoblin/moderation/user.html:164 #, python-format msgid "%(username)s's Privileges" -msgstr "" +msgstr "Oprávnění uživatele %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:172 msgid "Privilege" -msgstr "" +msgstr "Oprávnění" #: mediagoblin/templates/mediagoblin/moderation/user.html:173 msgid "Granted" -msgstr "" +msgstr "Uděleno" #: mediagoblin/templates/mediagoblin/moderation/user.html:180 msgid "Yes" @@ -2021,11 +2021,11 @@ msgstr "Ne" #: mediagoblin/templates/mediagoblin/moderation/user.html:213 msgid "Ban User" -msgstr "" +msgstr "Udělit zákaz" #: mediagoblin/templates/mediagoblin/moderation/user.html:218 msgid "UnBan User" -msgstr "" +msgstr "Odvolat zákaz" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 @@ -2067,7 +2067,7 @@ msgstr "Přidejte vaši tvorbu" #: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 #, python-format msgid "❖ Blog post by %(username)s" -msgstr "" +msgstr "❖ Příspěvek od uživatele %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 #: mediagoblin/templates/mediagoblin/user_pages/media.html:104 @@ -2097,17 +2097,17 @@ msgstr "%(collection_title)s od %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 #, python-format msgid "Delete collection %(collection_title)s" -msgstr "" +msgstr "Smazat sbírku %(collection_title)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format msgid "Really delete collection: %(title)s?" -msgstr "" +msgstr "Opravdu smazat sbírku %(title)s?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 #, python-format msgid "Remove %(media_title)s from %(collection_title)s" -msgstr "" +msgstr "Odstranit %(media_title)s z %(collection_title)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format @@ -2216,7 +2216,7 @@ msgstr "Zde můžete ostatním říct něco o sobě." #: mediagoblin/templates/mediagoblin/user_pages/user.html:94 #, python-format msgid "View all of %(username)s's media" -msgstr "Zobrazit všechnu tvorbu %(username)s" +msgstr "Zobrazit všechnu tvorbu uživatele %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/user.html:107 msgid "" @@ -2394,7 +2394,7 @@ msgstr "Komentář" msgid "" "You can use Markdown for formatting." -msgstr "Můžete používat Markdown pro formátování." +msgstr "Pro formátování můžete používat Markdown." #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" @@ -2417,7 +2417,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "Můžete používat\nMarkdown pro formátování." +msgstr "Pro formátování můžete používat Markdown." #: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 msgid "Reason for Reporting" diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po index 79ce63a7..b192514a 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: +# Artopal , 2014 # aleksejrs , 2011, 2012 # ekenbrand , 2011 # Jacobo Nájera , 2011-2012 @@ -21,8 +22,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-04 13:45-0500\n" -"PO-Revision-Date: 2014-08-04 18:45+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-08-11 08:55+0000\n" +"Last-Translator: Laura Arjona Reina \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/mediagoblin/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -557,31 +558,31 @@ msgstr "¿Qué permisos vas a retirar?" #: mediagoblin/moderation/forms.py:122 msgid "Why user was banned:" -msgstr "" +msgstr "Por qué se inhabilitó al usuario:" #: mediagoblin/moderation/forms.py:125 msgid "Message to user:" -msgstr "" +msgstr "Mensaje al usuario:" #: mediagoblin/moderation/forms.py:128 msgid "Resolution content:" -msgstr "" +msgstr "Contenido de la resolución:" #: mediagoblin/moderation/tools.py:34 msgid "" "\n" "{mod} took away {user}'s {privilege} privileges." -msgstr "" +msgstr "\n{mod} retiró al usuario {user} los permisos de: {privilege}." #: mediagoblin/moderation/tools.py:47 msgid "" "\n" "{mod} banned user {user} {expiration_date}." -msgstr "" +msgstr "\n{mod} inhabilitó al usuario {user} hasta {expiration_date}." #: mediagoblin/moderation/tools.py:51 msgid "until {date}" -msgstr "" +msgstr "hasta {date}" #: mediagoblin/moderation/tools.py:53 #: mediagoblin/templates/mediagoblin/banned.html:30 @@ -592,19 +593,19 @@ msgstr "indefinidamente" msgid "" "\n" "{mod} sent a warning email to the {user}." -msgstr "" +msgstr "\n{mod} envió un correo de advertencia al {user}." #: mediagoblin/moderation/tools.py:71 msgid "" "\n" "{mod} deleted the comment." -msgstr "" +msgstr "\n{mod} eliminó el comentario." #: mediagoblin/moderation/tools.py:78 msgid "" "\n" "{mod} deleted the media entry." -msgstr "" +msgstr "\n{mod} borró el contenido." #: mediagoblin/moderation/tools.py:91 msgid "Warning from" @@ -712,7 +713,7 @@ msgid "" " prominent and Demote moves the featured media lower down and makes it\n" " less prominent.\n" " " -msgstr "" +msgstr "\nSí. Si lo prefieres, puedes ir a la página del contenido que te gustaría destacar\no quitar de destacados, y mirar en la barra lateral junto al contenido. Si el contenido\naún no se ha destacado, debería haber un botón que ponga \"Destacar\". Pulsa ese botón\ny el contenido se destacará como primario, al inicio de la portada.\nTodos los demás contenidos destacados seguirán destacados, pero se mostrarán debajo\nen la página de portada.

\n\nSi vas a la página de un contenido que actualmente ya está destacado, verás las opciones\n\"Quitar de destacados\", \"Ascender\" y \"Descender\" donde antes se mostraba \"Destacar\".\nHaz clic en Quitar de destacados y ese contenido ya no se mostrará en la portada,\naunque puedes volver a destacarlo en cualquier momento. Ascender mueve el contenido destacado más arriba en la portada y lo hace más prominente, y Descender mueve el contenido más abajo y lo hace menos prominente." #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:70 msgid "What is a Primary Feature? What is a Secondary Feature?" @@ -828,7 +829,7 @@ msgid "" "If you would like to feature a\n" " piece of media, go to that media entry's homepage and click the button\n" " that says Feature." -msgstr "" +msgstr "Si te gustaría destacar\nun contenido, ve a la página de ese contenido y pulsa el botón\nque dice Destacar." #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:67 #, python-format @@ -838,7 +839,7 @@ msgid "" " have media featured as long as your instance has the 'archivalook'\n" " plugin enabled. A more advanced tool to manage features can be found\n" " in the feature management panel." -msgstr "" +msgstr "Estás viendo esta página porque eres un usuario con permisos para\ndestacar contenido, un usuario normal vería una página en blanco, así que\nasegúrate de destacar contenido mientras tu sitio tenga el complemento\n'archivalook' activado. Se puede encontrar una herramienta más avanzada\npara gestionar los destacados \nen el panel de gestión de destacados." #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" @@ -1309,7 +1310,7 @@ msgstr "Crear nueva colección" #: mediagoblin/templates/mediagoblin/base.html:163 msgid "Moderation powers:" -msgstr "" +msgstr "Poderes de moderación:" #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" @@ -1715,20 +1716,20 @@ msgstr "ID" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 msgid "User" -msgstr "" +msgstr "Usuario" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 msgid "When submitted" -msgstr "" +msgstr "Cuándo se envió" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 msgid "Transcoding progress" -msgstr "" +msgstr "Proceso de transcodificación" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 msgid "Unknown" -msgstr "" +msgstr "Desconocido" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 @@ -1742,11 +1743,11 @@ msgstr "Estos archivos no pudieron ser procesados:" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 msgid "Reason for failure" -msgstr "" +msgstr "Motivo del fallo" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 msgid "Failure metadata" -msgstr "" +msgstr "Metadatos del fallo" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 @@ -1759,7 +1760,7 @@ msgstr "Últimos 10 envíos con éxito" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 msgid "Submitted" -msgstr "" +msgstr "Enviado" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 @@ -1803,7 +1804,7 @@ msgstr "\nESTE CONTENIDO DE⏎\n %(user_name)s⏎\n #: mediagoblin/templates/mediagoblin/moderation/report.html:102 msgid "Reason for report:" -msgstr "" +msgstr "Razón del informe:" #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 @@ -2285,11 +2286,11 @@ msgstr "Añadir a una colección" #: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 msgid "Subscribe to comments" -msgstr "" +msgstr "Suscribirse a los comentarios" #: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 msgid "Silence comments" -msgstr "" +msgstr "Silenciar comentarios" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po index 16b414cc..e48cdabe 100644 --- a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po @@ -11,8 +11,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-04 13:45-0500\n" -"PO-Revision-Date: 2014-08-04 18:45+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-08-23 12:23+0000\n" +"Last-Translator: GenghisKhan \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/mediagoblin/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -832,7 +832,7 @@ msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" -msgstr "" +msgstr "תפיה במדיה האחרונה ביותר" #: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 msgid "Feature management panel" @@ -1145,7 +1145,7 @@ msgstr "התחבר כדי ליצור חשבון!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "או התחבר בעזרת סיסמה!" +msgstr "אפשר להתחבר גם בעזרת סיסמה!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" @@ -1153,7 +1153,7 @@ msgstr "או התחבר עם OpenID!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" -msgstr "או הירשם בעזרת OpenID!" +msgstr "אפשר להירשם גם בעזרת OpenID!" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." @@ -1365,7 +1365,7 @@ msgstr "העתק והדבק את מידע זה אל תוך הלקוח שלך:" #: mediagoblin/templates/mediagoblin/auth/register.html:28 #: mediagoblin/templates/mediagoblin/auth/register.html:36 msgid "Create an account!" -msgstr "יצירת חשבון!" +msgstr "צור חשבון!" #: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" @@ -1387,7 +1387,7 @@ msgstr "שלום %(username)s,\n\nבכדי להפעיל את חשבונך בשי msgid "" "Powered by MediaGoblin, a GNU project." -msgstr "ממונע על ידי MediaGoblin, פרויקט GNU." +msgstr "ממונע על ידי MediaGoblin, פרויקט של GNU." #: mediagoblin/templates/mediagoblin/bits/base_footer.html:24 #, python-format @@ -1710,7 +1710,7 @@ msgstr "משתמש" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 msgid "When submitted" -msgstr "" +msgstr "כאשר נשלח" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 msgid "Transcoding progress" @@ -1749,7 +1749,7 @@ msgstr "10 העלאות מוצלחות אחרונות" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 msgid "Submitted" -msgstr "" +msgstr "נשלח" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 @@ -1793,7 +1793,7 @@ msgstr "\n תוכן מאת\n %(use #: mediagoblin/templates/mediagoblin/moderation/report.html:102 msgid "Reason for report:" -msgstr "" +msgstr "סיבת דיווח:" #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 @@ -2006,11 +2006,11 @@ msgstr "הפריבילגיות של %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:172 msgid "Privilege" -msgstr "" +msgstr "פריבילגיה" #: mediagoblin/templates/mediagoblin/moderation/user.html:173 msgid "Granted" -msgstr "" +msgstr "הוענקה" #: mediagoblin/templates/mediagoblin/moderation/user.html:180 msgid "Yes" @@ -2275,11 +2275,11 @@ msgstr "הוסף אל אוסף" #: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 msgid "Subscribe to comments" -msgstr "" +msgstr "הירשם לתגובות" #: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 msgid "Silence comments" -msgstr "" +msgstr "השתק תגובות" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po index e0ad7104..d06a25a4 100644 --- a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po @@ -3,6 +3,7 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: +# André Koot , 2014 # schendje , 2011, 2012 # mvanderboom , 2012 msgid "" @@ -10,8 +11,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "POT-Creation-Date: 2014-08-04 13:45-0500\n" -"PO-Revision-Date: 2014-08-04 18:45+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2014-08-24 16:42+0000\n" +"Last-Translator: André Koot \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/mediagoblin/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -22,28 +23,28 @@ msgstr "" #: mediagoblin/decorators.py:303 mediagoblin/plugins/openid/views.py:202 msgid "Sorry, registration is disabled on this instance." -msgstr "Sorry, registratie is uitgeschakeld op deze instantie." +msgstr "Sorry, registratie is uitgeschakeld op deze goblin." #: mediagoblin/decorators.py:318 msgid "Sorry, reporting is disabled on this instance." -msgstr "" +msgstr "Sorry, rapportage is uitgeschakeld op deze goblin." #: mediagoblin/decorators.py:361 mediagoblin/plugins/ldap/views.py:55 #: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." -msgstr "" +msgstr "Sorry, authenticatie is uitgeschakeld op deze goblin." #: mediagoblin/auth/tools.py:43 msgid "Invalid User name or email address." -msgstr "" +msgstr "Ongeldige gebruikersnaam of e-mailadres." #: mediagoblin/auth/tools.py:44 msgid "This field does not take email addresses." -msgstr "" +msgstr "Dit veld accepteert geen e-mailadressen." #: mediagoblin/auth/tools.py:45 msgid "This field requires an email address." -msgstr "" +msgstr "Dit veld vereist een e-mailadres." #: mediagoblin/auth/tools.py:116 msgid "Sorry, a user with that name already exists." @@ -56,7 +57,7 @@ msgstr "Sorry, een gebruiker met dat e-mailadres bestaat al." #: mediagoblin/auth/views.py:142 mediagoblin/edit/views.py:363 #: mediagoblin/edit/views.py:384 mediagoblin/plugins/basic_auth/views.py:110 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "De verificatiecode of gebruikersnaam is onjuist." #: mediagoblin/auth/views.py:161 msgid "" @@ -66,7 +67,7 @@ msgstr "Uw e-mailadres is geverifieerd. U kunt nu inloggen, uw profiel bewerken, #: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" -msgstr "De verificatie sleutel of gebruikers-ID is onjuist" +msgstr "De verificatiecode of gebruikersnaam is onjuist" #: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" @@ -106,7 +107,7 @@ msgstr "Voor opmaak kun je Go to list view " -msgstr "" +msgstr " Ga naar lijstoverzicht " #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_admin_dashboard.html:104 msgid " No blog post yet. " -msgstr "" +msgstr "Nog geen blogbericht" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 @@ -468,7 +469,7 @@ msgstr "Permanent verwijderen" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:26 msgid "Create/Edit a Blog" -msgstr "" +msgstr "Maak/bewerk een Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_edit_create.html:37 #: mediagoblin/plugins/oauth/templates/oauth/client/register.html:29 @@ -481,160 +482,160 @@ msgstr "Voeg toe" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:23 msgid "Create/Edit a blog post." -msgstr "" +msgstr "Maak/bewerk een blogbericht" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_edit_create.html:29 msgid "Create/Edit a Blog Post." -msgstr "" +msgstr "Maak/bewerk een blogbericht" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/blog_post_listing.html:24 #, python-format msgid "%(blog_owner_name)s's Blog" -msgstr "" +msgstr "%(blog_owner_name)s's Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:46 msgid "View" -msgstr "" +msgstr "Bekijk" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/list_of_blogs.html:65 msgid "Create a Blog" -msgstr "" +msgstr "Maak een Blog" #: mediagoblin/media_types/blog/templates/mediagoblin/blog/url_to_dashboard.html:20 msgid " Blog Dashboard " -msgstr "" +msgstr " Blog Dashboard " #: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" -msgstr "" +msgstr "unoconv kon niet starten, controleer het logbestand" #: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" -msgstr "" +msgstr "Video transcoderen mislukt" #: mediagoblin/moderation/forms.py:21 msgid "Take away privilege" -msgstr "" +msgstr "Neem rechten af" #: mediagoblin/moderation/forms.py:22 msgid "Ban the user" -msgstr "" +msgstr "Blokkeer deze gebruiker" #: mediagoblin/moderation/forms.py:23 msgid "Send the user a message" -msgstr "" +msgstr "Stuur de gebruiker een bericht" #: mediagoblin/moderation/forms.py:24 msgid "Delete the content" -msgstr "" +msgstr "Verwijder de inhoud" #: mediagoblin/moderation/forms.py:53 mediagoblin/moderation/forms.py:118 msgid "User will be banned until:" -msgstr "" +msgstr "De gebruiker wordt geblokkeerd tot:" #: mediagoblin/moderation/forms.py:57 msgid "Why are you banning this User?" -msgstr "" +msgstr "Waarom blokkeer je deze gebruiker?" #: mediagoblin/moderation/forms.py:109 msgid "What action will you take to resolve the report?" -msgstr "" +msgstr "Welke actie voer je uit om de melding af te handelen?" #: mediagoblin/moderation/forms.py:115 msgid "What privileges will you take away?" -msgstr "" +msgstr "Welke rechten neem je af?" #: mediagoblin/moderation/forms.py:122 msgid "Why user was banned:" -msgstr "" +msgstr "Waarom de gebruiker werd geblokkeerd:" #: mediagoblin/moderation/forms.py:125 msgid "Message to user:" -msgstr "" +msgstr "Bericht aan de gebruiker:" #: mediagoblin/moderation/forms.py:128 msgid "Resolution content:" -msgstr "" +msgstr "Oplossing inhoud:" #: mediagoblin/moderation/tools.py:34 msgid "" "\n" "{mod} took away {user}'s {privilege} privileges." -msgstr "" +msgstr "\n{mod} nam van {user} de {privilege} rechten af." #: mediagoblin/moderation/tools.py:47 msgid "" "\n" "{mod} banned user {user} {expiration_date}." -msgstr "" +msgstr "\n{mod} blokkeerde de gebruiker {user} {expiration_date}." #: mediagoblin/moderation/tools.py:51 msgid "until {date}" -msgstr "" +msgstr "tot {date}" #: mediagoblin/moderation/tools.py:53 #: mediagoblin/templates/mediagoblin/banned.html:30 msgid "indefinitely" -msgstr "" +msgstr "onbepaalde tijd" #: mediagoblin/moderation/tools.py:62 msgid "" "\n" "{mod} sent a warning email to the {user}." -msgstr "" +msgstr "\n{mod} stuurde een waarschuwingsbericht naar {user}." #: mediagoblin/moderation/tools.py:71 msgid "" "\n" "{mod} deleted the comment." -msgstr "" +msgstr "\n{mod} verwijderde de reactie." #: mediagoblin/moderation/tools.py:78 msgid "" "\n" "{mod} deleted the media entry." -msgstr "" +msgstr "\n{mod} verwijderde het mediaonderwerp." #: mediagoblin/moderation/tools.py:91 msgid "Warning from" -msgstr "" +msgstr "Waarschuwing van" #: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:60 msgid "commented on your post" -msgstr "" +msgstr "reageerde op je bericht" #: mediagoblin/notifications/views.py:35 #, python-format msgid "Subscribed to comments on %s!" -msgstr "" +msgstr "Geabonneerd op reacties op %s!" #: mediagoblin/notifications/views.py:48 #, python-format msgid "You will not receive notifications for comments on %s." -msgstr "" +msgstr "Je ontvangt geen meldingen over reacties op %s." #: mediagoblin/oauth/views.py:242 msgid "Must provide an oauth_token." -msgstr "" +msgstr "Moet een oauth_token leveren." #: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 msgid "No request token found." -msgstr "" +msgstr "Geen aanvraagtoken gevonden." #: mediagoblin/plugins/api/views.py:76 mediagoblin/plugins/piwigo/views.py:155 #: mediagoblin/submit/views.py:78 msgid "Sorry, the file size is too big." -msgstr "" +msgstr "Sorry, het bestand is te groot." #: mediagoblin/plugins/api/views.py:79 mediagoblin/plugins/piwigo/views.py:158 #: mediagoblin/submit/views.py:81 msgid "Sorry, uploading this file will put you over your upload limit." -msgstr "" +msgstr "Sorry, door te uploaden zou je over je uploadlimiet gaan." #: mediagoblin/plugins/api/views.py:83 mediagoblin/plugins/piwigo/views.py:162 #: mediagoblin/submit/views.py:87 msgid "Sorry, you have reached your upload limit." -msgstr "" +msgstr "Sorry, je hebt je uploadlimiet bereikt." #: mediagoblin/plugins/archivalook/forms.py:21 msgid "Enter the URL for the media to be featured" @@ -642,27 +643,27 @@ msgstr "" #: mediagoblin/plugins/archivalook/tools.py:132 msgid "Primary" -msgstr "" +msgstr "Primair" #: mediagoblin/plugins/archivalook/tools.py:133 msgid "Secondary" -msgstr "" +msgstr "Secundair" #: mediagoblin/plugins/archivalook/tools.py:134 msgid "Tertiary" -msgstr "" +msgstr "Tertiair" #: mediagoblin/plugins/archivalook/tools.py:135 msgid "-----------{display_type}-Features---------------------------\n" -msgstr "" +msgstr "-----------{display_type}-Mogelijkheden---------------------------\n" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:33 msgid "How does this work?" -msgstr "" +msgstr "Hoe werkt het?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:34 msgid "How to feature media?" -msgstr "" +msgstr "Hoe publiceer je media?" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:37 msgid "" @@ -752,7 +753,7 @@ msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:108 msgid "CAUTION:" -msgstr "" +msgstr "WAARSCHUWING:" #: mediagoblin/plugins/archivalook/templates/archivalook/feature.html:110 msgid "" @@ -767,41 +768,41 @@ msgstr "" msgid "" "\n" "Feature Media " -msgstr "" +msgstr "\nMedia aanbevelen" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:28 msgid "Feature" -msgstr "" +msgstr "Aanbevolen" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:34 msgid "" "\n" "Unfeature Media " -msgstr "" +msgstr "\nMedia niet meer aanbevelen" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:36 msgid "Unfeature" -msgstr "" +msgstr "Niet aanbevolen" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:42 msgid "" "\n" "Promote Feature " -msgstr "" +msgstr "\nPromoveer aanbeveling " #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:44 msgid "Promote" -msgstr "" +msgstr "Promoveren" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:50 msgid "" "\n" "Demote Feature " -msgstr "" +msgstr "\nDemoveer aanbeveling" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_media_sidebar.html:52 msgid "Demote" -msgstr "" +msgstr "Demoveren" #: mediagoblin/plugins/archivalook/templates/archivalook/recent_media.html:30 #: mediagoblin/templates/mediagoblin/root.html:32 @@ -810,7 +811,7 @@ msgstr "Nieuwste media" #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:61 msgid "Nothing is currently featured." -msgstr "" +msgstr "Momenteel is niets aanbevolen." #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:62 msgid "" @@ -831,7 +832,7 @@ msgstr "" #: mediagoblin/plugins/archivalook/templates/archivalook/root.html:79 msgid "View most recent media" -msgstr "" +msgstr "Bekijk de meest recente media" #: mediagoblin/plugins/archivalook/templates/archivalook/bits/feature_dropdown.html:22 msgid "Feature management panel" @@ -842,14 +843,14 @@ msgid "" "Sorry, this audio will not work because\n" "\tyour web browser does not support HTML5\n" "\taudio." -msgstr "" +msgstr "Sorry, dit geluidsfragment zal niet werken omdat\n\tje web-browser geen HTML5 audio ondersteunt." #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/audio_primary.html:46 msgid "" "You can get a modern web browser that\n" "\tcan play the audio at \n" "\t http://getfirefox.com!" -msgstr "" +msgstr "Je kunt een moderne web browser die\n\taudio kan afspelen krijgen op at \n\t http://getfirefox.com!" #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:43 #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:43 @@ -857,7 +858,7 @@ msgid "" "Sorry, this video will not work because\n" " your web browser does not support HTML5 \n" " video." -msgstr "" +msgstr "Sorry, deze video werkt niet omdat je\nwebbrowser geen HTML5 video ondersteunt." #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_primary.html:46 #: mediagoblin/plugins/archivalook/templates/archivalook/feature_displays/video_secondary.html:46 @@ -865,7 +866,7 @@ msgid "" "You can get a modern web browser that \n" " can play this video at \n" " http://getfirefox.com!" -msgstr "" +msgstr "Je kunt een moderne web browser die deze\n\tvideo kan afspelen krijgen op at \n\t http://getfirefox.com!" #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/ldap/forms.py:35 mediagoblin/plugins/openid/forms.py:27 @@ -879,19 +880,19 @@ msgstr "Gebruikersnaam" #: mediagoblin/plugins/persona/forms.py:28 #: mediagoblin/plugins/persona/forms.py:39 msgid "Email address" -msgstr "E-mail adres" +msgstr "E-mailadres" #: mediagoblin/plugins/basic_auth/forms.py:39 msgid "Username or Email" -msgstr "" +msgstr "Gebruikersnaam of email-adres" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "Blijf ingelogd" #: mediagoblin/plugins/basic_auth/forms.py:51 msgid "Username or email" -msgstr "Gebruikersnaam of email-adres" +msgstr "Gebruikersnaam of e-mailadres" #: mediagoblin/plugins/basic_auth/views.py:54 msgid "" @@ -901,7 +902,7 @@ msgstr "" #: mediagoblin/plugins/basic_auth/views.py:65 msgid "Couldn't find someone with that username." -msgstr "" +msgstr "Kon niemand vinden met die gebruikersnaam." #: mediagoblin/plugins/basic_auth/views.py:68 msgid "" @@ -912,11 +913,11 @@ msgstr "Een e-mail met instructies om je wachtwoord te veranderen is verstuurd." msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." -msgstr "Email kon niet verstuurd worden omdat je gebruikersnaam inactief is of omdat je e-mailadres nog niet geverifieerd is." +msgstr "E-mail kon niet verstuurd worden omdat je gebruikersnaam inactief is of omdat je e-mailadres nog niet geverifieerd is." #: mediagoblin/plugins/basic_auth/views.py:123 msgid "The user id is incorrect." -msgstr "" +msgstr "De gebruikersID is onjuist." #: mediagoblin/plugins/basic_auth/views.py:139 msgid "You can now log in using your new password." @@ -930,7 +931,7 @@ msgstr "" #: mediagoblin/plugins/basic_auth/views.py:215 msgid "Your password was changed successfully" -msgstr "" +msgstr "Je wachtwoord is succesvol gewijzigd" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:28 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_fp.html:36 @@ -945,16 +946,16 @@ msgstr "Wachtwoord opslaan" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" -msgstr "" +msgstr "Wijzigen %(username)s's wachtwoord" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/change_pass.html:45 #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 msgid "Save" -msgstr "" +msgstr "Bewaren" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:22 msgid "Don't have an account yet?" -msgstr "Heeft u nog geen account?" +msgstr "Heb je nog geen account?" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/create_account_link.html:24 msgid "Create one here!" @@ -962,7 +963,7 @@ msgstr "Maak er hier een!" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/edit_link.html:22 msgid "Change your password." -msgstr "" +msgstr "Wijzig je wachtwoord:" #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:23 #: mediagoblin/plugins/basic_auth/templates/mediagoblin/plugins/basic_auth/forgot_password.html:31 @@ -988,31 +989,31 @@ msgstr "Bekijken op OpenStreetMap" #: mediagoblin/plugins/ldap/templates/mediagoblin/plugins/ldap/create_account_link.html:22 msgid "Sign in to create an account!" -msgstr "" +msgstr "Log in om een account te maken!" #: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:22 msgid "Metadata" -msgstr "" +msgstr "Metadata" #: mediagoblin/plugins/metadata_display/templates/mediagoblin/plugins/metadata_display/metadata_table.html:40 msgid "Edit Metadata" -msgstr "" +msgstr "Bewerk Metadata" #: mediagoblin/plugins/oauth/forms.py:29 msgid "Allow" -msgstr "" +msgstr "Toestaan" #: mediagoblin/plugins/oauth/forms.py:30 msgid "Deny" -msgstr "" +msgstr "Verbieden" #: mediagoblin/plugins/oauth/forms.py:34 msgid "Name" -msgstr "" +msgstr "Naam" #: mediagoblin/plugins/oauth/forms.py:35 msgid "The name of the OAuth client" -msgstr "" +msgstr "De naam van de OAuth client" #: mediagoblin/plugins/oauth/forms.py:38 msgid "" @@ -1022,7 +1023,7 @@ msgstr "" #: mediagoblin/plugins/oauth/forms.py:40 msgid "Type" -msgstr "" +msgstr "Type" #: mediagoblin/plugins/oauth/forms.py:45 msgid "" @@ -1036,7 +1037,7 @@ msgstr "" #: mediagoblin/plugins/oauth/forms.py:52 msgid "Redirect URI" -msgstr "" +msgstr "Redirect URI" #: mediagoblin/plugins/oauth/forms.py:54 msgid "" @@ -1046,82 +1047,82 @@ msgstr "" #: mediagoblin/plugins/oauth/forms.py:66 msgid "This field is required for public clients" -msgstr "" +msgstr "Dit is een verplicht veld voor openbare clients" #: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" -msgstr "" +msgstr "De client {0} is geregistereerd!" #: mediagoblin/plugins/oauth/templates/oauth/client/connections.html:22 msgid "OAuth client connections" -msgstr "" +msgstr "OAuth client verbindingen" #: mediagoblin/plugins/oauth/templates/oauth/client/list.html:22 msgid "Your OAuth clients" -msgstr "" +msgstr "Je OAuth clients" #: mediagoblin/plugins/openid/__init__.py:97 #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 msgid "Sorry, an account is already registered to that OpenID." -msgstr "" +msgstr "Sorry, er is al een account geregistreerd met die OpenID" #: mediagoblin/plugins/openid/forms.py:38 msgid "OpenID" -msgstr "" +msgstr "OpenID" #: mediagoblin/plugins/openid/views.py:48 msgid "Sorry, the OpenID server could not be found" -msgstr "" +msgstr "Sorry, de OpenID server kon niet worden gevonden" #: mediagoblin/plugins/openid/views.py:61 #, python-format msgid "No OpenID service was found for %s" -msgstr "" +msgstr "Geen OpenID service gevonden voor %s" #: mediagoblin/plugins/openid/views.py:106 #, python-format msgid "Verification of %s failed: %s" -msgstr "" +msgstr "Verificatie van %s mislukt\"%s" #: mediagoblin/plugins/openid/views.py:117 msgid "Verification cancelled" -msgstr "" +msgstr "Verificatie geannuleerd" #: mediagoblin/plugins/openid/views.py:314 msgid "Your OpenID url was saved successfully." -msgstr "" +msgstr "Je OpenID URL is succesvol bewaard." #: mediagoblin/plugins/openid/views.py:338 #: mediagoblin/plugins/openid/views.py:393 msgid "You can't delete your only OpenID URL unless you have a password set" -msgstr "" +msgstr "Je kunt je OpenID URL alleen verwijderen als je een wachtwoord hebt ingesteld." #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 msgid "That OpenID is not registered to this account." -msgstr "" +msgstr "Die OpenID is niet geregistreerd voor dit account." #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "" +msgstr "OpenID succesvol verwijderd." #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:23 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:31 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:34 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:23 msgid "Add an OpenID" -msgstr "" +msgstr "OpenID toevoegen" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/add.html:34 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:23 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:31 msgid "Delete an OpenID" -msgstr "" +msgstr "OpenID verwijderen" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" -msgstr "" +msgstr "OpenID's" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 @@ -1140,66 +1141,66 @@ msgstr "Inloggen is mislukt!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "Log in om een account te maken!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "Of login met een wachtwoord!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "" +msgstr "Of login met OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" -msgstr "" +msgstr "Of registreer met een OpenID!" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "" +msgstr "Sorry, er is al een account geregistreerd met dat Persona e-mailadres." #: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." -msgstr "" +msgstr "Het Persona e-mailadres is succesvol verwijderd." #: mediagoblin/plugins/persona/views.py:144 msgid "" "You can't delete your only Persona email address unless you have a password " "set." -msgstr "" +msgstr "Je kunt je Persona e-mailadres alleen verwijderen als je een wachtwoord hebt ingesteld." #: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." -msgstr "" +msgstr "Dat Persona e-mailadres is niet geregistreerd voor dit account." #: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." -msgstr "" +msgstr "Sorry, er is al een account geregistreerd met dat Persona e-mailadrers." #: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." -msgstr "" +msgstr "Je Persona e-mailadres is succesvol bewaard." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 msgid "Delete a Persona email address" -msgstr "" +msgstr "Verwijder een Persona e-mailadres" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 msgid "Add a Persona email address" -msgstr "" +msgstr "Voeg een Persona e-mailadres toe" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:21 msgid "Persona's" -msgstr "" +msgstr "Persona's" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" -msgstr "" +msgstr "Of login met Persona!" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 msgid "Or register with Persona!" -msgstr "" +msgstr "Of registreer mer Persona!" #: mediagoblin/processing/__init__.py:420 msgid "Invalid file given for media type." @@ -1207,7 +1208,7 @@ msgstr "Verkeerd bestandsformaat voor mediatype opgegeven." #: mediagoblin/processing/__init__.py:427 msgid "Copying to public storage failed." -msgstr "" +msgstr "Kopiëren naar openbare opslag mislukt." #: mediagoblin/processing/__init__.py:435 msgid "An acceptable processing file was not found" @@ -1215,7 +1216,7 @@ msgstr "" #: mediagoblin/submit/forms.py:30 msgid "Max file size: {0} mb" -msgstr "" +msgstr "Max bestandsgrootte: {0} mb" #: mediagoblin/submit/forms.py:34 msgid "File" @@ -1226,20 +1227,20 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Je kunt\n \n Markdown gebruiken voor opmaak." #: mediagoblin/submit/views.py:55 msgid "You must provide a file." -msgstr "U moet een bestand aangeven." +msgstr "Je moet een bestand opgeven." #: mediagoblin/submit/views.py:138 #, python-format msgid "Collection \"%s\" added!" -msgstr "" +msgstr "Verzameling \"%s\" toegevoegd!" #: mediagoblin/templates/mediagoblin/banned.html:20 msgid "You are Banned." -msgstr "" +msgstr "Je bent geblokkeerd." #: mediagoblin/templates/mediagoblin/banned.html:24 #: mediagoblin/templates/mediagoblin/error.html:24 @@ -1248,12 +1249,12 @@ msgstr "" #: mediagoblin/templates/mediagoblin/banned.html:26 msgid "You have been banned" -msgstr "" +msgstr "Je bent geblokkeerd" #: mediagoblin/templates/mediagoblin/banned.html:28 #, python-format msgid "until %(until_when)s" -msgstr "" +msgstr "tot %(until_when)s" #: mediagoblin/templates/mediagoblin/base.html:97 msgid "Verify your email!" @@ -1262,12 +1263,12 @@ msgstr "Verifieer je e-mailadres!" #: mediagoblin/templates/mediagoblin/base.html:104 #: mediagoblin/templates/mediagoblin/base.html:112 msgid "log out" -msgstr "" +msgstr "uitloggen" #: mediagoblin/templates/mediagoblin/base.html:131 #, python-format msgid "%(user_name)s's account" -msgstr "" +msgstr "%(user_name)s's account" #: mediagoblin/templates/mediagoblin/base.html:138 msgid "Change account settings" @@ -1284,7 +1285,7 @@ msgstr "Mediaverwerkingspaneel" #: mediagoblin/templates/mediagoblin/base.html:152 msgid "Log out" -msgstr "" +msgstr "Afmelden" #: mediagoblin/templates/mediagoblin/base.html:155 #: mediagoblin/templates/mediagoblin/user_pages/user.html:113 @@ -1294,72 +1295,72 @@ msgstr "Voeg media toe" #: mediagoblin/templates/mediagoblin/base.html:158 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" -msgstr "" +msgstr "Creëer een nieuwe verzameling" #: mediagoblin/templates/mediagoblin/base.html:163 msgid "Moderation powers:" -msgstr "" +msgstr "Moderator mogelijkheden:" #: mediagoblin/templates/mediagoblin/base.html:169 msgid "User management panel" -msgstr "" +msgstr "Gebruikersbeheer panel" #: mediagoblin/templates/mediagoblin/base.html:173 msgid "Report management panel" -msgstr "" +msgstr "Meldingenbeheer panel" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" -msgstr "" +msgstr "Autorisatie" #: mediagoblin/templates/mediagoblin/api/authorize.html:26 #: mediagoblin/templates/mediagoblin/api/authorize.html:53 msgid "Authorize" -msgstr "" +msgstr "Autoriseer" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "" +msgstr "Je bent ingelogd als" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " -msgstr "" +msgstr "Sta je toegang toe" #: mediagoblin/templates/mediagoblin/api/authorize.html:37 msgid "an unknown application" -msgstr "" +msgstr "voor een onbekende app" #: mediagoblin/templates/mediagoblin/api/authorize.html:39 msgid " to access your account? " -msgstr "" +msgstr "om je account te gebruiken?" #: mediagoblin/templates/mediagoblin/api/authorize.html:41 msgid "Applications with access to your account can: " -msgstr "" +msgstr "Apps met toegang tot jouw account kunnen:" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" -msgstr "" +msgstr "Nieuwe media namens jou plaatsen" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, media, etc...)" -msgstr "" +msgstr "Je informatie zien (bv. profiel, media etc.)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" -msgstr "" +msgstr "Je informatie wijzigen" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "" +msgstr "Autorisatie gereed" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "" +msgstr "Autorisatie compleet" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "" +msgstr "Kopieer en plak dit in je client:" #: mediagoblin/templates/mediagoblin/auth/register.html:28 #: mediagoblin/templates/mediagoblin/auth/register.html:36 @@ -1379,14 +1380,14 @@ msgid "" "your web browser:\n" "\n" "%(verification_url)s" -msgstr "Hallo %(username)s , open de volgende URL in uw webbrowser om uw GNU MediaGoblin account te activeren: %(verification_url)s " +msgstr "Hallo %(username)s , open de volgende URL in je webbrowser om je GNU MediaGoblin account te activeren: %(verification_url)s " #: mediagoblin/templates/mediagoblin/bits/base_footer.html:21 #, python-format msgid "" "Powered by MediaGoblin, a GNU project." -msgstr "" +msgstr "Powered by MediaGoblin, een GNU project." #: mediagoblin/templates/mediagoblin/bits/base_footer.html:24 #, python-format @@ -1398,7 +1399,7 @@ msgstr "Uitgegeven onder de MediaGoblin, msgid "" "To add your own media, place comments, and more, you can log in with your " "MediaGoblin account." -msgstr "" +msgstr "Om je eigen media toe te voegen, te reageren en meer, kun je inloggen met je MediaGoblin account." #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:29 msgid "Don't have one yet? It's easy!" @@ -1429,13 +1430,13 @@ msgid "" "\n" " >Create an account at this site\n" " or" -msgstr "" +msgstr "\n >Creëer een account op deze site\n of" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:42 msgid "" "\n" " Set up MediaGoblin on your own server" -msgstr "" +msgstr "\n Installeer MediaGoblin op je eigen server" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -1446,18 +1447,18 @@ msgstr "MediaGoblin logo" #: mediagoblin/templates/mediagoblin/edit/attachments.html:35 #, python-format msgid "Editing attachments for %(media_title)s" -msgstr "" +msgstr "Aanpassen bijlagen voor %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 #: mediagoblin/templates/mediagoblin/user_pages/media.html:204 #: mediagoblin/templates/mediagoblin/user_pages/media.html:220 msgid "Attachments" -msgstr "" +msgstr "Bijlagen" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media.html:226 msgid "Add attachment" -msgstr "" +msgstr "Voeg een bijlage toe" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 @@ -1471,16 +1472,16 @@ msgstr "Wijzigingen opslaan" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "" +msgstr "Wijzigen %(username)s's e-mailadres" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" -msgstr "" +msgstr "Echt gebruiker '%(user_name)s' en alle gerelateerde media/reacties verwijderen?" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:35 msgid "Yes, really delete my account" -msgstr "" +msgstr "Ja, verwijder mijn account" #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 @@ -1496,16 +1497,16 @@ msgstr "%(username)ss accountinstellingen aanpassen" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:54 msgid "Delete my account" -msgstr "" +msgstr "Verwijder mijn account" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:59 msgid "Email" -msgstr "" +msgstr "E-mailadres" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" -msgstr "" +msgstr "Bewerken %(collection_title)s" #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:34 @@ -1516,23 +1517,23 @@ msgstr "Het profiel aanpassen van %(username)s" #: mediagoblin/templates/mediagoblin/edit/metadata.html:67 #, python-format msgid "Metadata for \"%(media_name)s\"" -msgstr "" +msgstr "Metadata voor \"%(media_name)s\"" #: mediagoblin/templates/mediagoblin/edit/metadata.html:72 msgid "MetaData" -msgstr "" +msgstr "MetaData" #: mediagoblin/templates/mediagoblin/edit/metadata.html:80 msgid "Add new Row" -msgstr "" +msgstr "Voeg nieuwe rij toe" #: mediagoblin/templates/mediagoblin/edit/metadata.html:83 msgid "Update Metadata" -msgstr "" +msgstr "Metadata bijwerken" #: mediagoblin/templates/mediagoblin/edit/metadata.html:87 msgid "Clear empty Rows" -msgstr "" +msgstr "Lege rijen opschonen" #: mediagoblin/templates/mediagoblin/edit/verification.txt:19 #, python-format @@ -1546,11 +1547,11 @@ msgid "" "\n" "If you are not %(username)s or didn't request an email change, you can ignore\n" "this email." -msgstr "" +msgstr "Hallo,\n\nWe willen verifiëren dat jij %(username)s bent. Als dat zo is, dan \nkun je de onderstaande link volgens om je e-mailadres te verifiëren.\n\n%(verification_url)s\n\nAls je niet %(username)s bent, of geen e-mailadreswijziging aanvroeg, dan kun je dit bericht negeren." #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" -msgstr "" +msgstr "Nieuwe reacties" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 @@ -1563,11 +1564,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/report.html:48 #, python-format msgid "%(formatted_time)s ago" -msgstr "" +msgstr "%(formatted_time)s geleden" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 msgid "Mark all read" -msgstr "" +msgstr "Alles markeren als gelezen" #: mediagoblin/templates/mediagoblin/listings/collection.html:30 #: mediagoblin/templates/mediagoblin/listings/collection.html:35 @@ -1582,7 +1583,7 @@ msgstr "Media met het label: %(tag_name)s" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:74 msgid "Download" -msgstr "" +msgstr "Download" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 msgid "Original" @@ -1593,28 +1594,28 @@ msgid "" "Sorry, this audio will not work because \n" "\tyour web browser does not support HTML5 \n" "\taudio." -msgstr "Sorry, dit geluidsfragment zal niet werken omdat\n»uw web-browser geen HTML5 ondersteunt⏎\n»audio." +msgstr "Sorry, dit geluidsfragment zal niet werken omdat \n\tje webbrowser geen HTML5 audio\n\tondersteunt." #: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 msgid "" "You can get a modern web browser that \n" "\tcan play the audio at \n" "\t http://getfirefox.com!" -msgstr "U kunt een moderne web-browser die \n\taudio kan afspelen vinden op \n\t http://getfirefox.com!" +msgstr "Je kunt een moderne web-browser die \n\taudio kan afspelen vinden op \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:80 msgid "Original file" -msgstr "" +msgstr "Origineel bestand" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 msgid "WebM file (Vorbis codec)" -msgstr "" +msgstr "WebM bestand (Vorbis codec)" #: mediagoblin/templates/mediagoblin/media_displays/image.html:36 msgid "Created" -msgstr "" +msgstr "Aangemaakt" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:90 @@ -1631,62 +1632,62 @@ msgstr "Afbeelding voor %(media_title)s" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" -msgstr "" +msgstr "PDF bestand" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 msgid "Perspective" -msgstr "" +msgstr "Perspectief" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:119 msgid "Front" -msgstr "" +msgstr "Voorkant" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:122 msgid "Top" -msgstr "" +msgstr "Bovenkant" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" -msgstr "" +msgstr "Zijkant" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 msgid "WebGL" -msgstr "" +msgstr "WebGL" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 msgid "Download model" -msgstr "" +msgstr "Download model" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:145 msgid "File Format" -msgstr "" +msgstr "Bestandsformaat" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:147 msgid "Object Height" -msgstr "" +msgstr "Object hoogte" #: mediagoblin/templates/mediagoblin/media_displays/video.html:63 msgid "" "Sorry, this video will not work because\n" " your web browser does not support HTML5 \n" " video." -msgstr "" +msgstr "Sorry, deze video werkt niet omdat\nje webbrowser geen HTML5 video ondersteunt." #: mediagoblin/templates/mediagoblin/media_displays/video.html:66 msgid "" "You can get a modern web browser that \n" " can play this video at \n" " http://getfirefox.com!" -msgstr "" +msgstr "Je kunt een moderne webbrowser die\ndeze video af kan spelen krijgen op\nhttp://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:88 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "WebM bestand (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:30 msgid "" "Here you can track the state of media being processed on this instance." -msgstr "" +msgstr "Hier kun je de status zien van de media die verwerkt worden op deze Goblin." #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:33 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 @@ -1698,26 +1699,26 @@ msgstr "Media te verwerken" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:98 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:75 msgid "ID" -msgstr "" +msgstr "ID" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:39 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:68 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:99 msgid "User" -msgstr "" +msgstr "Gebruiker" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:41 #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:70 msgid "When submitted" -msgstr "" +msgstr "Wanneer toegevoegd" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:42 msgid "Transcoding progress" -msgstr "" +msgstr "Transcoderen voortgang" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:53 msgid "Unknown" -msgstr "" +msgstr "Onbekend" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 @@ -1731,46 +1732,46 @@ msgstr "Deze toevoegingen konden niet verwerkt worden:" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:71 msgid "Reason for failure" -msgstr "" +msgstr "Reden voor mislukken" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:72 msgid "Failure metadata" -msgstr "" +msgstr "Mislukken metadata" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:91 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" -msgstr "" +msgstr "Geen fouten!" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:93 msgid "Last 10 successful uploads" -msgstr "" +msgstr "Laatste 10 geslaagde uploads" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:101 msgid "Submitted" -msgstr "" +msgstr "Aangemeld" #: mediagoblin/templates/mediagoblin/moderation/media_panel.html:113 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 msgid "No processed entries, yet!" -msgstr "" +msgstr "Niets verwerkt, nog niet!" #: mediagoblin/templates/mediagoblin/moderation/report.html:27 msgid "Sorry, no such report found." -msgstr "" +msgstr "Sorry, geen melding gevonden." #: mediagoblin/templates/mediagoblin/moderation/report.html:33 msgid "Return to Reports Panel" -msgstr "" +msgstr "Terug naar Meldingenpanel" #: mediagoblin/templates/mediagoblin/moderation/report.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media.html:162 msgid "Report" -msgstr "" +msgstr "Melden" #: mediagoblin/templates/mediagoblin/moderation/report.html:38 msgid "Reported comment" -msgstr "" +msgstr "Gemelde reactie" #: mediagoblin/templates/mediagoblin/moderation/report.html:83 #, python-format @@ -1778,7 +1779,7 @@ msgid "" "\n" " ❖ Reported media by %(user_name)s\n" " " -msgstr "" +msgstr "\n ❖ Gemelde media door %(user_name)s\n " #: mediagoblin/templates/mediagoblin/moderation/report.html:92 #, python-format @@ -1788,68 +1789,68 @@ msgid "" " %(user_name)s\n" " HAS BEEN DELETED\n" " " -msgstr "" +msgstr "\n INHOUD VAN\n %(user_name)s\n IS VERWIJDERD\n " #: mediagoblin/templates/mediagoblin/moderation/report.html:102 msgid "Reason for report:" -msgstr "" +msgstr "Reden voor melding:" #: mediagoblin/templates/mediagoblin/moderation/report.html:133 #: mediagoblin/templates/mediagoblin/moderation/user.html:136 msgid "Resolve" -msgstr "" +msgstr "Oplossen" #: mediagoblin/templates/mediagoblin/moderation/report.html:137 #: mediagoblin/templates/mediagoblin/moderation/report.html:157 msgid "Resolve This Report" -msgstr "" +msgstr "Los deze melding op" #: mediagoblin/templates/mediagoblin/moderation/report.html:149 msgid "Status" -msgstr "" +msgstr "Status" #: mediagoblin/templates/mediagoblin/moderation/report.html:151 msgid "RESOLVED" -msgstr "" +msgstr "OPGELOST" #: mediagoblin/templates/mediagoblin/moderation/report.html:159 msgid "You cannot take action against an administrator" -msgstr "" +msgstr "Je kunt geen actie nemen tegenover een beheerder" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:22 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:27 msgid "Report panel" -msgstr "" +msgstr "Meldingenpanel" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:30 msgid "" "\n" " Here you can look up open reports that have been filed by users.\n" " " -msgstr "" +msgstr "\n Hier kun je de door gebruikers ingestuurde open meldingen zien.\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:35 msgid "Active Reports Filed" -msgstr "" +msgstr "Actieve ingestuurde meldingen" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:77 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:173 msgid "Offender" -msgstr "" +msgstr "Overtreder" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:78 msgid "When Reported" -msgstr "" +msgstr "Wanneer gemeld" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:79 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:175 msgid "Reported By" -msgstr "" +msgstr "Gemeld door" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:80 #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:176 msgid "Reason" -msgstr "" +msgstr "Reden" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:95 #, python-format @@ -1857,7 +1858,7 @@ msgid "" "\n" " Comment Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Gemelde Reactie #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:111 #, python-format @@ -1865,23 +1866,23 @@ msgid "" "\n" " Media Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Gemelde Media #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:125 msgid "No open reports found." -msgstr "" +msgstr "Geen open meldingen gevonden." #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:127 msgid "Closed Reports" -msgstr "" +msgstr "Afgesloten meldingen" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:172 msgid "Resolved" -msgstr "" +msgstr "Opgelost" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:174 msgid "Action Taken" -msgstr "" +msgstr "Actie" #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:188 #, python-format @@ -1889,36 +1890,36 @@ msgid "" "\n" " Closed Report #%(report_id)s\n" " " -msgstr "" +msgstr "\n Afgesloten melding #%(report_id)s\n " #: mediagoblin/templates/mediagoblin/moderation/report_panel.html:202 msgid "No closed reports found." -msgstr "" +msgstr "Geen afgesloten meldingen gevonden." #: mediagoblin/templates/mediagoblin/moderation/user.html:23 #, python-format msgid "User: %(username)s" -msgstr "" +msgstr "Gebruiker: %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:42 msgid "Return to Users Panel" -msgstr "" +msgstr "Terug naar gebruikerspanel" #: mediagoblin/templates/mediagoblin/moderation/user.html:49 msgid "Sorry, no such user found." -msgstr "" +msgstr "Sorry, die gebruiker kon niet worden gevonden." #: mediagoblin/templates/mediagoblin/moderation/user.html:53 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:40 #: mediagoblin/templates/mediagoblin/user_pages/user_nonactive.html:60 msgid "Email verification needed" -msgstr "Emailverificatie is nodig" +msgstr "E-mailverificatie is nodig" #: mediagoblin/templates/mediagoblin/moderation/user.html:55 msgid "" "Someone has registered an account with this username, but it still has\n" " to be activated." -msgstr "" +msgstr "Iemand heeft een account met deze gebruikersnaam gemaakt, maar die moet nog geactiveerd worden." #: mediagoblin/templates/mediagoblin/moderation/user.html:66 #: mediagoblin/templates/mediagoblin/user_pages/user.html:34 @@ -1931,11 +1932,11 @@ msgstr "Profiel van %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:68 #, python-format msgid "BANNED until %(expiration_date)s" -msgstr "" +msgstr "GEBLOKKEERD tot %(expiration_date)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:72 msgid "Banned Indefinitely" -msgstr "" +msgstr "Geblokkeerd voor onbepaalde tijd" #: mediagoblin/templates/mediagoblin/moderation/user.html:78 #: mediagoblin/templates/mediagoblin/user_pages/user.html:62 @@ -1951,113 +1952,113 @@ msgstr "Profiel aanpassen." #: mediagoblin/templates/mediagoblin/moderation/user.html:96 #: mediagoblin/templates/mediagoblin/user_pages/user.html:81 msgid "Browse collections" -msgstr "" +msgstr "Blader door verzamelingen" #: mediagoblin/templates/mediagoblin/moderation/user.html:105 #, python-format msgid "Active Reports on %(username)s" -msgstr "" +msgstr "Actieve meldingen voor %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:112 msgid "Report ID" -msgstr "" +msgstr "Melding ID" #: mediagoblin/templates/mediagoblin/moderation/user.html:113 msgid "Reported Content" -msgstr "" +msgstr "Gemelde inhoud" #: mediagoblin/templates/mediagoblin/moderation/user.html:114 msgid "Description of Report" -msgstr "" +msgstr "Beschrijving van melding" #: mediagoblin/templates/mediagoblin/moderation/user.html:122 #, python-format msgid "Report #%(report_number)s" -msgstr "" +msgstr "Melding #%(report_number)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:129 msgid "Reported Comment" -msgstr "" +msgstr "Gemelde reactie" #: mediagoblin/templates/mediagoblin/moderation/user.html:131 msgid "Reported Media Entry" -msgstr "" +msgstr "Gemelde media" #: mediagoblin/templates/mediagoblin/moderation/user.html:142 #, python-format msgid "No active reports filed on %(username)s" -msgstr "" +msgstr "Geen actieve meldingen gedaan voor %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:150 #, python-format msgid "All reports on %(username)s" -msgstr "" +msgstr "Alle meldingen voor %(username)s" #: mediagoblin/templates/mediagoblin/moderation/user.html:155 #, python-format msgid "All reports that %(username)s has filed" -msgstr "" +msgstr "Alle meldingen die %(username)s heeft ingestuurd" #: mediagoblin/templates/mediagoblin/moderation/user.html:164 #, python-format msgid "%(username)s's Privileges" -msgstr "" +msgstr "%(username)s's rechten" #: mediagoblin/templates/mediagoblin/moderation/user.html:172 msgid "Privilege" -msgstr "" +msgstr "Recht" #: mediagoblin/templates/mediagoblin/moderation/user.html:173 msgid "Granted" -msgstr "" +msgstr "Toegekend" #: mediagoblin/templates/mediagoblin/moderation/user.html:180 msgid "Yes" -msgstr "" +msgstr "Ja" #: mediagoblin/templates/mediagoblin/moderation/user.html:182 msgid "No" -msgstr "" +msgstr "Nee" #: mediagoblin/templates/mediagoblin/moderation/user.html:213 msgid "Ban User" -msgstr "" +msgstr "Blokkeer gebruiker" #: mediagoblin/templates/mediagoblin/moderation/user.html:218 msgid "UnBan User" -msgstr "" +msgstr "Deblokkeer gebruiker" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:21 #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:26 msgid "User panel" -msgstr "" +msgstr "Gebruikerspanel" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:29 msgid "" "\n" " Here you can look up users in order to take punitive actions on them.\n" " " -msgstr "" +msgstr "\n Hier kun je je gebruikers opzoeken om eventueel acties te ondernemen.\n " #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:34 msgid "Active Users" -msgstr "" +msgstr "Actieve gebruikers" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:77 msgid "When Joined" -msgstr "" +msgstr "Wanneer aangemeld" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:78 msgid "# of Comments Posted" -msgstr "" +msgstr "# geplaatste reacties" #: mediagoblin/templates/mediagoblin/moderation/user_panel.html:95 msgid "No users found." -msgstr "" +msgstr "Geen gebruikers gevonden." #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" -msgstr "" +msgstr "Voeg een collectie toe" #: mediagoblin/templates/mediagoblin/submit/start.html:28 #: mediagoblin/templates/mediagoblin/submit/start.html:35 @@ -2067,7 +2068,7 @@ msgstr "Voeg media toe" #: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:38 #, python-format msgid "❖ Blog post by %(username)s" -msgstr "" +msgstr "❖ Blogbericht door %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:92 #: mediagoblin/templates/mediagoblin/user_pages/media.html:104 @@ -2082,58 +2083,58 @@ msgstr "Voeg dit bericht toe" #: mediagoblin/templates/mediagoblin/user_pages/blog_media.html:149 #: mediagoblin/templates/mediagoblin/user_pages/media.html:179 msgid "Added" -msgstr "" +msgstr "Toegevoegd" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #, python-format msgid "%(collection_title)s (%(username)s's collection)" -msgstr "" +msgstr "%(collection_title)s (%(username)s's collectie)" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 #, python-format msgid "%(collection_title)s by %(username)s" -msgstr "" +msgstr "%(collection_title)s van %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:23 #, python-format msgid "Delete collection %(collection_title)s" -msgstr "" +msgstr "Verwijder collectie %(collection_title)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:38 #, python-format msgid "Really delete collection: %(title)s?" -msgstr "" +msgstr "Collectie %(title)s echt verwijderen?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:23 #, python-format msgid "Remove %(media_title)s from %(collection_title)s" -msgstr "" +msgstr "Verwijder %(media_title)s uit %(collection_title)s" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:39 #, python-format msgid "Really remove %(media_title)s from %(collection_title)s?" -msgstr "" +msgstr "Echt %(media_title)s verwijderen uit %(collection_title)s?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:62 msgid "Remove" -msgstr "" +msgstr "Verwijderen" #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:21 #, python-format msgid "%(username)s's collections" -msgstr "" +msgstr "%(username)s's verzamelingen" #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:28 #, python-format msgid "%(username)s's collections" -msgstr "" +msgstr "%(username)s's verzamelingen" #: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 #, python-format msgid "" "Hi %(username)s,\n" "%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n" -msgstr "" +msgstr "Hallo %(username)s,\n%(comment_author)s reageerden op je bericht (%(comment_url)s) op %(instance_name)s\n" #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 #, python-format @@ -2145,7 +2146,7 @@ msgstr "Media van %(username)s" msgid "" "%(username)s's media with tag %(tag)s" -msgstr "" +msgstr "%(username)s's media met tag %(tag)s" #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 #, python-format @@ -2159,21 +2160,21 @@ msgstr "❖ Blader door media van %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/media.html:119 msgid "Comment Preview" -msgstr "" +msgstr "Voorbeeldreactie" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format msgid "Add “%(media_title)s” to a collection" -msgstr "" +msgstr "Voeg “%(media_title)s” toe aan collectie" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:54 msgid "+" -msgstr "" +msgstr "+" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:58 msgid "Add a new collection" -msgstr "" +msgstr "Voeg een nieuwe collectie toe" #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 msgid "" @@ -2182,19 +2183,19 @@ msgstr "Hier kun je de status zien van de media die verwerkt worden." #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 msgid "Your last 10 successful uploads" -msgstr "" +msgstr "Je 10 laatste geslaagde uploads" #: mediagoblin/templates/mediagoblin/user_pages/report.html:21 msgid "

File a Report

" -msgstr "" +msgstr "

Stuur een melding in

" #: mediagoblin/templates/mediagoblin/user_pages/report.html:24 msgid "Reporting this Comment" -msgstr "" +msgstr "Deze reactie wordt gemeld" #: mediagoblin/templates/mediagoblin/user_pages/report.html:60 msgid "Reporting this Media Entry" -msgstr "" +msgstr "Dit mediabestand wordt gemeld" #: mediagoblin/templates/mediagoblin/user_pages/report.html:72 #, python-format @@ -2203,11 +2204,11 @@ msgid "" " ❖ Published by %(username)s\n" " " -msgstr "" +msgstr "\n ❖ gepubliceerd door %(username)s\n " #: mediagoblin/templates/mediagoblin/user_pages/report.html:81 msgid "File Report " -msgstr "" +msgstr "Bestandsmelding" #: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Here's a spot to tell others about yourself." @@ -2258,32 +2259,32 @@ msgstr "Iemand heeft een account met deze gebruikersnaam gemaakt, maar hij moet msgid "" "If you are that person but you've lost your verification email, you can log in and resend it." -msgstr "Als u die persoon bent, maar de verificatie e-mail verloren hebt, kunt u inloggen en hem nogmaals verzenden." +msgstr "Als jij die persoon bent, maar de verificatie e-mail verloren hebt, kunt je inloggen en het nogmaals verzenden." #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr "(verwijdered)" #: mediagoblin/templates/mediagoblin/utils/collections.html:21 msgid "Collected in" -msgstr "" +msgstr "Opgenomen in" #: mediagoblin/templates/mediagoblin/utils/collections.html:40 msgid "Add to a collection" -msgstr "" +msgstr "Voeg toe aan collectie" #: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:24 msgid "Subscribe to comments" -msgstr "" +msgstr "Abonneer op reacties" #: mediagoblin/templates/mediagoblin/utils/comment-subscription.html:30 msgid "Silence comments" -msgstr "" +msgstr "Onderdruk reacties" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:21 msgid "feed icon" -msgstr "feed icoon" +msgstr "feed pictogram" #: mediagoblin/templates/mediagoblin/utils/feed_link.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/utils/feed_link.html:23 @@ -2318,7 +2319,7 @@ msgstr "ouder" #: mediagoblin/templates/mediagoblin/utils/report.html:25 msgid "Report media" -msgstr "" +msgstr "Meld media" #: mediagoblin/templates/mediagoblin/utils/tags.html:20 msgid "Tagged with" @@ -2334,19 +2335,19 @@ msgstr "Oeps!" #: mediagoblin/tools/response.py:39 msgid "An error occured" -msgstr "" +msgstr "Er trad een fout op" #: mediagoblin/tools/response.py:53 msgid "Bad Request" -msgstr "" +msgstr "Verkeerde aanvraag" #: mediagoblin/tools/response.py:55 msgid "The request sent to the server is invalid, please double check it" -msgstr "" +msgstr "De aanvraag aan de server is ongeldig, controleer opnieuw" #: mediagoblin/tools/response.py:63 msgid "Operation not allowed" -msgstr "" +msgstr "Actie niet toegestaan" #: mediagoblin/tools/response.py:64 msgid "" @@ -2364,68 +2365,68 @@ msgstr "" #: mediagoblin/tools/timesince.py:62 msgid "year" -msgstr "" +msgstr "jaar" #: mediagoblin/tools/timesince.py:63 msgid "month" -msgstr "" +msgstr "maand" #: mediagoblin/tools/timesince.py:64 msgid "week" -msgstr "" +msgstr "week" #: mediagoblin/tools/timesince.py:65 msgid "day" -msgstr "" +msgstr "dag" #: mediagoblin/tools/timesince.py:66 msgid "hour" -msgstr "" +msgstr "uur" #: mediagoblin/tools/timesince.py:67 msgid "minute" -msgstr "" +msgstr "minuut" #: mediagoblin/user_pages/forms.py:23 msgid "Comment" -msgstr "" +msgstr "Reactie" #: mediagoblin/user_pages/forms.py:25 msgid "" "You can use Markdown for formatting." -msgstr "" +msgstr "Je kunt Markdown gebruiken voor opmaak." #: mediagoblin/user_pages/forms.py:35 msgid "I am sure I want to remove this item from the collection" -msgstr "" +msgstr "Ik weet zeker dat ik dit uit de verzameling wil verwijderen." #: mediagoblin/user_pages/forms.py:39 msgid "Collection" -msgstr "" +msgstr "Verzameling" #: mediagoblin/user_pages/forms.py:40 msgid "-- Select --" -msgstr "" +msgstr "-- Selecteer --" #: mediagoblin/user_pages/forms.py:42 msgid "Include a note" -msgstr "" +msgstr "Voeg een notitie toe" #: mediagoblin/user_pages/forms.py:49 msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Je kunt\n \n Markdown gebruiken voor opmaak." #: mediagoblin/user_pages/forms.py:55 mediagoblin/user_pages/forms.py:61 msgid "Reason for Reporting" -msgstr "" +msgstr "Aanleiding voor melding" #: mediagoblin/user_pages/views.py:188 msgid "Sorry, comments are disabled." -msgstr "" +msgstr "Sorry, reageren is uitgeschakeld." #: mediagoblin/user_pages/views.py:193 msgid "Oops, your comment was empty." @@ -2437,21 +2438,21 @@ msgstr "Je bericht is geplaatst!" #: mediagoblin/user_pages/views.py:235 msgid "Please check your entries and try again." -msgstr "" +msgstr "Controleer de nummer en probeer het opnieuw." #: mediagoblin/user_pages/views.py:275 msgid "You have to select or add a collection" -msgstr "" +msgstr "Je moet een collectie selecteren of aanmaken" #: mediagoblin/user_pages/views.py:286 #, python-format msgid "\"%s\" already in collection \"%s\"" -msgstr "" +msgstr "\"%s\" zit al in collectie \"%s\"" #: mediagoblin/user_pages/views.py:292 #, python-format msgid "\"%s\" added to collection \"%s\"" -msgstr "" +msgstr "\"%s\" toegevoegd aan collectie \"%s\"" #: mediagoblin/user_pages/views.py:317 msgid "You deleted the media." @@ -2463,29 +2464,29 @@ msgstr "Je staat op het punt de media van iemand anders te verwijderen. Pas op." #: mediagoblin/user_pages/views.py:409 msgid "You deleted the item from the collection." -msgstr "" +msgstr "Je hebt het nummer uit de collectie verwijderd." #: mediagoblin/user_pages/views.py:413 msgid "The item was not removed because you didn't check that you were sure." -msgstr "" +msgstr "Dit nummer is niet verwijderd omdat je niet hebt aangegeven dat je het zeker weet." #: mediagoblin/user_pages/views.py:421 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." -msgstr "" +msgstr "Je staat op het punt een nummer uit de collectie van iemand anders te verwijderen. Pas op." #: mediagoblin/user_pages/views.py:453 #, python-format msgid "You deleted the collection \"%s\"" -msgstr "" +msgstr "Je verwijderde collectie \"%s\"" #: mediagoblin/user_pages/views.py:460 msgid "" "The collection was not deleted because you didn't check that you were sure." -msgstr "" +msgstr "De collectie is niet verwijderd omdat je niet hebt aangegeven dat je het zeker weet." #: mediagoblin/user_pages/views.py:468 msgid "" "You are about to delete another user's collection. Proceed with caution." -msgstr "" +msgstr "Je staat op het punt om de collectie van iemand anders te verwijderen. Pas op." -- cgit v1.2.3 From 3db594557a644c6b5412b70d710138d2e2620754 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 25 Aug 2014 14:44:41 -0500 Subject: Committing extracted and compiled translations --- mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo | Bin 52489 -> 52472 bytes mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po | 8 ++++---- mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo | Bin 54231 -> 54187 bytes mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo | Bin 56728 -> 56801 bytes mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo | Bin 51522 -> 52424 bytes 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo index d3c83a26..ec94b753 100644 Binary files a/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/cs/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po index 55f5e77f..e47603b7 100644 --- a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2014-08-04 13:45-0500\n" +"POT-Creation-Date: 2014-08-25 14:44-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -193,7 +193,7 @@ msgstr "" #: mediagoblin/plugins/basic_auth/forms.py:43 #: mediagoblin/plugins/ldap/forms.py:39 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:64 -#: mediagoblin/tests/test_util.py:116 +#: mediagoblin/tests/test_util.py:143 msgid "Password" msgstr "" @@ -612,11 +612,11 @@ msgstr "" msgid "You will not receive notifications for comments on %s." msgstr "" -#: mediagoblin/oauth/views.py:242 +#: mediagoblin/oauth/views.py:241 msgid "Must provide an oauth_token." msgstr "" -#: mediagoblin/oauth/views.py:247 mediagoblin/oauth/views.py:298 +#: mediagoblin/oauth/views.py:246 mediagoblin/oauth/views.py:297 msgid "No request token found." msgstr "" diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo index 36158a48..00c8cfee 100644 Binary files a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo index d5675b70..3746f9fe 100644 Binary files a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo differ diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo index 9713d2d6..4d400e6e 100644 Binary files a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo and b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo differ -- cgit v1.2.3 From 5a9111063ffff465acec9e5e537e496322c37c2c Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 25 Aug 2014 15:31:55 -0500 Subject: At version 0.7.0, at last! --- mediagoblin/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/_version.py b/mediagoblin/_version.py index 9ff2a374..a0cf5ed3 100644 --- a/mediagoblin/_version.py +++ b/mediagoblin/_version.py @@ -23,4 +23,4 @@ # see http://www.python.org/dev/peps/pep-0386/ -__version__ = "0.6.2.dev" +__version__ = "0.7.0" -- cgit v1.2.3 From c7690151cc2e3ca4c955b98263a07d3769589f3d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Tue, 26 Aug 2014 12:31:29 -0500 Subject: Also add git submodule init to the release docs --- docs/source/siteadmin/relnotes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst index 6892e71e..a2a5645e 100644 --- a/docs/source/siteadmin/relnotes.rst +++ b/docs/source/siteadmin/relnotes.rst @@ -27,7 +27,7 @@ carefully, or at least skim over it. **Do this to upgrade** 1. Update to the latest release. If checked out from git, run: - ``git fetch && git checkout -q v0.7.0 && git submodule update`` + ``git fetch && git checkout -q v0.7.0 && git submodule init && git submodule update`` 2. Make sure to run ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` -- cgit v1.2.3 From fcee02a776c7ff0c5d2bbe1bf9c5c7d13a83710c Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 27 Aug 2014 12:26:23 -0500 Subject: Run the following to fix the missing git submodule init step --- docs/source/siteadmin/relnotes.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst index a2a5645e..26e001cc 100644 --- a/docs/source/siteadmin/relnotes.rst +++ b/docs/source/siteadmin/relnotes.rst @@ -31,6 +31,13 @@ carefully, or at least skim over it. 2. Make sure to run ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` +(NOTE: earlier versions of the 0.7.0 release instructions left out the +``git submodule init`` step! If you did an upgrade earlier based on +these instructions and your theme looks weirdly aligned, try running +the following:) + + ``git submodule init && git submodule update`` + That's it, probably! If you run into problems, don't hesitate to `contact us `_ (IRC is often best). -- cgit v1.2.3 From cb9f5570f9f8e1a5283f8ce4432d00a9cc01228e Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 27 Aug 2014 12:27:04 -0500 Subject: Correcting, host-meta not webfinger. --- docs/source/siteadmin/relnotes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst index 26e001cc..ff701b1f 100644 --- a/docs/source/siteadmin/relnotes.rst +++ b/docs/source/siteadmin/relnotes.rst @@ -94,7 +94,7 @@ That's it, probably! If you run into problems, don't hesitate to but existant!) RTL language support! **Known issues:** - - Webfinger is now json by default; in the spec it should be xml by + - The host-meta is now json by default; in the spec it should be xml by default. We have done this because of compatibility with the pump API. We are checking with upstream to see if there is a way to resolve this discrepancy. -- cgit v1.2.3 From f251d99828f30b31d8932f1046101ab332debf75 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 27 Aug 2014 13:28:51 -0500 Subject: now in the 0.7.1.dev cycle --- mediagoblin/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/_version.py b/mediagoblin/_version.py index a0cf5ed3..ed7dd40c 100644 --- a/mediagoblin/_version.py +++ b/mediagoblin/_version.py @@ -23,4 +23,4 @@ # see http://www.python.org/dev/peps/pep-0386/ -__version__ = "0.7.0" +__version__ = "0.7.1.dev" -- cgit v1.2.3 From 1b22d51a5dd3676d1b895d7093b93fa09c456f9c Mon Sep 17 00:00:00 2001 From: Jessica Tallon Date: Fri, 5 Sep 2014 16:00:06 +0100 Subject: Fixes navbar for sandyseventiesspeedboat --- extlib/sandyseventiesspeedboat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extlib/sandyseventiesspeedboat b/extlib/sandyseventiesspeedboat index 994294e5..8873d9b5 160000 --- a/extlib/sandyseventiesspeedboat +++ b/extlib/sandyseventiesspeedboat @@ -1 +1 @@ -Subproject commit 994294e59a5248e29af4418903ce4fb40bd67bec +Subproject commit 8873d9b559a4c5b3bb90997227d5455f8730fd48 -- cgit v1.2.3 From b29b4e175fc85bf680d5859f68b47d48e6ed478b Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sat, 6 Sep 2014 10:56:27 -0500 Subject: Handle cr2 files through the raw_image media type This commit sponsored by Jim Campbell. Hey, I know that guy! Thanks Jim! :) --- mediagoblin/media_types/raw_image/processing.py | 2 +- mediagoblin/media_types/video/processing.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/raw_image/processing.py b/mediagoblin/media_types/raw_image/processing.py index 83b01559..55a48b50 100644 --- a/mediagoblin/media_types/raw_image/processing.py +++ b/mediagoblin/media_types/raw_image/processing.py @@ -29,7 +29,7 @@ from mediagoblin.processing import ( _log = logging.getLogger(__name__) MEDIA_TYPE = 'mediagoblin.media_types.raw_image' -ACCEPTED_EXTENSIONS = ['nef',] +ACCEPTED_EXTENSIONS = ['nef', 'cr2'] # The entire function have to be copied diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index c21c74b3..a7716592 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -44,7 +44,7 @@ class VideoTranscodingFail(BaseProcessingFail): general_message = _(u'Video transcoding failed') -EXCLUDED_EXTS = ["nef"] +EXCLUDED_EXTS = ["nef", "cr2"] def sniff_handler(media_file, filename): name, ext = os.path.splitext(filename) -- cgit v1.2.3 From 478e4c9365cd2a6df1d7dc6b59c18c0a8289ca6c Mon Sep 17 00:00:00 2001 From: Low Kian Seong Date: Tue, 26 Aug 2014 07:06:01 +0800 Subject: Update setup.py A `description` is needed so that project is not listed as `UNKNOWN` on `pypi` --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index e2e84f2b..ee5656c4 100644 --- a/setup.py +++ b/setup.py @@ -115,6 +115,7 @@ try: url="http://mediagoblin.org/", download_url="http://mediagoblin.org/download/", long_description=open(READMEFILE).read(), + description='MediaGoblin is a place to store all your different media', classifiers=[ "Development Status :: 3 - Alpha", "Environment :: Web Environment", -- cgit v1.2.3 From a6570fae0303eec403034bbea61235c85cdb0654 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 7 Sep 2014 09:39:01 -0500 Subject: Slight tweak to the description wording --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index ee5656c4..468ea294 100644 --- a/setup.py +++ b/setup.py @@ -115,7 +115,7 @@ try: url="http://mediagoblin.org/", download_url="http://mediagoblin.org/download/", long_description=open(READMEFILE).read(), - description='MediaGoblin is a place to store all your different media', + description='MediaGoblin is a web application for publishing all kinds of media', classifiers=[ "Development Status :: 3 - Alpha", "Environment :: Web Environment", -- cgit v1.2.3 From 4f1a5148cb9b64f7086d047359f612a84f3d4c9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Odin=20H=C3=B8rthe=20Omdal?= Date: Sun, 7 Sep 2014 12:56:13 +0200 Subject: Add __repr__ for Collection and CollectionItem --- mediagoblin/db/models.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index b910e522..2ff30d22 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -20,7 +20,6 @@ TODO: indexes on foreignkeys, where useful. import logging import datetime -import base64 from sqlalchemy import Column, Integer, Unicode, UnicodeText, DateTime, \ Boolean, ForeignKey, UniqueConstraint, PrimaryKeyConstraint, \ @@ -727,6 +726,14 @@ class Collection(Base, CollectionMixin): return CollectionItem.query.filter_by( collection=self.id).order_by(order_col) + def __repr__(self): + safe_title = self.title.encode('ascii', 'replace') + return '<{classname} #{id}: {title} by {creator}>'.format( + id=self.id, + classname=self.__class__.__name__, + creator=self.creator, + title=safe_title) + class CollectionItem(Base, CollectionItemMixin): __tablename__ = "core__collection_items" @@ -756,6 +763,13 @@ class CollectionItem(Base, CollectionItemMixin): """A dict like view on this object""" return DictReadAttrProxy(self) + def __repr__(self): + return '<{classname} #{id}: Entry {entry} in {collection}>'.format( + id=self.id, + classname=self.__class__.__name__, + collection=self.collection, + entry=self.media_entry) + class ProcessingMetaData(Base): __tablename__ = 'core__processing_metadata' -- cgit v1.2.3 From 1b4e199668ada5c2ec47df7432ab69e315dc0601 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Odin=20H=C3=B8rthe=20Omdal?= Date: Sun, 3 Aug 2014 18:07:28 +0200 Subject: Raw image mediatype had a non-unicode logging call Was causing UnicodeDecodeError when file/folder was not ascii. Fixes bug #935. --- mediagoblin/media_types/raw_image/processing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/raw_image/processing.py b/mediagoblin/media_types/raw_image/processing.py index 55a48b50..5ff54cf3 100644 --- a/mediagoblin/media_types/raw_image/processing.py +++ b/mediagoblin/media_types/raw_image/processing.py @@ -67,8 +67,8 @@ class InitialRawProcessor(InitialProcessor): # Extract the biggest preview and write it as our working image md.previews[-1].write_to_file( self.process_filename.encode('utf-8')) - self.process_filename += ".jpg" - _log.debug('Wrote new file from {0} to preview (jpg) {1}'.format( + self.process_filename += '.jpg' + _log.debug(u'Wrote new file from {0} to preview (jpg) {1}'.format( self._original_raw, self.process_filename)) # Override the namebuilder with our new jpg-based name -- cgit v1.2.3