From aa387fc57ec1c176a739df8c5f4cedaf70ae9af1 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 10:23:37 -0700 Subject: [PATCH 001/160] use parser.parse_known_args() instead of parser.parse_args() --- mediagoblin/gmg_commands/__init__.py | 12 +++++------ mediagoblin/gmg_commands/assetlink.py | 2 +- mediagoblin/gmg_commands/dbupdate.py | 2 +- mediagoblin/gmg_commands/import_export.py | 26 +++++++++++------------ mediagoblin/gmg_commands/shell.py | 4 ++-- mediagoblin/gmg_commands/users.py | 26 +++++++++++------------ 6 files changed, 36 insertions(+), 36 deletions(-) diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index d8156126..dc3409f9 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -92,16 +92,16 @@ def main_cli(): subparser.set_defaults(func=exec_func) - args = parser.parse_args() - args.orig_conf_file = args.conf_file - if args.conf_file is None: + args = parser.parse_known_args() + args[0].orig_conf_file = args[0].conf_file + if args[0].conf_file is None: if os.path.exists('mediagoblin_local.ini') \ and os.access('mediagoblin_local.ini', os.R_OK): - args.conf_file = 'mediagoblin_local.ini' + args[0].conf_file = 'mediagoblin_local.ini' else: - args.conf_file = 'mediagoblin.ini' + args[0].conf_file = 'mediagoblin.ini' - args.func(args) + args[0].func(args) if __name__ == '__main__': diff --git a/mediagoblin/gmg_commands/assetlink.py b/mediagoblin/gmg_commands/assetlink.py index 148ebe9e..49e27e33 100644 --- a/mediagoblin/gmg_commands/assetlink.py +++ b/mediagoblin/gmg_commands/assetlink.py @@ -138,7 +138,7 @@ def assetlink(args): """ Link the asset directory of the currently installed theme and plugins """ - mgoblin_app = commands_util.setup_app(args) + mgoblin_app = commands_util.setup_app(args[0]) app_config = mg_globals.app_config # link theme diff --git a/mediagoblin/gmg_commands/dbupdate.py b/mediagoblin/gmg_commands/dbupdate.py index 961752f6..fb533d0a 100644 --- a/mediagoblin/gmg_commands/dbupdate.py +++ b/mediagoblin/gmg_commands/dbupdate.py @@ -147,5 +147,5 @@ def run_all_migrations(db, app_config, global_config): def dbupdate(args): - global_config, app_config = setup_global_and_app_config(args.conf_file) + global_config, app_config = setup_global_and_app_config(args[0].conf_file) run_dbupdate(app_config, global_config) diff --git a/mediagoblin/gmg_commands/import_export.py b/mediagoblin/gmg_commands/import_export.py index 98ec617d..2a624b96 100644 --- a/mediagoblin/gmg_commands/import_export.py +++ b/mediagoblin/gmg_commands/import_export.py @@ -96,27 +96,27 @@ def env_import(args): ''' Restore mongo database and media files from a tar archive ''' - if not args.cache_path: - args.cache_path = tempfile.mkdtemp() + if not args[0].cache_path: + args[0].cache_path = tempfile.mkdtemp() - setup_global_and_app_config(args.conf_file) + setup_global_and_app_config(args[0].conf_file) # Creates mg_globals.public_store and mg_globals.queue_store setup_storage() - global_config, app_config = setup_global_and_app_config(args.conf_file) + global_config, app_config = setup_global_and_app_config(args[0].conf_file) db = setup_connection_and_db_from_config( app_config) tf = tarfile.open( - args.tar_file, + args[0].tar_file, mode='r|gz') - tf.extractall(args.cache_path) + tf.extractall(args[0].cache_path) - args.cache_path = os.path.join( - args.cache_path, 'mediagoblin-data') - args = _setup_paths(args) + args[0].cache_path = os.path.join( + args[0].cache_path, 'mediagoblin-data') + args = _setup_paths(args[0]) # Import database from extracted data _import_database(db, args) @@ -224,16 +224,16 @@ def env_export(args): Export database and media files to a tar archive ''' if args.cache_path: - if os.path.exists(args.cache_path): + if os.path.exists(args[0].cache_path): _log.error('The cache directory must not exist ' 'before you run this script') - _log.error('Cache directory: {0}'.format(args.cache_path)) + _log.error('Cache directory: {0}'.format(args[0].cache_path)) return False else: - args.cache_path = tempfile.mkdtemp() + args[0].cache_path = tempfile.mkdtemp() - args = _setup_paths(args) + args = _setup_paths(args[0]) if not _export_check(args): _log.error('Checks did not pass, exiting') diff --git a/mediagoblin/gmg_commands/shell.py b/mediagoblin/gmg_commands/shell.py index 4998acd7..b19af837 100644 --- a/mediagoblin/gmg_commands/shell.py +++ b/mediagoblin/gmg_commands/shell.py @@ -65,10 +65,10 @@ def shell(args): """ user_namespace = { 'mg_globals': mg_globals, - 'mgoblin_app': commands_util.setup_app(args), + 'mgoblin_app': commands_util.setup_app(args[0]), 'db': mg_globals.database} - if args.ipython: + if args[0].ipython: ipython_shell(**user_namespace) else: # Try ipython_shell first and fall back if not available diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py index e44b0aa9..c2a4dddb 100644 --- a/mediagoblin/gmg_commands/users.py +++ b/mediagoblin/gmg_commands/users.py @@ -32,16 +32,16 @@ def adduser_parser_setup(subparser): def adduser(args): #TODO: Lets trust admins this do not validate Emails :) - commands_util.setup_app(args) + commands_util.setup_app(args[0]) - args.username = 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:") + args[0].username = commands_util.prompt_if_not_set(args[0].username, "Username:") + args[0].password = commands_util.prompt_if_not_set(args[0].password, "Password:",True) + args[0].email = commands_util.prompt_if_not_set(args[0].email, "Email:") db = mg_globals.database users_with_username = \ db.User.query.filter_by( - username=args.username.lower() + username=args[0].username.lower() ).count() if users_with_username: @@ -50,9 +50,9 @@ def adduser(args): else: # Create the user entry = db.User() - entry.username = unicode(args.username.lower()) - entry.email = unicode(args.email) - entry.pw_hash = auth.gen_password_hash(args.password) + entry.username = unicode(args[0].username.lower()) + entry.email = unicode(args[0].email) + entry.pw_hash = auth.gen_password_hash(args[0].password) entry.status = u'active' entry.email_verified = True entry.save() @@ -67,12 +67,12 @@ def makeadmin_parser_setup(subparser): def makeadmin(args): - commands_util.setup_app(args) + commands_util.setup_app(args[0]) db = mg_globals.database user = db.User.query.filter_by( - username=unicode(args.username.lower())).one() + username=unicode(args[0].username.lower())).one() if user: user.is_admin = True user.save() @@ -91,14 +91,14 @@ def changepw_parser_setup(subparser): def changepw(args): - commands_util.setup_app(args) + commands_util.setup_app(args[0]) db = mg_globals.database user = db.User.query.filter_by( - username=unicode(args.username.lower())).one() + username=unicode(args[0].username.lower())).one() if user: - user.pw_hash = auth.gen_password_hash(args.password) + user.pw_hash = auth.gen_password_hash(args[0].password) user.save() print 'Password successfully changed' else: From 262c789754931d95a4bb567fc59a3ffb833ed1bb Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 11:11:04 -0700 Subject: [PATCH 002/160] Throw an error if there are unrecognized arguments --- mediagoblin/gmg_commands/assetlink.py | 1 + mediagoblin/gmg_commands/dbupdate.py | 2 ++ mediagoblin/gmg_commands/import_export.py | 3 +++ mediagoblin/gmg_commands/shell.py | 1 + mediagoblin/gmg_commands/users.py | 3 +++ mediagoblin/gmg_commands/util.py | 9 ++++++++- 6 files changed, 18 insertions(+), 1 deletion(-) diff --git a/mediagoblin/gmg_commands/assetlink.py b/mediagoblin/gmg_commands/assetlink.py index 49e27e33..dff737ff 100644 --- a/mediagoblin/gmg_commands/assetlink.py +++ b/mediagoblin/gmg_commands/assetlink.py @@ -138,6 +138,7 @@ def assetlink(args): """ Link the asset directory of the currently installed theme and plugins """ + commands_util.check_unrecognized_args(args) mgoblin_app = commands_util.setup_app(args[0]) app_config = mg_globals.app_config diff --git a/mediagoblin/gmg_commands/dbupdate.py b/mediagoblin/gmg_commands/dbupdate.py index fb533d0a..b2efa5de 100644 --- a/mediagoblin/gmg_commands/dbupdate.py +++ b/mediagoblin/gmg_commands/dbupdate.py @@ -20,6 +20,7 @@ from sqlalchemy.orm import sessionmaker from mediagoblin.db.open import setup_connection_and_db_from_config from mediagoblin.db.migration_tools import MigrationManager +from mediagoblin.gmg_commands import util as commands_util from mediagoblin.init import setup_global_and_app_config from mediagoblin.tools.common import import_component @@ -147,5 +148,6 @@ def run_all_migrations(db, app_config, global_config): def dbupdate(args): + commands_util.check_unrecognized_args(args) global_config, app_config = setup_global_and_app_config(args[0].conf_file) run_dbupdate(app_config, global_config) diff --git a/mediagoblin/gmg_commands/import_export.py b/mediagoblin/gmg_commands/import_export.py index 2a624b96..1d4ae1f7 100644 --- a/mediagoblin/gmg_commands/import_export.py +++ b/mediagoblin/gmg_commands/import_export.py @@ -16,6 +16,7 @@ from mediagoblin import mg_globals from mediagoblin.db.open import setup_connection_and_db_from_config +from mediagoblin.gmg_commands import util as commands_util from mediagoblin.storage.filestorage import BasicFileStorage from mediagoblin.init import setup_storage, setup_global_and_app_config @@ -96,6 +97,7 @@ def env_import(args): ''' Restore mongo database and media files from a tar archive ''' + commands_util.check_unrecognized_args(args) if not args[0].cache_path: args[0].cache_path = tempfile.mkdtemp() @@ -223,6 +225,7 @@ def env_export(args): ''' Export database and media files to a tar archive ''' + commands_util.check_unrecognized_args(args) if args.cache_path: if os.path.exists(args[0].cache_path): _log.error('The cache directory must not exist ' diff --git a/mediagoblin/gmg_commands/shell.py b/mediagoblin/gmg_commands/shell.py index b19af837..03e08b23 100644 --- a/mediagoblin/gmg_commands/shell.py +++ b/mediagoblin/gmg_commands/shell.py @@ -63,6 +63,7 @@ def shell(args): """ Setup a shell for the user either a normal Python shell or an IPython one """ + commands_util.check_unrecognized_args(args) user_namespace = { 'mg_globals': mg_globals, 'mgoblin_app': commands_util.setup_app(args[0]), diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py index c2a4dddb..b164e672 100644 --- a/mediagoblin/gmg_commands/users.py +++ b/mediagoblin/gmg_commands/users.py @@ -32,6 +32,7 @@ def adduser_parser_setup(subparser): def adduser(args): #TODO: Lets trust admins this do not validate Emails :) + commands_util.check_unrecognized_args(args) commands_util.setup_app(args[0]) args[0].username = commands_util.prompt_if_not_set(args[0].username, "Username:") @@ -67,6 +68,7 @@ def makeadmin_parser_setup(subparser): def makeadmin(args): + commands_util.check_unrecognized_args(args) commands_util.setup_app(args[0]) db = mg_globals.database @@ -91,6 +93,7 @@ def changepw_parser_setup(subparser): def changepw(args): + commands_util.check_unrecognized_args(args) commands_util.setup_app(args[0]) db = mg_globals.database diff --git a/mediagoblin/gmg_commands/util.py b/mediagoblin/gmg_commands/util.py index 6a6853d5..8b057996 100644 --- a/mediagoblin/gmg_commands/util.py +++ b/mediagoblin/gmg_commands/util.py @@ -17,6 +17,7 @@ from mediagoblin import app import getpass +import argparse def setup_app(args): @@ -36,5 +37,11 @@ def prompt_if_not_set(variable, text, password=False): variable=raw_input(text + u' ') else: variable=getpass.getpass(text + u' ') - + return variable + + +def check_unrecognized_args(args): + if args[1]: + parser = argparse.ArgumentParser() + parser.error('unrecognized arguments: {}'.format(args[1])) From c30714805b1936497ea846ab96e9104f5e1176ef Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 12:32:49 -0700 Subject: [PATCH 003/160] Beginnings of a reprocess command --- mediagoblin/gmg_commands/__init__.py | 4 +++ mediagoblin/gmg_commands/reprocess.py | 41 +++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 mediagoblin/gmg_commands/reprocess.py diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index dc3409f9..d3b28a3d 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -45,6 +45,10 @@ SUBCOMMAND_MAP = { 'setup': 'mediagoblin.gmg_commands.assetlink:assetlink_parser_setup', 'func': 'mediagoblin.gmg_commands.assetlink:assetlink', 'help': 'Link assets for themes and plugins for static serving'}, + 'reprocess': { + 'setup': 'mediagoblin.gmg_commands.reprocess:reprocess_parser_setup', + 'func': 'mediagoblin.gmg_commands.reprocess:reprocess', + 'help': 'Reprocess media entries'}, # 'theme': { # 'setup': 'mediagoblin.gmg_commands.theme:theme_parser_setup', # 'func': 'mediagoblin.gmg_commands.theme:theme', diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py new file mode 100644 index 00000000..1cc9f71a --- /dev/null +++ b/mediagoblin/gmg_commands/reprocess.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 . + + +def reprocess_parser_setup(subparser): + subparser.add_argument( + '--available', '-a', + action="store_true", + help="List available actions for a given media entry") + subparser.add_argument( + '--all', '-A', + action="store_true", + help="Reprocess all media entries") + subparser.add_argument( + '--state', '-s', + help="Reprocess media entries in this state" + " such as 'failed' or 'processed'") + subparser.add_argument( + '--type', '-t', + help="The type of media to be reprocessed such as 'video' or 'image'") + subparser.add_argument( + 'media_id', + nargs='*', + help="The media_entry id(s) you wish to reprocess.") + + +def reprocess(args): + pass From 99b34c4ce68b636583657bccec137d04875a5bf1 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 12:35:49 -0700 Subject: [PATCH 004/160] Added a set_media_type function that has checks to only reprocess one media_type at a time --- mediagoblin/gmg_commands/reprocess.py | 48 ++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 1cc9f71a..9dbadefb 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -13,6 +13,9 @@ # # 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 +from mediagoblin.gmg_commands import util as commands_util +from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ def reprocess_parser_setup(subparser): @@ -37,5 +40,48 @@ def reprocess_parser_setup(subparser): help="The media_entry id(s) you wish to reprocess.") -def reprocess(args): +class MismatchingMediaTypes(Exception): + """ + Error that should be raised if the media_types are not the same + """ pass + + +def _set_media_type(args): + if len(args[0].media_id) == 1: + media_type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ + .first().media_type.split('.')[-1] + + if not args[0].type: + args[0].type = media_type + elif args[0].type != media_type: + raise MismatchingMediaTypes(_('The type that you set does not' + ' match the type of the given' + ' media_id.')) + elif len(args[0].media_id) > 1: + media_types = [] + + for id in args[0].media_id: + media_types.append(MediaEntry.query.filter_by(id=id).first()\ + .media_type.split('.')[-1]) + for type in media_types: + if media_types[0] != type: + raise MismatchingMediaTypes((u'You cannot reprocess different' + ' media_types at the same time.')) + + if not args[0].type: + args[0].type = media_types[0] + elif args[0].type != media_types[0]: + raise MismatchingMediaTypes(_('The type that you set does not' + ' match the type of the given' + ' media_ids.')) + + elif not args[0].type: + raise MismatchingMediaTypes(_('You must provide either a media_id or' + ' set the --type flag')) + + +def reprocess(args): + commands_util.setup_app(args[0]) + + _set_media_type(args) From 6fc8aaf65f483ab523cab74489dd3421314e2b7e Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 13:23:40 -0700 Subject: [PATCH 005/160] add reprocess_all function. still need to add code to reprocess all failed entries --- mediagoblin/gmg_commands/reprocess.py | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 9dbadefb..f458cd1d 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -16,6 +16,7 @@ from mediagoblin.db.models import MediaEntry from mediagoblin.gmg_commands import util as commands_util from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ +from mediagoblin.tools.pluginapi import hook_handle def reprocess_parser_setup(subparser): @@ -81,7 +82,34 @@ def _set_media_type(args): ' set the --type flag')) +def _reprocess_all(args): + if not args[0].type: + if args[0].state == 'failed': + if args[0].available: + print '\n Available reprocess actions for all failed' \ + ' media_entries: \n \t --initial_processing' + return + else: + #TODO reprocess all failed entries + pass + else: + raise Exception(_('You must set --type when trying to reprocess' + ' all media_entries, unless you set --state' + ' to "failed".')) + + if args[0].available: + return hook_handle(('reprocess_action', args[0].type), args) + else: + return hook_handle(('media_reprocess', args[0].type), args) + + def reprocess(args): commands_util.setup_app(args[0]) + if not args[0].state: + args[0].state = 'processed' + + if args[0].all: + return _reprocess_all(args) + _set_media_type(args) From 7c1f6a6aeea47c27a56e3f39e0a6cf33d9dd2486 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 13:47:44 -0700 Subject: [PATCH 006/160] added a _run_reprocessing function which handles the hook calls --- mediagoblin/gmg_commands/reprocess.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index f458cd1d..50434bd2 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -97,6 +97,10 @@ def _reprocess_all(args): ' all media_entries, unless you set --state' ' to "failed".')) + _run_reprocessing(args) + + +def _run_reprocessing(args): if args[0].available: return hook_handle(('reprocess_action', args[0].type), args) else: @@ -113,3 +117,5 @@ def reprocess(args): return _reprocess_all(args) _set_media_type(args) + + return _run_reprocessing(args) From 81d880b16adb2d6c872e0ad37ffe34bf7bfaba6c Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 13:51:36 -0700 Subject: [PATCH 007/160] Just raise standard exception. Pass print statement to gettext --- mediagoblin/gmg_commands/reprocess.py | 29 +++++++++------------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 50434bd2..2158d36e 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -41,13 +41,6 @@ def reprocess_parser_setup(subparser): help="The media_entry id(s) you wish to reprocess.") -class MismatchingMediaTypes(Exception): - """ - Error that should be raised if the media_types are not the same - """ - pass - - def _set_media_type(args): if len(args[0].media_id) == 1: media_type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ @@ -56,9 +49,8 @@ def _set_media_type(args): if not args[0].type: args[0].type = media_type elif args[0].type != media_type: - raise MismatchingMediaTypes(_('The type that you set does not' - ' match the type of the given' - ' media_id.')) + raise Exception(_('The type that you set does not match the type' + ' of the given media_id.')) elif len(args[0].media_id) > 1: media_types = [] @@ -67,27 +59,26 @@ def _set_media_type(args): .media_type.split('.')[-1]) for type in media_types: if media_types[0] != type: - raise MismatchingMediaTypes((u'You cannot reprocess different' - ' media_types at the same time.')) + raise Exception((u'You cannot reprocess different media_types' + ' at the same time.')) if not args[0].type: args[0].type = media_types[0] elif args[0].type != media_types[0]: - raise MismatchingMediaTypes(_('The type that you set does not' - ' match the type of the given' - ' media_ids.')) + raise Exception(_('The type that you set does not match the type' + ' of the given media_ids.')) elif not args[0].type: - raise MismatchingMediaTypes(_('You must provide either a media_id or' - ' set the --type flag')) + raise Exception(_('You must provide either a media_id or set the' + ' --type flag')) def _reprocess_all(args): if not args[0].type: if args[0].state == 'failed': if args[0].available: - print '\n Available reprocess actions for all failed' \ - ' media_entries: \n \t --initial_processing' + print _('\n Available reprocess actions for all failed' \ + ' media_entries: \n \t --initial_processing') return else: #TODO reprocess all failed entries From 4a36407d39a18f295e5fc09125fac8e2a7252f55 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 13:53:20 -0700 Subject: [PATCH 008/160] Pep 8 --- mediagoblin/gmg_commands/reprocess.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 2158d36e..9390861f 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -44,7 +44,7 @@ def reprocess_parser_setup(subparser): def _set_media_type(args): if len(args[0].media_id) == 1: media_type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ - .first().media_type.split('.')[-1] + .first().media_type.split('.')[-1] if not args[0].type: args[0].type = media_type @@ -55,7 +55,7 @@ def _set_media_type(args): media_types = [] for id in args[0].media_id: - media_types.append(MediaEntry.query.filter_by(id=id).first()\ + media_types.append(MediaEntry.query.filter_by(id=id).first() .media_type.split('.')[-1]) for type in media_types: if media_types[0] != type: @@ -77,8 +77,8 @@ def _reprocess_all(args): if not args[0].type: if args[0].state == 'failed': if args[0].available: - print _('\n Available reprocess actions for all failed' \ - ' media_entries: \n \t --initial_processing') + print _('\n Available reprocess actions for all failed' + ' media_entries: \n \t --initial_processing') return else: #TODO reprocess all failed entries From 243756e0205b2c8c009b6ac3e96eca8923508c38 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 14:47:24 -0700 Subject: [PATCH 009/160] added a set_media_state function. removed the --all flag (just don't enter any media_ids to process all media). slight refactor --- mediagoblin/gmg_commands/reprocess.py | 44 +++++++++++++++++---------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 9390861f..cad75c45 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -24,10 +24,6 @@ def reprocess_parser_setup(subparser): '--available', '-a', action="store_true", help="List available actions for a given media entry") - subparser.add_argument( - '--all', '-A', - action="store_true", - help="Reprocess all media entries") subparser.add_argument( '--state', '-s', help="Reprocess media entries in this state" @@ -49,7 +45,7 @@ def _set_media_type(args): if not args[0].type: args[0].type = media_type elif args[0].type != media_type: - raise Exception(_('The type that you set does not match the type' + raise Exception(_('The --type that you set does not match the type' ' of the given media_id.')) elif len(args[0].media_id) > 1: media_types = [] @@ -65,13 +61,9 @@ def _set_media_type(args): if not args[0].type: args[0].type = media_types[0] elif args[0].type != media_types[0]: - raise Exception(_('The type that you set does not match the type' + raise Exception(_('The --type that you set does not match the type' ' of the given media_ids.')) - elif not args[0].type: - raise Exception(_('You must provide either a media_id or set the' - ' --type flag')) - def _reprocess_all(args): if not args[0].type: @@ -98,15 +90,35 @@ def _run_reprocessing(args): return hook_handle(('media_reprocess', args[0].type), args) +def _set_media_state(args): + if len(args[0].media_id) == 1: + args[0].state = MediaEntry.query.filter_by(id=args[0].media_id[0])\ + .first().state + + elif len(args[0].media_id) > 1: + media_states = [] + + for id in args[0].media_id: + media_states.append(MediaEntry.query.filter_by(id=id).first() + .state) + for state in media_states: + if state != media_states[0]: + raise Exception(_('You can only reprocess media that is in the' + ' same state.')) + + args[0].state = media_states[0] + + elif not args[0].state: + args[0].state = 'processed' + + def reprocess(args): commands_util.setup_app(args[0]) - if not args[0].state: - args[0].state = 'processed' - - if args[0].all: - return _reprocess_all(args) - + _set_media_state(args) _set_media_type(args) + if not args[0].media_id: + return _reprocess_all(args) + return _run_reprocessing(args) From 11a99d787f899808b10410e271491cbdfb69e55f Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 15:24:34 -0700 Subject: [PATCH 010/160] refactored _run_reprocessing --- mediagoblin/gmg_commands/reprocess.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index cad75c45..60df697f 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -85,7 +85,15 @@ def _reprocess_all(args): def _run_reprocessing(args): if args[0].available: - return hook_handle(('reprocess_action', args[0].type), args) + if args[0].state == 'failed': + print _('\n Available reprocess actions for all failed' + ' media_entries: \n \t --initial_processing') + else: + result = hook_handle(('reprocess_action', args[0].type), args) + if not result: + print _('Sorry there is no available reprocessing for {}' + ' entries in the {} state'.format(args[0].type, + args[0].state)) else: return hook_handle(('media_reprocess', args[0].type), args) From 842ba30529040fb47ac9905df6373d7c1f0286ed Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 15:40:26 -0700 Subject: [PATCH 011/160] make media_id an optional argument --- mediagoblin/gmg_commands/reprocess.py | 76 ++++++++++++++------------- 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 60df697f..f3445ea6 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -32,37 +32,38 @@ def reprocess_parser_setup(subparser): '--type', '-t', help="The type of media to be reprocessed such as 'video' or 'image'") subparser.add_argument( - 'media_id', + '--media_id', nargs='*', help="The media_entry id(s) you wish to reprocess.") def _set_media_type(args): - if len(args[0].media_id) == 1: - media_type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ - .first().media_type.split('.')[-1] + if args[0].media_id: + if len(args[0].media_id) == 1: + media_type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ + .first().media_type.split('.')[-1] - if not args[0].type: - args[0].type = media_type - elif args[0].type != media_type: - raise Exception(_('The --type that you set does not match the type' - ' of the given media_id.')) - elif len(args[0].media_id) > 1: - media_types = [] + if not args[0].type: + args[0].type = media_type + elif args[0].type != media_type: + raise Exception(_('The --type that you set does not match the type' + ' of the given media_id.')) + elif len(args[0].media_id) > 1: + media_types = [] - for id in args[0].media_id: - media_types.append(MediaEntry.query.filter_by(id=id).first() - .media_type.split('.')[-1]) - for type in media_types: - if media_types[0] != type: - raise Exception((u'You cannot reprocess different media_types' - ' at the same time.')) + for id in args[0].media_id: + media_types.append(MediaEntry.query.filter_by(id=id).first() + .media_type.split('.')[-1]) + for type in media_types: + if media_types[0] != type: + raise Exception((u'You cannot reprocess different media_types' + ' at the same time.')) - if not args[0].type: - args[0].type = media_types[0] - elif args[0].type != media_types[0]: - raise Exception(_('The --type that you set does not match the type' - ' of the given media_ids.')) + if not args[0].type: + args[0].type = media_types[0] + elif args[0].type != media_types[0]: + raise Exception(_('The --type that you set does not match the type' + ' of the given media_ids.')) def _reprocess_all(args): @@ -99,24 +100,25 @@ def _run_reprocessing(args): def _set_media_state(args): - if len(args[0].media_id) == 1: - args[0].state = MediaEntry.query.filter_by(id=args[0].media_id[0])\ - .first().state + if args[0].media_id: + if len(args[0].media_id) == 1: + args[0].state = MediaEntry.query.filter_by(id=args[0].media_id[0])\ + .first().state - elif len(args[0].media_id) > 1: - media_states = [] + elif len(args[0].media_id) > 1: + media_states = [] - for id in args[0].media_id: - media_states.append(MediaEntry.query.filter_by(id=id).first() - .state) - for state in media_states: - if state != media_states[0]: - raise Exception(_('You can only reprocess media that is in the' - ' same state.')) + for id in args[0].media_id: + media_states.append(MediaEntry.query.filter_by(id=id).first() + .state) + for state in media_states: + if state != media_states[0]: + raise Exception(_('You can only reprocess media that is in the' + ' same state.')) - args[0].state = media_states[0] + args[0].state = media_states[0] - elif not args[0].state: + if not args[0].state: args[0].state = 'processed' From 065db04730936286bbe213133a3175d48950fd32 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 15:55:39 -0700 Subject: [PATCH 012/160] add command option for regenerating all thumbnails --- mediagoblin/gmg_commands/reprocess.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index f3445ea6..b45543e4 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -35,6 +35,10 @@ def reprocess_parser_setup(subparser): '--media_id', nargs='*', help="The media_entry id(s) you wish to reprocess.") + subparser.add_argument( + '--thumbnails', + action="store_true", + help="Regenerate thumbnails for all processed media") def _set_media_type(args): @@ -68,20 +72,31 @@ def _set_media_type(args): def _reprocess_all(args): if not args[0].type: - if args[0].state == 'failed': + if args[0].thumbnails: + if args[0].available: + print _('Available options for regenerating all processed' + ' media thumbnails: \n' + '\t --size: max_width max_height' + ' (defaults to config specs)') + else: + #TODO regenerate all thumbnails + pass + + elif args[0].state == 'failed': if args[0].available: print _('\n Available reprocess actions for all failed' ' media_entries: \n \t --initial_processing') - return else: #TODO reprocess all failed entries pass + else: raise Exception(_('You must set --type when trying to reprocess' ' all media_entries, unless you set --state' ' to "failed".')) - _run_reprocessing(args) + else: + _run_reprocessing(args) def _run_reprocessing(args): From bf909ab048d2741b91542ad2b00789f30e51c2cf Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 15:58:25 -0700 Subject: [PATCH 013/160] pep 8 --- mediagoblin/gmg_commands/reprocess.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index b45543e4..0390c48d 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -50,24 +50,24 @@ def _set_media_type(args): if not args[0].type: args[0].type = media_type elif args[0].type != media_type: - raise Exception(_('The --type that you set does not match the type' - ' of the given media_id.')) + raise Exception(_('The --type that you set does not match the' + 'type of the given media_id.')) elif len(args[0].media_id) > 1: media_types = [] for id in args[0].media_id: media_types.append(MediaEntry.query.filter_by(id=id).first() - .media_type.split('.')[-1]) + .media_type.split('.')[-1]) for type in media_types: if media_types[0] != type: - raise Exception((u'You cannot reprocess different media_types' - ' at the same time.')) + raise Exception((u'You cannot reprocess different' + ' media_types at the same time.')) if not args[0].type: args[0].type = media_types[0] elif args[0].type != media_types[0]: - raise Exception(_('The --type that you set does not match the type' - ' of the given media_ids.')) + raise Exception(_('The --type that you set does not match the' + ' type of the given media_ids.')) def _reprocess_all(args): @@ -128,8 +128,8 @@ def _set_media_state(args): .state) for state in media_states: if state != media_states[0]: - raise Exception(_('You can only reprocess media that is in the' - ' same state.')) + raise Exception(_('You can only reprocess media that is in' + ' the same state.')) args[0].state = media_states[0] From e36b9f035f73caf9cb8a7ec62643e346461433fc Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 1 Aug 2013 15:58:57 -0700 Subject: [PATCH 014/160] end of day commit --- mediagoblin/media_types/image/__init__.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 1bb9c6f3..9e2d4ad7 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -19,6 +19,7 @@ from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.image.processing import process_image, \ sniff_handler from mediagoblin.tools import pluginapi +from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ ACCEPTED_EXTENSIONS = ["jpg", "jpeg", "png", "gif", "tiff"] @@ -64,9 +65,25 @@ def get_media_type_and_manager(ext): return MEDIA_TYPE, ImageMediaManager +def reprocess_action(args): + if args[0].state == 'processed': + print _('\n Available reprocessing actions for processed images:' + '\n \t --resize: thumbnail or medium' + '\n Options:' + '\n \t --size: max_width max_height (defaults to config specs)') + return True + + +def media_reprocess(args): + import ipdb + ipdb.set_trace() + + hooks = { 'setup': setup_plugin, 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: ImageMediaManager, + ('reprocess_action', 'image'): reprocess_action, + ('media_reprocess', 'image'): media_reprocess, } From 663b378b25228e81eb654a7f42e80be7e3d2907e Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 2 Aug 2013 07:44:03 -0700 Subject: [PATCH 015/160] added a parser for the image media_type reprocessing --- mediagoblin/media_types/image/__init__.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 9e2d4ad7..2ad76111 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -13,6 +13,7 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import argparse import datetime from mediagoblin.media_types import MediaManagerBase @@ -74,7 +75,24 @@ def reprocess_action(args): return True +def _parser(args): + parser = argparse.ArgumentParser() + parser.add_argument( + '--resize', + action='store_true') + parser.add_argument( + '--size', + nargs=2) + parser.add_argument( + '--initial_processing', + action='store_true') + + return parser.parse_args(args[1]) + + def media_reprocess(args): + reprocess_args = _parser(args) + args = args[0] import ipdb ipdb.set_trace() From 273c79513d82b03b99035dcfa47e839c61322483 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 2 Aug 2013 08:02:14 -0700 Subject: [PATCH 016/160] added a check_eligible function to image reprocessing --- mediagoblin/media_types/image/__init__.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 2ad76111..a1b43479 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -90,9 +90,27 @@ def _parser(args): return parser.parse_args(args[1]) +def _check_eligible(entry_args, reprocess_args): + if entry_args.state == 'processed': + if reprocess_args.initial_processing: + raise Exception(_('You can not run --initial_processing on media' + ' that has already been processed.')) + + if entry_args.state == 'failed': + if reprocess_args.resize: + raise Exception(_('You can not run --resize on media that has not' + 'been processed.')) + + if entry_args.state == 'processing': + raise Exception(_('We currently do not support reprocessing on media' + 'that is in the "processing" state.')) + + def media_reprocess(args): reprocess_args = _parser(args) - args = args[0] + entry_args = args[0] + + _check_eligible(entry_args, reprocess_args) import ipdb ipdb.set_trace() From 9a2c66ca9ef763fa68dc09a483c02fe2ee02d78f Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 2 Aug 2013 11:40:41 -0700 Subject: [PATCH 017/160] added image reprocessing --- mediagoblin/gmg_commands/reprocess.py | 3 + mediagoblin/media_types/image/__init__.py | 47 ++++++++- mediagoblin/media_types/image/processing.py | 104 +++++++++++++------- mediagoblin/processing/__init__.py | 17 ++++ mediagoblin/processing/task.py | 6 +- mediagoblin/submit/lib.py | 8 +- 6 files changed, 139 insertions(+), 46 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 0390c48d..f6b9e653 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -13,6 +13,7 @@ # # 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.models import MediaEntry from mediagoblin.gmg_commands import util as commands_util from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ @@ -143,6 +144,8 @@ def reprocess(args): _set_media_state(args) _set_media_type(args) + import ipdb + ipdb.set_trace() if not args[0].media_id: return _reprocess_all(args) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index a1b43479..3a056718 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -15,13 +15,18 @@ # along with this program. If not, see . import argparse import datetime +import logging +from mediagoblin.db.models import MediaEntry from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.image.processing import process_image, \ sniff_handler +from mediagoblin.submit.lib import run_process_media from mediagoblin.tools import pluginapi from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ +_log = logging.getLogger(__name__) + ACCEPTED_EXTENSIONS = ["jpg", "jpeg", "png", "gif", "tiff"] MEDIA_TYPE = 'mediagoblin.media_types.image' @@ -69,7 +74,7 @@ def get_media_type_and_manager(ext): def reprocess_action(args): if args[0].state == 'processed': print _('\n Available reprocessing actions for processed images:' - '\n \t --resize: thumbnail or medium' + '\n \t --resize: thumb or medium' '\n Options:' '\n \t --size: max_width max_height (defaults to config specs)') return True @@ -78,8 +83,7 @@ def reprocess_action(args): def _parser(args): parser = argparse.ArgumentParser() parser.add_argument( - '--resize', - action='store_true') + '--resize') parser.add_argument( '--size', nargs=2) @@ -100,6 +104,9 @@ def _check_eligible(entry_args, reprocess_args): if reprocess_args.resize: raise Exception(_('You can not run --resize on media that has not' 'been processed.')) + if reprocess_args.size: + _log.warn('With --initial_processing, the --size flag will be' + ' ignored.') if entry_args.state == 'processing': raise Exception(_('We currently do not support reprocessing on media' @@ -111,8 +118,38 @@ def media_reprocess(args): entry_args = args[0] _check_eligible(entry_args, reprocess_args) - import ipdb - ipdb.set_trace() + if reprocess_args.initial_processing: + for id in entry_args.media_id: + entry = MediaEntry.query.filter_by(id=id).first() + # Should we get the feed_url? + run_process_media(entry) + + elif reprocess_args.resize: + if reprocess_args.resize == 'medium' or reprocess_args.resize == \ + 'thumb': + for id in entry_args.media_id: + entry = MediaEntry.query.filter_by(id=id).first() + + # For now we can only reprocess with the original file + if not entry.media_files.get('original'): + raise Exception(_('The original file for this media entry' + 'does not exist.')) + + reprocess_info = {'resize': reprocess_args.resize} + + if reprocess_args.size and len(reprocess_args.size) == 2: + reprocess_info['max_width'] = reprocess_args.size[0] + reprocess_info['max_height'] = reprocess_args.size[1] + + run_process_media(entry, reprocess_info) + + else: + raise Exception(_('The --resize flag must set either "thumb"' + ' or "medium".')) + + else: + _log.warn('You must set either --resize or --initial_processing flag' + ' to reprocess an image.') hooks = { diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index baf2ac7e..4f619f47 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -74,11 +74,13 @@ def resize_image(proc_state, resized, keyname, target_name, new_size, def resize_tool(proc_state, force, keyname, target_name, - conversions_subdir, exif_tags): + conversions_subdir, exif_tags, new_size=None): # filename -- the filename of the original image being resized filename = proc_state.get_queued_filename() - max_width = mgg.global_config['media:' + keyname]['max_width'] - max_height = mgg.global_config['media:' + keyname]['max_height'] + if not new_size: + max_width = mgg.global_config['media:' + keyname]['max_width'] + max_height = mgg.global_config['media:' + keyname]['max_height'] + new_size = (max_width, max_height) # If the size of the original file exceeds the specified size for the desized # file, a target_name file is created and later associated with the media # entry. @@ -93,7 +95,7 @@ def resize_tool(proc_state, force, keyname, target_name, or exif_image_needs_rotation(exif_tags): resize_image( proc_state, im, unicode(keyname), target_name, - (max_width, max_height), + new_size, exif_tags, conversions_subdir) @@ -119,7 +121,7 @@ def sniff_handler(media_file, **kw): return None -def process_image(proc_state): +def process_image(proc_state, reprocess_info=None): """Code to process an image. Will be run by celery. A Workbench() represents a local tempory dir. It is automatically @@ -127,45 +129,75 @@ def process_image(proc_state): """ entry = proc_state.entry workbench = proc_state.workbench - + import ipdb + ipdb.set_trace() # Conversions subdirectory to avoid collisions conversions_subdir = os.path.join( workbench.dir, 'conversions') os.mkdir(conversions_subdir) - queued_filename = proc_state.get_queued_filename() - name_builder = FilenameBuilder(queued_filename) + if reprocess_info: + _reprocess_image(proc_state, reprocess_info, conversions_subdir) - # EXIF extraction - exif_tags = extract_exif(queued_filename) - gps_data = get_gps_data(exif_tags) + else: + queued_filename = proc_state.get_queued_filename() + name_builder = FilenameBuilder(queued_filename) - # Always create a small thumbnail - resize_tool(proc_state, True, 'thumb', + # EXIF extraction + exif_tags = extract_exif(queued_filename) + gps_data = get_gps_data(exif_tags) + + # Always create a small thumbnail + resize_tool(proc_state, True, 'thumb', + name_builder.fill('{basename}.thumbnail{ext}'), + conversions_subdir, exif_tags) + + # Possibly create a medium + resize_tool(proc_state, False, 'medium', + name_builder.fill('{basename}.medium{ext}'), + conversions_subdir, exif_tags) + + # Copy our queued local workbench to its final destination + proc_state.copy_original(name_builder.fill('{basename}{ext}')) + + # Remove queued media file from storage and database + proc_state.delete_queue_file() + + # Insert exif data into database + exif_all = clean_exif(exif_tags) + + if len(exif_all): + entry.media_data_init(exif_all=exif_all) + + if len(gps_data): + for key in list(gps_data.keys()): + gps_data['gps_' + key] = gps_data.pop(key) + entry.media_data_init(**gps_data) + + +def _reprocess_image(proc_state, reprocess_info, conversions_subdir): + reprocess_filename = proc_state.get_reprocess_filename() + name_builder = FilenameBuilder(reprocess_filename) + + exif_tags = extract_exif(reprocess_filename) + + if reprocess_info.get('max_width'): + max_width = reprocess_info['max_width'] + else: + max_width = mgg.global_config \ + ['media:' + reprocess_info['resize']]['max_width'] + + if reprocess_info.get('max_height'): + max_height = reprocess_info['max_height'] + else: + max_height = mgg.global_config \ + ['media:' + reprocess_info['resize']]['max_height'] + + new_size = (max_width, max_height) + + resize_tool(proc_state, False, reprocess_info['resize'], name_builder.fill('{basename}.thumbnail{ext}'), - conversions_subdir, exif_tags) - - # Possibly create a medium - resize_tool(proc_state, False, 'medium', - name_builder.fill('{basename}.medium{ext}'), - conversions_subdir, exif_tags) - - # Copy our queued local workbench to its final destination - proc_state.copy_original(name_builder.fill('{basename}{ext}')) - - # Remove queued media file from storage and database - proc_state.delete_queue_file() - - # Insert exif data into database - exif_all = clean_exif(exif_tags) - - if len(exif_all): - entry.media_data_init(exif_all=exif_all) - - if len(gps_data): - for key in list(gps_data.keys()): - gps_data['gps_' + key] = gps_data.pop(key) - entry.media_data_init(**gps_data) + conversions_subdir, exif_tags, new_size) if __name__ == '__main__': diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index f3a85940..bbe9f364 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -87,6 +87,7 @@ class ProcessingState(object): self.entry = entry self.workbench = None self.queued_filename = None + self.reprocess_filename = None def set_workbench(self, wb): self.workbench = wb @@ -128,6 +129,22 @@ class ProcessingState(object): mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir self.entry.queued_media_file = [] + def get_reprocess_filename(self): + """ + Get the filename to use during reprocessing + """ + # Currently only returns the original file, but eventually will return + # the highest quality file if the original doesn't exist + if self.reprocess_filename is not None: + return self.reprocess_filename + + reprocess_filepath = self.entry.media_files['original'][2] + reprocess_filename = self.workbench.local_file( + mgg.public_store, reprocess_filepath, + 'original') + self.reprocess_filename = reprocess_filename + return reprocess_filename + def mark_entry_failed(entry_id, exc): """ diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index 9af192ed..c0dfb9b4 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -68,13 +68,15 @@ class ProcessMedia(task.Task): """ Pass this entry off for processing. """ - def run(self, media_id, feed_url): + def run(self, media_id, feed_url, reprocess_info=None): """ Pass the media entry off to the appropriate processing function (for now just process_image...) :param feed_url: The feed URL that the PuSH server needs to be updated for. + :param reprocess: A dict containing all of the necessary reprocessing + info for the media_type. """ entry = MediaEntry.query.get(media_id) @@ -89,7 +91,7 @@ class ProcessMedia(task.Task): with mgg.workbench_manager.create() as workbench: proc_state.set_workbench(workbench) # run the processing code - entry.media_manager.processor(proc_state) + entry.media_manager.processor(proc_state, reprocess_info) # We set the state to processed and save the entry here so there's # no need to save at the end of the processing stage, probably ;) diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index 7e85696b..3619a329 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -76,17 +76,19 @@ def prepare_queue_task(app, entry, filename): return queue_file -def run_process_media(entry, feed_url=None): +def run_process_media(entry, feed_url=None, reprocess_info=None): """Process the media asynchronously :param entry: MediaEntry() instance to be processed. :param feed_url: A string indicating the feed_url that the PuSH servers should be notified of. This will be sth like: `request.urlgen( 'mediagoblin.user_pages.atom_feed',qualified=True, - user=request.user.username)`""" + user=request.user.username)` + :param reprocess: A dict containing all of the necessary reprocessing + info for the given media_type""" try: process_media.apply_async( - [entry.id, feed_url], {}, + [entry.id, feed_url, reprocess_info], {}, task_id=entry.queued_task_id) except BaseException as exc: # The purpose of this section is because when running in "lazy" From f30fbfe60c5cd84cdf5df653d2c281a0bb05bae8 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 2 Aug 2013 12:06:50 -0700 Subject: [PATCH 018/160] add option to not run eagerly --- mediagoblin/gmg_commands/reprocess.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index f6b9e653..9d8ede24 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -13,6 +13,8 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import os + from mediagoblin import mg_globals from mediagoblin.db.models import MediaEntry from mediagoblin.gmg_commands import util as commands_util @@ -40,6 +42,10 @@ def reprocess_parser_setup(subparser): '--thumbnails', action="store_true", help="Regenerate thumbnails for all processed media") + subparser.add_argument( + '--celery', + action='store_true', + help="Don't process eagerly, pass off to celery") def _set_media_type(args): @@ -139,13 +145,13 @@ def _set_media_state(args): def reprocess(args): + if not args[0].celery: + os.environ['CELERY_ALWAYS_EAGER'] = 'true' commands_util.setup_app(args[0]) _set_media_state(args) _set_media_type(args) - import ipdb - ipdb.set_trace() if not args[0].media_id: return _reprocess_all(args) From 49db7785797a251ee408c62c0954ccd71af9d088 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 2 Aug 2013 13:18:35 -0700 Subject: [PATCH 019/160] very rough working version of image reprocessing --- mediagoblin/media_types/image/__init__.py | 13 ++++++------ mediagoblin/media_types/image/processing.py | 22 ++++++++------------- mediagoblin/processing/__init__.py | 6 +++--- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 3a056718..1aff21d4 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -86,7 +86,8 @@ def _parser(args): '--resize') parser.add_argument( '--size', - nargs=2) + nargs=2, + type=int) parser.add_argument( '--initial_processing', action='store_true') @@ -103,14 +104,14 @@ def _check_eligible(entry_args, reprocess_args): if entry_args.state == 'failed': if reprocess_args.resize: raise Exception(_('You can not run --resize on media that has not' - 'been processed.')) + ' been processed.')) if reprocess_args.size: _log.warn('With --initial_processing, the --size flag will be' ' ignored.') if entry_args.state == 'processing': raise Exception(_('We currently do not support reprocessing on media' - 'that is in the "processing" state.')) + ' that is in the "processing" state.')) def media_reprocess(args): @@ -133,15 +134,15 @@ def media_reprocess(args): # For now we can only reprocess with the original file if not entry.media_files.get('original'): raise Exception(_('The original file for this media entry' - 'does not exist.')) + ' does not exist.')) reprocess_info = {'resize': reprocess_args.resize} - if reprocess_args.size and len(reprocess_args.size) == 2: + if reprocess_args.size: reprocess_info['max_width'] = reprocess_args.size[0] reprocess_info['max_height'] = reprocess_args.size[1] - run_process_media(entry, reprocess_info) + run_process_media(entry, reprocess_info=reprocess_info) else: raise Exception(_('The --resize flag must set either "thumb"' diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 4f619f47..18b8bd4e 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -73,10 +73,8 @@ def resize_image(proc_state, resized, keyname, target_name, new_size, proc_state.store_public(keyname, tmp_resized_filename, target_name) -def resize_tool(proc_state, force, keyname, target_name, +def resize_tool(proc_state, force, keyname, filename, target_name, conversions_subdir, exif_tags, new_size=None): - # filename -- the filename of the original image being resized - filename = proc_state.get_queued_filename() if not new_size: max_width = mgg.global_config['media:' + keyname]['max_width'] max_height = mgg.global_config['media:' + keyname]['max_height'] @@ -90,8 +88,8 @@ def resize_tool(proc_state, force, keyname, target_name, except IOError: raise BadMediaFail() if force \ - or im.size[0] > max_width \ - or im.size[1] > max_height \ + or im.size[0] > new_size[0]\ + or im.size[1] > new_size[1]\ or exif_image_needs_rotation(exif_tags): resize_image( proc_state, im, unicode(keyname), target_name, @@ -129,8 +127,7 @@ def process_image(proc_state, reprocess_info=None): """ entry = proc_state.entry workbench = proc_state.workbench - import ipdb - ipdb.set_trace() + # Conversions subdirectory to avoid collisions conversions_subdir = os.path.join( workbench.dir, 'conversions') @@ -148,12 +145,12 @@ def process_image(proc_state, reprocess_info=None): gps_data = get_gps_data(exif_tags) # Always create a small thumbnail - resize_tool(proc_state, True, 'thumb', + resize_tool(proc_state, True, 'thumb', queued_filename, name_builder.fill('{basename}.thumbnail{ext}'), conversions_subdir, exif_tags) # Possibly create a medium - resize_tool(proc_state, False, 'medium', + resize_tool(proc_state, False, 'medium', queued_filename, name_builder.fill('{basename}.medium{ext}'), conversions_subdir, exif_tags) @@ -183,19 +180,16 @@ def _reprocess_image(proc_state, reprocess_info, conversions_subdir): if reprocess_info.get('max_width'): max_width = reprocess_info['max_width'] + max_height = reprocess_info['max_height'] else: max_width = mgg.global_config \ ['media:' + reprocess_info['resize']]['max_width'] - - if reprocess_info.get('max_height'): - max_height = reprocess_info['max_height'] - else: max_height = mgg.global_config \ ['media:' + reprocess_info['resize']]['max_height'] new_size = (max_width, max_height) - resize_tool(proc_state, False, reprocess_info['resize'], + resize_tool(proc_state, False, reprocess_info['resize'], reprocess_filename, name_builder.fill('{basename}.thumbnail{ext}'), conversions_subdir, exif_tags, new_size) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index bbe9f364..13c677eb 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -138,10 +138,10 @@ class ProcessingState(object): if self.reprocess_filename is not None: return self.reprocess_filename - reprocess_filepath = self.entry.media_files['original'][2] - reprocess_filename = self.workbench.local_file( + reprocess_filepath = self.entry.media_files['original'] + reprocess_filename = self.workbench.localized_file( mgg.public_store, reprocess_filepath, - 'original') + 'source') self.reprocess_filename = reprocess_filename return reprocess_filename From 3e9faf85da1ee2971e9ff2fde12b192ea470d806 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 2 Aug 2013 15:12:07 -0700 Subject: [PATCH 020/160] added comments and did a little refactoring. not sure if it is actually any clearer though --- mediagoblin/gmg_commands/reprocess.py | 45 ++++++++--- mediagoblin/media_types/image/__init__.py | 48 ++++++----- mediagoblin/media_types/image/processing.py | 90 ++++++++++----------- mediagoblin/processing/task.py | 12 ++- 4 files changed, 118 insertions(+), 77 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 9d8ede24..4df0d581 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -49,16 +49,18 @@ def reprocess_parser_setup(subparser): def _set_media_type(args): + """ + This will verify that all media id's are of the same media_type. If the + --type flag is set, it will be replaced by the given media id's type. + + If they are trying to process different media types, an Exception will be + raised. + """ if args[0].media_id: if len(args[0].media_id) == 1: - media_type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ + args[0].type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ .first().media_type.split('.')[-1] - if not args[0].type: - args[0].type = media_type - elif args[0].type != media_type: - raise Exception(_('The --type that you set does not match the' - 'type of the given media_id.')) elif len(args[0].media_id) > 1: media_types = [] @@ -70,15 +72,17 @@ def _set_media_type(args): raise Exception((u'You cannot reprocess different' ' media_types at the same time.')) - if not args[0].type: - args[0].type = media_types[0] - elif args[0].type != media_types[0]: - raise Exception(_('The --type that you set does not match the' - ' type of the given media_ids.')) + args[0].type = media_types[0] def _reprocess_all(args): + """ + This handles reprocessing if no media_id's are given. + """ if not args[0].type: + # If no media type is given, we can either regenerate all thumbnails, + # or try to reprocess all failed media + if args[0].thumbnails: if args[0].available: print _('Available options for regenerating all processed' @@ -89,6 +93,7 @@ def _reprocess_all(args): #TODO regenerate all thumbnails pass + # Reprocess all failed media elif args[0].state == 'failed': if args[0].available: print _('\n Available reprocess actions for all failed' @@ -97,6 +102,8 @@ def _reprocess_all(args): #TODO reprocess all failed entries pass + # If here, they didn't set the --type flag and were trying to do + # something other the generating thumbnails or initial_processing else: raise Exception(_('You must set --type when trying to reprocess' ' all media_entries, unless you set --state' @@ -107,6 +114,8 @@ def _reprocess_all(args): def _run_reprocessing(args): + # Are they just asking for the available reprocessing options for the given + # media? if args[0].available: if args[0].state == 'failed': print _('\n Available reprocess actions for all failed' @@ -118,11 +127,20 @@ def _run_reprocessing(args): ' entries in the {} state'.format(args[0].type, args[0].state)) else: + # Run media reprocessing return hook_handle(('media_reprocess', args[0].type), args) def _set_media_state(args): + """ + This will verify that all media id's are in the same state. If the + --state flag is set, it will be replaced by the given media id's state. + + If they are trying to process different media states, an Exception will be + raised. + """ if args[0].media_id: + # Only check if we are given media_ids if len(args[0].media_id) == 1: args[0].state = MediaEntry.query.filter_by(id=args[0].media_id[0])\ .first().state @@ -133,6 +151,8 @@ def _set_media_state(args): for id in args[0].media_id: media_states.append(MediaEntry.query.filter_by(id=id).first() .state) + + # Make sure that all media are in the same state for state in media_states: if state != media_states[0]: raise Exception(_('You can only reprocess media that is in' @@ -140,11 +160,13 @@ def _set_media_state(args): args[0].state = media_states[0] + # If no state was set, then we will default to the processed state if not args[0].state: args[0].state = 'processed' def reprocess(args): + # Run eagerly unless explicetly set not to if not args[0].celery: os.environ['CELERY_ALWAYS_EAGER'] = 'true' commands_util.setup_app(args[0]) @@ -152,6 +174,7 @@ def reprocess(args): _set_media_state(args) _set_media_type(args) + # If no media_ids were given, then try to reprocess all entries if not args[0].media_id: return _reprocess_all(args) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 1aff21d4..de7de3ac 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -72,6 +72,9 @@ def get_media_type_and_manager(ext): def reprocess_action(args): + """ + List the available actions for media in a given state + """ if args[0].state == 'processed': print _('\n Available reprocessing actions for processed images:' '\n \t --resize: thumb or medium' @@ -81,9 +84,13 @@ def reprocess_action(args): def _parser(args): + """ + Parses the unknown args from the gmg parser + """ parser = argparse.ArgumentParser() parser.add_argument( - '--resize') + '--resize', + choices=['thumb', 'medium']) parser.add_argument( '--size', nargs=2, @@ -96,6 +103,10 @@ def _parser(args): def _check_eligible(entry_args, reprocess_args): + """ + Check to see if we can actually process the given media as requested + """ + if entry_args.state == 'processed': if reprocess_args.initial_processing: raise Exception(_('You can not run --initial_processing on media' @@ -118,36 +129,37 @@ def media_reprocess(args): reprocess_args = _parser(args) entry_args = args[0] + # Can we actually process the given media as requested? _check_eligible(entry_args, reprocess_args) + + # Do we want to re-try initial processing? if reprocess_args.initial_processing: for id in entry_args.media_id: entry = MediaEntry.query.filter_by(id=id).first() - # Should we get the feed_url? run_process_media(entry) + # Are we wanting to resize the thumbnail or medium? elif reprocess_args.resize: - if reprocess_args.resize == 'medium' or reprocess_args.resize == \ - 'thumb': - for id in entry_args.media_id: - entry = MediaEntry.query.filter_by(id=id).first() - # For now we can only reprocess with the original file - if not entry.media_files.get('original'): - raise Exception(_('The original file for this media entry' - ' does not exist.')) + # reprocess all given media entries + for id in entry_args.media_id: + entry = MediaEntry.query.filter_by(id=id).first() - reprocess_info = {'resize': reprocess_args.resize} + # For now we can only reprocess with the original file + if not entry.media_files.get('original'): + raise Exception(_('The original file for this media entry' + ' does not exist.')) - if reprocess_args.size: - reprocess_info['max_width'] = reprocess_args.size[0] - reprocess_info['max_height'] = reprocess_args.size[1] + reprocess_info = {'resize': reprocess_args.resize} - run_process_media(entry, reprocess_info=reprocess_info) + if reprocess_args.size: + reprocess_info['max_width'] = reprocess_args.size[0] + reprocess_info['max_height'] = reprocess_args.size[1] - else: - raise Exception(_('The --resize flag must set either "thumb"' - ' or "medium".')) + run_process_media(entry, reprocess_info=reprocess_info) + + # If we are here, they forgot to tell us how to reprocess else: _log.warn('You must set either --resize or --initial_processing flag' ' to reprocess an image.') diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 18b8bd4e..078ab0d8 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -73,12 +73,17 @@ def resize_image(proc_state, resized, keyname, target_name, new_size, proc_state.store_public(keyname, tmp_resized_filename, target_name) -def resize_tool(proc_state, force, keyname, filename, target_name, +def resize_tool(proc_state, force, keyname, target_name, conversions_subdir, exif_tags, new_size=None): + # Get the filename of the original file + filename = proc_state.get_orig_filename() + + # Use the default size if new_size was not given if not new_size: max_width = mgg.global_config['media:' + keyname]['max_width'] max_height = mgg.global_config['media:' + keyname]['max_height'] new_size = (max_width, max_height) + # If the size of the original file exceeds the specified size for the desized # file, a target_name file is created and later associated with the media # entry. @@ -125,74 +130,67 @@ def process_image(proc_state, reprocess_info=None): A Workbench() represents a local tempory dir. It is automatically cleaned up when this function exits. """ - entry = proc_state.entry - workbench = proc_state.workbench + def init(self, proc_state): + self.proc_state = proc_state + self.entry = proc_state.entry + self.workbench = proc_state.workbench - # Conversions subdirectory to avoid collisions - conversions_subdir = os.path.join( - workbench.dir, 'conversions') - os.mkdir(conversions_subdir) + # Conversions subdirectory to avoid collisions + self.conversions_subdir = os.path.join( + self.workbench.dir, 'convirsions') - if reprocess_info: - _reprocess_image(proc_state, reprocess_info, conversions_subdir) + self.orig_filename = proc_state.get_orig_filename() + self.name_builder = FilenameBuilder(self.orig_filename) - else: - queued_filename = proc_state.get_queued_filename() - name_builder = FilenameBuilder(queued_filename) + # Exif extraction + self.exif_tags = extract_exif(self.orig_filename) - # EXIF extraction - exif_tags = extract_exif(queued_filename) - gps_data = get_gps_data(exif_tags) + os.mkdir(self.conversions_subdir) - # Always create a small thumbnail - resize_tool(proc_state, True, 'thumb', queued_filename, - name_builder.fill('{basename}.thumbnail{ext}'), - conversions_subdir, exif_tags) + def initial_processing(self): + # Is there any GPS data + gps_data = get_gps_data(self.exif_tags) + + # Always create a small thumbnail + resize_tool(self.proc_state, True, 'thumb', self.orig_filename, + self.name_builder.fill('{basename}.thumbnail{ext}'), + self.conversions_subdir, self.exif_tags) # Possibly create a medium - resize_tool(proc_state, False, 'medium', queued_filename, - name_builder.fill('{basename}.medium{ext}'), - conversions_subdir, exif_tags) + resize_tool(self.proc_state, False, 'medium', self.orig_filename, + self.name_builder.fill('{basename}.medium{ext}'), + self.conversions_subdir, self.exif_tags) # Copy our queued local workbench to its final destination - proc_state.copy_original(name_builder.fill('{basename}{ext}')) + self.proc_state.copy_original(self.name_builder.fill('{basename}{ext}')) # Remove queued media file from storage and database - proc_state.delete_queue_file() + self.proc_state.delete_queue_file() # Insert exif data into database - exif_all = clean_exif(exif_tags) + exif_all = clean_exif(self.exif_tags) if len(exif_all): - entry.media_data_init(exif_all=exif_all) + self.entry.media_data_init(exif_all=exif_all) if len(gps_data): for key in list(gps_data.keys()): gps_data['gps_' + key] = gps_data.pop(key) - entry.media_data_init(**gps_data) + self.entry.media_data_init(**gps_data) + def reprocess(self, reprocess_info): + new_size = None -def _reprocess_image(proc_state, reprocess_info, conversions_subdir): - reprocess_filename = proc_state.get_reprocess_filename() - name_builder = FilenameBuilder(reprocess_filename) + # Did they specify a size? + if reprocess_info.get('max_width'): + max_width = reprocess_info['max_width'] + max_height = reprocess_info['max_height'] - exif_tags = extract_exif(reprocess_filename) - - if reprocess_info.get('max_width'): - max_width = reprocess_info['max_width'] - max_height = reprocess_info['max_height'] - else: - max_width = mgg.global_config \ - ['media:' + reprocess_info['resize']]['max_width'] - max_height = mgg.global_config \ - ['media:' + reprocess_info['resize']]['max_height'] - - new_size = (max_width, max_height) - - resize_tool(proc_state, False, reprocess_info['resize'], reprocess_filename, - name_builder.fill('{basename}.thumbnail{ext}'), - conversions_subdir, exif_tags, new_size) + new_size = (max_width, max_height) + resize_tool(self.proc_state, False, reprocess_info['resize'], + self.name_builder.fill('{basename}.medium{ext}'), + self.conversions_subdir, self.exif_tags, new_size) if __name__ == '__main__': import sys diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index c0dfb9b4..36ee31fd 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -89,9 +89,17 @@ class ProcessMedia(task.Task): proc_state = ProcessingState(entry) with mgg.workbench_manager.create() as workbench: + proc_state.set_workbench(workbench) - # run the processing code - entry.media_manager.processor(proc_state, reprocess_info) + processor = entry.media_manager.processor(proc_state) + + # If we have reprocess_info, let's reprocess + if reprocess_info: + processor.reprocess(reprocess_info) + + # Run initial processing + else: + processor.initial_processing() # We set the state to processed and save the entry here so there's # no need to save at the end of the processing stage, probably ;) From 45b20dce1ac5a8d9fb045faf67e796a8092f65e4 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 2 Aug 2013 15:20:59 -0700 Subject: [PATCH 021/160] change get_queued_filename to get_orig_filename and modified function --- mediagoblin/media_types/image/processing.py | 2 +- mediagoblin/processing/__init__.py | 48 +++++++++------------ 2 files changed, 22 insertions(+), 28 deletions(-) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 078ab0d8..665a2931 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -75,7 +75,7 @@ def resize_image(proc_state, resized, keyname, target_name, new_size, def resize_tool(proc_state, force, keyname, target_name, conversions_subdir, exif_tags, new_size=None): - # Get the filename of the original file + # filename -- the filename of the original image being resized filename = proc_state.get_orig_filename() # Use the default size if new_size was not given diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 13c677eb..60565e09 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -86,27 +86,37 @@ class ProcessingState(object): def __init__(self, entry): self.entry = entry self.workbench = None - self.queued_filename = None - self.reprocess_filename = None + self.orig_filename = None def set_workbench(self, wb): self.workbench = wb - def get_queued_filename(self): + def get_orig_filename(self): """ Get the a filename for the original, on local storage + + If the media entry has a queued_media_file, use that, otherwise + use the original. + + In the future, this will return the highest quality file available + if neither the original or queued file are available """ - if self.queued_filename is not None: - return self.queued_filename - queued_filepath = self.entry.queued_media_file - queued_filename = self.workbench.localized_file( - mgg.queue_store, queued_filepath, + if self.orig_filename is not None: + return self.orig_filename + + if self.entry.queued_media_file: + orig_filepath = self.entry.queued_media_file + else: + orig_filepath = self.entry.media_files['original'] + + orig_filename = self.workbench.localized_file( + mgg.queue_store, orig_filepath, 'source') - self.queued_filename = queued_filename - return queued_filename + self.orig_filename = orig_filename + return orig_filename def copy_original(self, target_name, keyname=u"original"): - self.store_public(keyname, self.get_queued_filename(), target_name) + self.store_public(keyname, self.get_orig_filename(), target_name) def store_public(self, keyname, local_file, target_name=None): if target_name is None: @@ -129,22 +139,6 @@ class ProcessingState(object): mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir self.entry.queued_media_file = [] - def get_reprocess_filename(self): - """ - Get the filename to use during reprocessing - """ - # Currently only returns the original file, but eventually will return - # the highest quality file if the original doesn't exist - if self.reprocess_filename is not None: - return self.reprocess_filename - - reprocess_filepath = self.entry.media_files['original'] - reprocess_filename = self.workbench.localized_file( - mgg.public_store, reprocess_filepath, - 'source') - self.reprocess_filename = reprocess_filename - return reprocess_filename - def mark_entry_failed(entry_id, exc): """ From 3988c9d66db47ded3df012bb2e8d8bf04f2f4fd4 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 6 Aug 2013 09:17:37 -0700 Subject: [PATCH 022/160] forgot to change to a class from a function after the refactor --- mediagoblin/media_types/image/__init__.py | 4 ++-- mediagoblin/media_types/image/processing.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index de7de3ac..e2b00e50 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -19,7 +19,7 @@ import logging from mediagoblin.db.models import MediaEntry from mediagoblin.media_types import MediaManagerBase -from mediagoblin.media_types.image.processing import process_image, \ +from mediagoblin.media_types.image.processing import ProcessImage, \ sniff_handler from mediagoblin.submit.lib import run_process_media from mediagoblin.tools import pluginapi @@ -38,7 +38,7 @@ def setup_plugin(): class ImageMediaManager(MediaManagerBase): human_readable = "Image" - processor = staticmethod(process_image) + processor = ProcessImage display_template = "mediagoblin/media_displays/image.html" default_thumb = "images/media_thumbs/image.png" diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 665a2931..8126ea2d 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -124,7 +124,7 @@ def sniff_handler(media_file, **kw): return None -def process_image(proc_state, reprocess_info=None): +class ProcessImage(object): """Code to process an image. Will be run by celery. A Workbench() represents a local tempory dir. It is automatically From 7ac66a3dd095c8358e7392702f2948265135dc1c Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 6 Aug 2013 09:47:09 -0700 Subject: [PATCH 023/160] Refactor processing/reprocessing functions into ProcessImage class --- mediagoblin/media_types/image/__init__.py | 102 +----------------- mediagoblin/media_types/image/processing.py | 110 +++++++++++++++++++- 2 files changed, 111 insertions(+), 101 deletions(-) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index e2b00e50..072611e7 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -13,17 +13,13 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import argparse import datetime import logging -from mediagoblin.db.models import MediaEntry from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.image.processing import ProcessImage, \ sniff_handler -from mediagoblin.submit.lib import run_process_media from mediagoblin.tools import pluginapi -from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ _log = logging.getLogger(__name__) @@ -71,105 +67,11 @@ def get_media_type_and_manager(ext): return MEDIA_TYPE, ImageMediaManager -def reprocess_action(args): - """ - List the available actions for media in a given state - """ - if args[0].state == 'processed': - print _('\n Available reprocessing actions for processed images:' - '\n \t --resize: thumb or medium' - '\n Options:' - '\n \t --size: max_width max_height (defaults to config specs)') - return True - - -def _parser(args): - """ - Parses the unknown args from the gmg parser - """ - parser = argparse.ArgumentParser() - parser.add_argument( - '--resize', - choices=['thumb', 'medium']) - parser.add_argument( - '--size', - nargs=2, - type=int) - parser.add_argument( - '--initial_processing', - action='store_true') - - return parser.parse_args(args[1]) - - -def _check_eligible(entry_args, reprocess_args): - """ - Check to see if we can actually process the given media as requested - """ - - if entry_args.state == 'processed': - if reprocess_args.initial_processing: - raise Exception(_('You can not run --initial_processing on media' - ' that has already been processed.')) - - if entry_args.state == 'failed': - if reprocess_args.resize: - raise Exception(_('You can not run --resize on media that has not' - ' been processed.')) - if reprocess_args.size: - _log.warn('With --initial_processing, the --size flag will be' - ' ignored.') - - if entry_args.state == 'processing': - raise Exception(_('We currently do not support reprocessing on media' - ' that is in the "processing" state.')) - - -def media_reprocess(args): - reprocess_args = _parser(args) - entry_args = args[0] - - # Can we actually process the given media as requested? - _check_eligible(entry_args, reprocess_args) - - # Do we want to re-try initial processing? - if reprocess_args.initial_processing: - for id in entry_args.media_id: - entry = MediaEntry.query.filter_by(id=id).first() - run_process_media(entry) - - # Are we wanting to resize the thumbnail or medium? - elif reprocess_args.resize: - - # reprocess all given media entries - for id in entry_args.media_id: - entry = MediaEntry.query.filter_by(id=id).first() - - # For now we can only reprocess with the original file - if not entry.media_files.get('original'): - raise Exception(_('The original file for this media entry' - ' does not exist.')) - - reprocess_info = {'resize': reprocess_args.resize} - - if reprocess_args.size: - reprocess_info['max_width'] = reprocess_args.size[0] - reprocess_info['max_height'] = reprocess_args.size[1] - - run_process_media(entry, reprocess_info=reprocess_info) - - - # If we are here, they forgot to tell us how to reprocess - else: - _log.warn('You must set either --resize or --initial_processing flag' - ' to reprocess an image.') - - hooks = { 'setup': setup_plugin, 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: ImageMediaManager, - ('reprocess_action', 'image'): reprocess_action, - ('media_reprocess', 'image'): media_reprocess, + ('reprocess_action', 'image'): ProcessImage().reprocess_action, + ('media_reprocess', 'image'): ProcessImage().media_reprocess, } diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 8126ea2d..7ac3ac17 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -20,12 +20,16 @@ except ImportError: import Image import os import logging +import argparse from mediagoblin import mg_globals as mgg +from mediagoblin.db.models import MediaEntry from mediagoblin.processing import BadMediaFail, FilenameBuilder +from mediagoblin.submit.lib import run_process_media from mediagoblin.tools.exif import exif_fix_image_orientation, \ extract_exif, clean_exif, get_gps_data, get_useful, \ exif_image_needs_rotation +from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ _log = logging.getLogger(__name__) @@ -147,6 +151,58 @@ class ProcessImage(object): os.mkdir(self.conversions_subdir) + def reprocess_action(self, args): + """ + List the available actions for media in a given state + """ + if args[0].state == 'processed': + print _('\n Available reprocessing actions for processed images:' + '\n \t --resize: thumb or medium' + '\n Options:' + '\n \t --size: max_width max_height (defaults to' + 'config specs)') + return True + + def _parser(self, args): + """ + Parses the unknown args from the gmg parser + """ + parser = argparse.ArgumentParser() + parser.add_argument( + '--resize', + choices=['thumb', 'medium']) + parser.add_argument( + '--size', + nargs=2, + type=int) + parser.add_argument( + '--initial_processing', + action='store_true') + + return parser.parse_args(args[1]) + + def _check_eligible(self, entry_args, reprocess_args): + """ + Check to see if we can actually process the given media as requested + """ + + if entry_args.state == 'processed': + if reprocess_args.initial_processing: + raise Exception(_('You can not run --initial_processing on' + ' media that has already been processed.')) + + if entry_args.state == 'failed': + if reprocess_args.resize: + raise Exception(_('You can not run --resize on media that has' + ' not been processed.')) + if reprocess_args.size: + _log.warn('With --initial_processing, the --size flag will be' + ' ignored.') + + if entry_args.state == 'processing': + raise Exception(_('We currently do not support reprocessing on' + ' media that is in the "processing" state.')) + def initial_processing(self): # Is there any GPS data gps_data = get_gps_data(self.exif_tags) @@ -179,9 +235,14 @@ class ProcessImage(object): self.entry.media_data_init(**gps_data) def reprocess(self, reprocess_info): + """ + This function actually does the reprocessing when called by + ProcessMedia in gmg/processing/task.py + """ new_size = None - # Did they specify a size? + # Did they specify a size? They must specify either both or none, so + # we only need to check if one is present if reprocess_info.get('max_width'): max_width = reprocess_info['max_width'] max_height = reprocess_info['max_height'] @@ -192,6 +253,53 @@ class ProcessImage(object): self.name_builder.fill('{basename}.medium{ext}'), self.conversions_subdir, self.exif_tags, new_size) + def media_reprocess(self, args): + """ + This function handles the all of the reprocessing logic, before calling + gmg/submit/lib/run_process_media + """ + reprocess_args = self._parser(args) + entry_args = args[0] + + # Can we actually process the given media as requested? + self._check_eligible(entry_args, reprocess_args) + + # Do we want to re-try initial processing? + if reprocess_args.initial_processing: + for id in entry_args.media_id: + entry = MediaEntry.query.filter_by(id=id).first() + run_process_media(entry) + + # Are we wanting to resize the thumbnail or medium? + elif reprocess_args.resize: + + # reprocess all given media entries + for id in entry_args.media_id: + entry = MediaEntry.query.filter_by(id=id).first() + + # For now we can only reprocess with the original file + if not entry.media_files.get('original'): + raise Exception(_('The original file for this media entry' + ' does not exist.')) + + reprocess_info = self._get_reprocess_info(reprocess_args) + run_process_media(entry, reprocess_info=reprocess_info) + + # If we are here, they forgot to tell us how to reprocess + else: + _log.warn('You must set either --resize or --initial_processing' + ' flag to reprocess an image.') + + def _get_reprocess_info(self, args): + """ Returns a dict with the info needed for reprocessing""" + reprocess_info = {'resize': args.resize} + + if args.size: + reprocess_info['max_width'] = args.size[0] + reprocess_info['max_height'] = args.size[1] + + return reprocess_info + if __name__ == '__main__': import sys import pprint From c541fb71f7f92ce13783400cf9b22083f38ae189 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 6 Aug 2013 10:48:26 -0700 Subject: [PATCH 024/160] fix storage paramater in get_orig_filename(), fix __init__ for ProceessImage, better description for --size flag --- mediagoblin/media_types/image/__init__.py | 2 +- mediagoblin/media_types/image/processing.py | 26 +++++++++++---------- mediagoblin/processing/__init__.py | 4 +++- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 072611e7..68376f7f 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -34,7 +34,7 @@ def setup_plugin(): class ImageMediaManager(MediaManagerBase): human_readable = "Image" - processor = ProcessImage + processor = staticmethod(ProcessImage) display_template = "mediagoblin/media_displays/image.html" default_thumb = "images/media_thumbs/image.png" diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 7ac3ac17..c97811b1 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -134,22 +134,23 @@ class ProcessImage(object): A Workbench() represents a local tempory dir. It is automatically cleaned up when this function exits. """ - def init(self, proc_state): - self.proc_state = proc_state - self.entry = proc_state.entry - self.workbench = proc_state.workbench + def __init__(self, proc_state=None): + if proc_state: + self.proc_state = proc_state + self.entry = proc_state.entry + self.workbench = proc_state.workbench - # Conversions subdirectory to avoid collisions - self.conversions_subdir = os.path.join( - self.workbench.dir, 'convirsions') + # Conversions subdirectory to avoid collisions + self.conversions_subdir = os.path.join( + self.workbench.dir, 'convirsions') - self.orig_filename = proc_state.get_orig_filename() - self.name_builder = FilenameBuilder(self.orig_filename) + self.orig_filename = proc_state.get_orig_filename() + self.name_builder = FilenameBuilder(self.orig_filename) - # Exif extraction - self.exif_tags = extract_exif(self.orig_filename) + # Exif extraction + self.exif_tags = extract_exif(self.orig_filename) - os.mkdir(self.conversions_subdir) + os.mkdir(self.conversions_subdir) def reprocess_action(self, args): """ @@ -174,6 +175,7 @@ class ProcessImage(object): parser.add_argument( '--size', nargs=2, + metavar=('max_width', 'max_height'), type=int) parser.add_argument( '--initial_processing', diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 60565e09..5ce9281b 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -106,11 +106,13 @@ class ProcessingState(object): if self.entry.queued_media_file: orig_filepath = self.entry.queued_media_file + storage = mgg.queue_store else: orig_filepath = self.entry.media_files['original'] + storage = mgg.public_store orig_filename = self.workbench.localized_file( - mgg.queue_store, orig_filepath, + storage, orig_filepath, 'source') self.orig_filename = orig_filename return orig_filename From 14565fb72022e015ee9ba64cf087befb33516b71 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 7 Aug 2013 15:01:46 -0500 Subject: [PATCH 025/160] started coding basics of new processing code --- mediagoblin/processing/__init__.py | 52 ++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 5ce9281b..95f346d2 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -74,6 +74,58 @@ class FilenameBuilder(object): ext=self.ext) + + +class MediaProcessor(object): + # You MUST override this in the child MediaProcessor! + name = None + + def __init__(self, manager): + self.manager = manager + + def media_is_eligibile(self, media_entry): + raise NotImplementedError + + def process(self): + raise NotImplementedError + + def generate_parser(self): + raise NotImplementedError + + +class ProcessingManager(object): + def __init__(self, entry): + self.entry = entry + # May merge these two classes soon.... + self.state = ProcessingState(entry) + + # Dict of all MediaProcessors of this media type + self.processors = {} + + def add_processor(self, processor): + """ + Add a processor class to this media type + """ + name = processor.name + if name is None: + raise AttributeError("Processor class's .name attribute not set") + + self.processors[name] = processor + + def list_eligible_processors(self): + """ + List all processors that this media entry is eligible to be processed + for. + """ + return [ + processor + for processor in self.processors.keys() + if processor.media_is_eligible(self.entry)] + + def process(self, processor): + pass + + class ProcessingState(object): """ The first and only argument to the "processor" of a media type From 274a0f67fd9c36fe01950f2547425fb115c59aff Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 7 Aug 2013 17:07:19 -0500 Subject: [PATCH 026/160] Documentation for the MediaProcessor --- mediagoblin/processing/__init__.py | 58 +++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 95f346d2..41028fbb 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -75,25 +75,75 @@ class FilenameBuilder(object): - class MediaProcessor(object): + """A particular processor for this media type. + + While the ProcessingManager handles all types of MediaProcessing + possible for a particular media type, a MediaProcessor can be + thought of as a *particular* processing action for a media type. + For example, you may have separate MediaProcessors for: + + - initial_processing: the intial processing of a media + - gen_thumb: generate a thumbnail + - resize: resize an image + - transcode: transcode a video + + ... etc. + + Some information on producing a new MediaProcessor for your media type: + + - You *must* supply a name attribute. This must be a class level + attribute, and a string. This will be used to determine the + subcommand of your process + - It's recommended that you supply a class level description + attribute. + - Supply a media_is_eligible classmethod. This will be used to + determine whether or not a media entry is eligible to use this + processor type. See the method documentation for details. + - To give "./bin/gmg reprocess run" abilities to this media type, + supply both gnerate_parser and parser_to_request classmethods. + - The process method will be what actually processes your media. + """ # You MUST override this in the child MediaProcessor! name = None + # Optional, but will be used in various places to describe the + # action this MediaProcessor provides + description = None + def __init__(self, manager): self.manager = manager + def process(self, **kwargs): + """ + Actually process this media entry. + """ + raise NotImplementedError + + @classmethod def media_is_eligibile(self, media_entry): raise NotImplementedError - def process(self): - raise NotImplementedError + ############################### + # Command line interface things + ############################### + @classmethod def generate_parser(self): raise NotImplementedError + @classmethod + def parser_to_request(self, parser): + raise NotImplementedError + + ########################################## + # THE FUTURE: web interface things here :) + ########################################## + class ProcessingManager(object): + """ + """ def __init__(self, entry): self.entry = entry # May merge these two classes soon.... @@ -122,7 +172,7 @@ class ProcessingManager(object): for processor in self.processors.keys() if processor.media_is_eligible(self.entry)] - def process(self, processor): + def process(self, directive, request): pass From e4bdc9091c392bf31d40bcb5ae12b92e17a6cb2a Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 8 Aug 2013 13:53:28 -0500 Subject: [PATCH 027/160] More steps towards a working reprocessing system. Fleshing out the base classes and setting up some docstrings. Not everything is totally clear yet, but I think it's on a good track, and getting clearer. This commit sponsored by Ben Finney, on behalf of Free Software Melbourne. Thank you all! --- mediagoblin/processing/__init__.py | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 41028fbb..66ef2a53 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -114,6 +114,10 @@ class MediaProcessor(object): def __init__(self, manager): self.manager = manager + # Should be initialized at time of processing, at least + self.workbench = None + + # @with_workbench def process(self, **kwargs): """ Actually process this media entry. @@ -142,13 +146,12 @@ class MediaProcessor(object): class ProcessingManager(object): - """ - """ - def __init__(self, entry): - self.entry = entry - # May merge these two classes soon.... - self.state = ProcessingState(entry) + """Manages all the processing actions available for a media type + Specific processing actions, MediaProcessor subclasses, are added + to the ProcessingManager. + """ + def __init__(self): # Dict of all MediaProcessors of this media type self.processors = {} @@ -162,7 +165,7 @@ class ProcessingManager(object): self.processors[name] = processor - def list_eligible_processors(self): + def list_eligible_processors(self, entry): """ List all processors that this media entry is eligible to be processed for. @@ -170,9 +173,16 @@ class ProcessingManager(object): return [ processor for processor in self.processors.keys() - if processor.media_is_eligible(self.entry)] + if processor.media_is_eligible(entry)] - def process(self, directive, request): + def gen_process_request_via_cli(self, subparser): + # Got to figure out what actually goes here before I can write this properly + pass + + def process(self, entry, directive, request): + """ + Process a media entry. + """ pass From 58bacb33aca6505673f90460d31811ed487bcb4c Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 Aug 2013 11:20:21 -0500 Subject: [PATCH 028/160] More progress towards the new reprocessing infrastructure: args updating This commit sponsored by Elizabeth Webber. Thanks, sis! --- mediagoblin/gmg_commands/__init__.py | 12 ++-- mediagoblin/gmg_commands/reprocess.py | 82 ++++++++++++++++++----- mediagoblin/media_types/image/__init__.py | 4 +- 3 files changed, 75 insertions(+), 23 deletions(-) diff --git a/mediagoblin/gmg_commands/__init__.py b/mediagoblin/gmg_commands/__init__.py index d3b28a3d..165a76fd 100644 --- a/mediagoblin/gmg_commands/__init__.py +++ b/mediagoblin/gmg_commands/__init__.py @@ -96,16 +96,16 @@ def main_cli(): subparser.set_defaults(func=exec_func) - args = parser.parse_known_args() - args[0].orig_conf_file = args[0].conf_file - if args[0].conf_file is None: + args = parser.parse_args() + args.orig_conf_file = args.conf_file + if args.conf_file is None: if os.path.exists('mediagoblin_local.ini') \ and os.access('mediagoblin_local.ini', os.R_OK): - args[0].conf_file = 'mediagoblin_local.ini' + args.conf_file = 'mediagoblin_local.ini' else: - args[0].conf_file = 'mediagoblin.ini' + args.conf_file = 'mediagoblin.ini' - args[0].func(args) + args.func(args) if __name__ == '__main__': diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 4df0d581..30575033 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -13,6 +13,7 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import argparse import os from mediagoblin import mg_globals @@ -23,30 +24,63 @@ from mediagoblin.tools.pluginapi import hook_handle def reprocess_parser_setup(subparser): - subparser.add_argument( - '--available', '-a', - action="store_true", - help="List available actions for a given media entry") - subparser.add_argument( + subparsers = subparser.add_subparsers(dest="reprocess_subcommand") + + ################### + # available command + ################### + available_parser = subparsers.add_parser( + "available", + help="Find out what actions are available for this media") + + available_parser.add_argument( + "id_or_type", + help="Media id or media type to check") + + + ############################################ + # run command (TODO: and bulk_run command??) + ############################################ + + run_parser = subparsers.add_parser( + "run", + help="Run a reprocessing on one or more media") + + run_parser.add_argument( '--state', '-s', help="Reprocess media entries in this state" " such as 'failed' or 'processed'") - subparser.add_argument( + run_parser.add_argument( '--type', '-t', help="The type of media to be reprocessed such as 'video' or 'image'") - subparser.add_argument( - '--media_id', - nargs='*', - help="The media_entry id(s) you wish to reprocess.") - subparser.add_argument( + run_parser.add_argument( '--thumbnails', action="store_true", help="Regenerate thumbnails for all processed media") - subparser.add_argument( + run_parser.add_argument( '--celery', action='store_true', help="Don't process eagerly, pass off to celery") + run_parser.add_argument( + 'media_id', + help="The media_entry id(s) you wish to reprocess.") + + run_parser.add_argument( + 'reprocess_command', + help="The reprocess command you intend to run") + + run_parser.add_argument( + 'reprocess_args', + nargs=argparse.REMAINDER, + help="rest of arguments to the reprocessing tool") + + + ############### + # help command? + ############### + + def _set_media_type(args): """ @@ -165,11 +199,22 @@ def _set_media_state(args): args[0].state = 'processed' -def reprocess(args): +def available(args): + # Get the media type, either by looking up media id, or by specific type + + ### TODO: look up by id + + # + pass + + +def run(args): + ### OLD CODE, review + # Run eagerly unless explicetly set not to - if not args[0].celery: + if not args.celery: os.environ['CELERY_ALWAYS_EAGER'] = 'true' - commands_util.setup_app(args[0]) + commands_util.setup_app(args) _set_media_state(args) _set_media_type(args) @@ -179,3 +224,10 @@ def reprocess(args): return _reprocess_all(args) return _run_reprocessing(args) + + +def reprocess(args): + if args.reprocess_subcommand == "run": + run(args) + elif args.reprocess_subcommand == "available": + available(args) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 68376f7f..17689393 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -72,6 +72,6 @@ hooks = { 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: ImageMediaManager, - ('reprocess_action', 'image'): ProcessImage().reprocess_action, - ('media_reprocess', 'image'): ProcessImage().media_reprocess, + ('reprocess_action', MEDIA_TYPE): ProcessImage().reprocess_action, + ('media_reprocess', MEDIA_TYPE): ProcessImage().media_reprocess, } From 85ead8ac3cf59aeee12ddd3b33ecfeb03c3aa946 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 Aug 2013 12:13:53 -0500 Subject: [PATCH 029/160] "initial" reprocessing subcommand now works! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We are on our way now to a working reprocessing system under this redesign! This commit sponsored by Bjarni Rúnar Einarsson. Thank you! --- mediagoblin/gmg_commands/reprocess.py | 33 +++++++++-- mediagoblin/media_types/image/__init__.py | 6 +- mediagoblin/media_types/image/processing.py | 64 ++++++++++++++++++++- mediagoblin/processing/__init__.py | 8 ++- 4 files changed, 100 insertions(+), 11 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 30575033..d6ac99ac 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -199,13 +199,35 @@ def _set_media_state(args): args[0].state = 'processed' +def extract_entry_and_type(media_id): + raise NotImplementedError + + def available(args): # Get the media type, either by looking up media id, or by specific type - - ### TODO: look up by id + try: + media_id = int(args.id_or_type) + media_type, media_entry = extract_entry_and_type(media_id) + except ValueError: + media_type = args.id_or_type + media_entry = None - # - pass + manager_class = hook_handle(('reprocess_manager', media_type)) + manager = manager_class() + + if media_entry is None: + processors = manager.list_all_processors() + else: + processors = manager.list_eligible_processors(media_entry) + + print "Available processors:" + print "---------------------" + + for processor in processors: + if processor.description: + print " - %s: %s" % (processor.name, processor.description) + else: + print " - %s" % processor.name def run(args): @@ -214,7 +236,6 @@ def run(args): # Run eagerly unless explicetly set not to if not args.celery: os.environ['CELERY_ALWAYS_EAGER'] = 'true' - commands_util.setup_app(args) _set_media_state(args) _set_media_type(args) @@ -227,6 +248,8 @@ def run(args): def reprocess(args): + commands_util.setup_app(args) + if args.reprocess_subcommand == "run": run(args) elif args.reprocess_subcommand == "available": diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 17689393..774b9bfa 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -18,7 +18,7 @@ import logging from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.image.processing import ProcessImage, \ - sniff_handler + sniff_handler, ImageProcessingManager from mediagoblin.tools import pluginapi _log = logging.getLogger(__name__) @@ -72,6 +72,6 @@ hooks = { 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: ImageMediaManager, - ('reprocess_action', MEDIA_TYPE): ProcessImage().reprocess_action, - ('media_reprocess', MEDIA_TYPE): ProcessImage().media_reprocess, + ('reprocess_manager', MEDIA_TYPE): lambda: ImageProcessingManager, + # ('media_reprocess', MEDIA_TYPE): ProcessImage().media_reprocess, } diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index c97811b1..ea372e76 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -24,7 +24,9 @@ import argparse from mediagoblin import mg_globals as mgg from mediagoblin.db.models import MediaEntry -from mediagoblin.processing import BadMediaFail, FilenameBuilder +from mediagoblin.processing import ( + BadMediaFail, FilenameBuilder, + MediaProcessor, ProcessingManager) from mediagoblin.submit.lib import run_process_media from mediagoblin.tools.exif import exif_fix_image_orientation, \ extract_exif, clean_exif, get_gps_data, get_useful, \ @@ -302,6 +304,66 @@ class ProcessImage(object): return reprocess_info + +class CommonImageProcessor(MediaProcessor): + """ + Provides a base for various media processing steps + """ + # Common resizing step + def resize_step(self): + pass + + def _add_width_height_args(self, parser): + parser.add_argument( + "--width", default=None, + help=( + "Width of the resized image (if not using defaults)")) + parser.add_argument( + "--height", default=None, + help=( + "Height of the resized image (if not using defaults)")) + + +class InitialProcessor(CommonImageProcessor): + """ + Initial processing step for new images + """ + name = "initial" + description = "Initial processing" + + @classmethod + def media_is_eligibile(self, media_entry): + """ + Determine if this media type is eligible for processing + """ + return media_entry.state in ( + "unprocessed", "failed") + + ############################### + # Command line interface things + ############################### + + @classmethod + def generate_parser(self): + parser = argparse.ArgumentParser( + description=self.description) + + self._add_width_height_args(parser) + + return parser + + @classmethod + def args_to_request(self, args): + raise NotImplementedError + + + +class ImageProcessingManager(ProcessingManager): + def __init__(self): + super(self.__class__, self).__init__() + self.add_processor(InitialProcessor) + + if __name__ == '__main__': import sys import pprint diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 66ef2a53..95622b9d 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -14,6 +14,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from collections import OrderedDict import logging import os @@ -153,7 +154,7 @@ class ProcessingManager(object): """ def __init__(self): # Dict of all MediaProcessors of this media type - self.processors = {} + self.processors = OrderedDict() def add_processor(self, processor): """ @@ -172,9 +173,12 @@ class ProcessingManager(object): """ return [ processor - for processor in self.processors.keys() + for processor in self.processors.values() if processor.media_is_eligible(entry)] + def list_all_processors(self): + return self.processors.values() + def gen_process_request_via_cli(self, subparser): # Got to figure out what actually goes here before I can write this properly pass From 55a10fef0ae97cb33c8393a7a25487c2666b4cf1 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 Aug 2013 13:56:23 -0500 Subject: [PATCH 030/160] `gmg reprocess available --action-help` now tells you processor arguments! Every reprocessing action possible can inform you of its command line argument stuff! Is that awesome or what? --- mediagoblin/gmg_commands/reprocess.py | 26 ++++++++++++++++----- mediagoblin/media_types/image/processing.py | 14 ++++++----- mediagoblin/processing/__init__.py | 6 ++--- 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index d6ac99ac..70163928 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -37,6 +37,11 @@ def reprocess_parser_setup(subparser): "id_or_type", help="Media id or media type to check") + available_parser.add_argument( + "--action-help", + action="store_true", + help="List argument help for each action available") + ############################################ # run command (TODO: and bulk_run command??) @@ -221,13 +226,22 @@ def available(args): processors = manager.list_eligible_processors(media_entry) print "Available processors:" - print "---------------------" + print "=====================" - for processor in processors: - if processor.description: - print " - %s: %s" % (processor.name, processor.description) - else: - print " - %s" % processor.name + if args.action_help: + for processor in processors: + print processor.name + print "-" * len(processor.name) + + parser = processor.generate_parser() + parser.print_help() + + else: + for processor in processors: + if processor.description: + print " - %s: %s" % (processor.name, processor.description) + else: + print " - %s" % processor.name def run(args): diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index ea372e76..f4ba4e5a 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -313,7 +313,8 @@ class CommonImageProcessor(MediaProcessor): def resize_step(self): pass - def _add_width_height_args(self, parser): + @classmethod + def _add_width_height_args(cls, parser): parser.add_argument( "--width", default=None, help=( @@ -332,7 +333,7 @@ class InitialProcessor(CommonImageProcessor): description = "Initial processing" @classmethod - def media_is_eligibile(self, media_entry): + def media_is_eligibile(cls, media_entry): """ Determine if this media type is eligible for processing """ @@ -344,16 +345,17 @@ class InitialProcessor(CommonImageProcessor): ############################### @classmethod - def generate_parser(self): + def generate_parser(cls): parser = argparse.ArgumentParser( - description=self.description) + description=cls.description, + prog=cls.name) - self._add_width_height_args(parser) + cls._add_width_height_args(parser) return parser @classmethod - def args_to_request(self, args): + def args_to_request(cls, args): raise NotImplementedError diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 95622b9d..9e77d2b2 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -126,7 +126,7 @@ class MediaProcessor(object): raise NotImplementedError @classmethod - def media_is_eligibile(self, media_entry): + def media_is_eligibile(cls, media_entry): raise NotImplementedError ############################### @@ -134,11 +134,11 @@ class MediaProcessor(object): ############################### @classmethod - def generate_parser(self): + def generate_parser(cls): raise NotImplementedError @classmethod - def parser_to_request(self, parser): + def parser_to_request(cls, parser): raise NotImplementedError ########################################## From 19ed12b2790ec32d993e6e73c101ea820fe3ed29 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 Aug 2013 14:10:52 -0500 Subject: [PATCH 031/160] Whitespacin' it up. --- mediagoblin/gmg_commands/reprocess.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 70163928..62a6d428 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -227,6 +227,7 @@ def available(args): print "Available processors:" print "=====================" + print "" if args.action_help: for processor in processors: @@ -235,6 +236,7 @@ def available(args): parser = processor.generate_parser() parser.print_help() + print "" else: for processor in processors: @@ -266,5 +268,6 @@ def reprocess(args): if args.reprocess_subcommand == "run": run(args) + elif args.reprocess_subcommand == "available": available(args) From 7a414c8d42d63685655c0142345dcae6c66726af Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 Aug 2013 14:15:18 -0500 Subject: [PATCH 032/160] Moving celery setup to the right place This commit sponsored by Jose Manuel Zueco Lazaro. Thank you! --- mediagoblin/gmg_commands/reprocess.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 62a6d428..2af88847 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -249,10 +249,6 @@ def available(args): def run(args): ### OLD CODE, review - # Run eagerly unless explicetly set not to - if not args.celery: - os.environ['CELERY_ALWAYS_EAGER'] = 'true' - _set_media_state(args) _set_media_type(args) @@ -264,6 +260,10 @@ def run(args): def reprocess(args): + # Run eagerly unless explicetly set not to + if not args.celery: + os.environ['CELERY_ALWAYS_EAGER'] = 'true' + commands_util.setup_app(args) if args.reprocess_subcommand == "run": From 4ba5bdd96ef3703d8da216ca3dd92f080214f164 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 Aug 2013 16:12:06 -0500 Subject: [PATCH 033/160] Steps toward working "run" reprocessing command. This commit sponsored by Philippe Casteleyn. Thank you! --- mediagoblin/gmg_commands/reprocess.py | 39 ++++++++++++++++----- mediagoblin/media_types/image/processing.py | 2 +- mediagoblin/processing/__init__.py | 26 +++++++++++++- 3 files changed, 57 insertions(+), 10 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 2af88847..0d8db858 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -21,6 +21,7 @@ from mediagoblin.db.models import MediaEntry from mediagoblin.gmg_commands import util as commands_util from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from mediagoblin.tools.pluginapi import hook_handle +from mediagoblin.processing import ProcessorDoesNotExist, ProcessorNotEligible def reprocess_parser_setup(subparser): @@ -204,8 +205,17 @@ def _set_media_state(args): args[0].state = 'processed' +class MediaEntryNotFound(Exception): pass + def extract_entry_and_type(media_id): - raise NotImplementedError + """ + Fetch a media entry, as well as its media type + """ + entry = MediaEntry.query.filter_by(id=media_id).first() + if entry is None: + raise MediaEntryNotFound("Can't find media with id '%s'" % media_id) + + return entry.media_type, entry def available(args): @@ -247,16 +257,29 @@ def available(args): def run(args): - ### OLD CODE, review + media_type, media_entry = extract_entry_and_type(args.media_id) - _set_media_state(args) - _set_media_type(args) + manager_class = hook_handle(('reprocess_manager', media_type)) + manager = manager_class() - # If no media_ids were given, then try to reprocess all entries - if not args[0].media_id: - return _reprocess_all(args) + # TOOD: Specify in error + try: + processor_class = manager.get_processor( + args.reprocess_command, media_entry) + except ProcessorDoesNotExist: + print 'No such processor "%s" for media with id "%s"' % ( + args.reprocess_command, media_entry.id) + return + except ProcessorNotEligible: + print 'Processor "%s" exists but media "%s" is not eligible' % ( + args.reprocess_command, media_entry.id) + return - return _run_reprocessing(args) + reprocess_parser = processor_class.generate_parser() + reprocess_args = reprocess_parser.parse_args(args.reprocess_args) + + import pdb + pdb.set_trace() def reprocess(args): diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index f4ba4e5a..575e9f5f 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -333,7 +333,7 @@ class InitialProcessor(CommonImageProcessor): description = "Initial processing" @classmethod - def media_is_eligibile(cls, media_entry): + def media_is_eligible(cls, media_entry): """ Determine if this media type is eligible for processing """ diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 9e77d2b2..6ef203cb 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -126,7 +126,7 @@ class MediaProcessor(object): raise NotImplementedError @classmethod - def media_is_eligibile(cls, media_entry): + def media_is_eligible(cls, media_entry): raise NotImplementedError ############################### @@ -146,6 +146,11 @@ class MediaProcessor(object): ########################################## +class ProcessingKeyError(Exception): pass +class ProcessorDoesNotExist(ProcessingKeyError): pass +class ProcessorNotEligible(ProcessingKeyError): pass + + class ProcessingManager(object): """Manages all the processing actions available for a media type @@ -183,6 +188,25 @@ class ProcessingManager(object): # Got to figure out what actually goes here before I can write this properly pass + def get_processor(self, key, entry=None): + """ + Get the processor with this key. + + If entry supplied, make sure this entry is actually compatible; + otherwise raise error. + """ + try: + processor = self.processors[key] + except KeyError: + raise ProcessorDoesNotExist( + "'%s' processor does not exist for this media type" % key) + + if entry and not processor.media_is_eligible(entry): + raise ProcessorNotEligible( + "This entry is not eligible for processor with name '%s'" % key) + + return processor + def process(self, entry, directive, request): """ Process a media entry. From d1e9913b71a6f3b7bb41f5eee1051093b92fcd8a Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Fri, 9 Aug 2013 17:30:52 -0500 Subject: [PATCH 034/160] Should be enough to get to the point where you can actually initialize a processing command now. However, it doesn't celery task-ify it... This commit sponsored by Catalin Cosovanu. Thank you! --- mediagoblin/gmg_commands/reprocess.py | 9 +++++---- mediagoblin/media_types/image/processing.py | 6 ++++-- mediagoblin/processing/__init__.py | 16 ++++++++++++++-- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 0d8db858..6d04427e 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -262,7 +262,8 @@ def run(args): manager_class = hook_handle(('reprocess_manager', media_type)) manager = manager_class() - # TOOD: Specify in error + # TODO: (maybe?) This could probably be handled entirely by the + # processor class... try: processor_class = manager.get_processor( args.reprocess_command, media_entry) @@ -277,9 +278,9 @@ def run(args): reprocess_parser = processor_class.generate_parser() reprocess_args = reprocess_parser.parse_args(args.reprocess_args) - - import pdb - pdb.set_trace() + reprocess_request = processor_class.args_to_request(reprocess_args) + processor = processor_class(manager, media_entry) + processor.process(**reprocess_request) def reprocess(args): diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 575e9f5f..83b4adff 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -26,7 +26,8 @@ from mediagoblin import mg_globals as mgg from mediagoblin.db.models import MediaEntry from mediagoblin.processing import ( BadMediaFail, FilenameBuilder, - MediaProcessor, ProcessingManager) + MediaProcessor, ProcessingManager, + request_from_args) from mediagoblin.submit.lib import run_process_media from mediagoblin.tools.exif import exif_fix_image_orientation, \ extract_exif, clean_exif, get_gps_data, get_useful, \ @@ -356,7 +357,8 @@ class InitialProcessor(CommonImageProcessor): @classmethod def args_to_request(cls, args): - raise NotImplementedError + return request_from_args( + args, ['width', 'height']) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 6ef203cb..1c8f7202 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -112,8 +112,9 @@ class MediaProcessor(object): # action this MediaProcessor provides description = None - def __init__(self, manager): + def __init__(self, manager, media_entry): self.manager = manager + self.media_entry = media_entry # Should be initialized at time of processing, at least self.workbench = None @@ -138,7 +139,7 @@ class MediaProcessor(object): raise NotImplementedError @classmethod - def parser_to_request(cls, parser): + def args_to_request(cls, args): raise NotImplementedError ########################################## @@ -214,6 +215,17 @@ class ProcessingManager(object): pass +def request_from_args(args, which_args): + """ + Generate a request from the values of some argparse parsed args + """ + request = {} + for arg in which_args: + request[arg] = getattr(args, arg) + + return request + + class ProcessingState(object): """ The first and only argument to the "processor" of a media type From 77ea4c9bd1e8372fb7206596ca5125738033ced5 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 11 Aug 2013 14:34:45 -0500 Subject: [PATCH 035/160] Updating to the point where we can allllmost run with the new reprocessing code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit sponsored by Odin Hørthe Omdal. Thank you! --- mediagoblin/gmg_commands/reprocess.py | 38 +++++++++---------------- mediagoblin/processing/__init__.py | 40 +++++++++++++++++++++++++-- mediagoblin/processing/task.py | 26 ++++++----------- mediagoblin/submit/lib.py | 8 ++++-- 4 files changed, 64 insertions(+), 48 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 6d04427e..24fcde37 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -19,9 +19,12 @@ import os from mediagoblin import mg_globals from mediagoblin.db.models import MediaEntry from mediagoblin.gmg_commands import util as commands_util +from mediagoblin.submit.lib import run_process_media from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from mediagoblin.tools.pluginapi import hook_handle -from mediagoblin.processing import ProcessorDoesNotExist, ProcessorNotEligible +from mediagoblin.processing import ( + ProcessorDoesNotExist, ProcessorNotEligible, + get_entry_and_manager, get_manager_for_type) def reprocess_parser_setup(subparser): @@ -205,31 +208,16 @@ def _set_media_state(args): args[0].state = 'processed' -class MediaEntryNotFound(Exception): pass - -def extract_entry_and_type(media_id): - """ - Fetch a media entry, as well as its media type - """ - entry = MediaEntry.query.filter_by(id=media_id).first() - if entry is None: - raise MediaEntryNotFound("Can't find media with id '%s'" % media_id) - - return entry.media_type, entry - - def available(args): # Get the media type, either by looking up media id, or by specific type try: - media_id = int(args.id_or_type) - media_type, media_entry = extract_entry_and_type(media_id) + media_entry, manager = get_entry_and_manager(args.id_or_type) + media_type = media_entry.type except ValueError: media_type = args.id_or_type media_entry = None + manager = get_manager_for_type(media_type) - manager_class = hook_handle(('reprocess_manager', media_type)) - manager = manager_class() - if media_entry is None: processors = manager.list_all_processors() else: @@ -257,10 +245,7 @@ def available(args): def run(args): - media_type, media_entry = extract_entry_and_type(args.media_id) - - manager_class = hook_handle(('reprocess_manager', media_type)) - manager = manager_class() + media_entry, manager = get_entry_and_manager(args.media_id) # TODO: (maybe?) This could probably be handled entirely by the # processor class... @@ -279,8 +264,11 @@ def run(args): reprocess_parser = processor_class.generate_parser() reprocess_args = reprocess_parser.parse_args(args.reprocess_args) reprocess_request = processor_class.args_to_request(reprocess_args) - processor = processor_class(manager, media_entry) - processor.process(**reprocess_request) + run_process_media( + media_entry, + reprocess_action=args.reprocess_command, + reprocess_info=reprocess_request) + manager.process(media_entry, args.reprocess_command, **reprocess_request) def reprocess(args): diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 1c8f7202..b668baa7 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -18,9 +18,10 @@ from collections import OrderedDict import logging import os -from mediagoblin.db.util import atomic_update from mediagoblin import mg_globals as mgg - +from mediagoblin.db.util import atomic_update +from mediagoblin.db.models import MediaEntry +from mediagoblin.tools.pluginapi import hook_handle from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ _log = logging.getLogger(__name__) @@ -208,7 +209,7 @@ class ProcessingManager(object): return processor - def process(self, entry, directive, request): + def process_from_args(self, entry, reprocess_command, request): """ Process a media entry. """ @@ -226,6 +227,39 @@ def request_from_args(args, which_args): return request +class MediaEntryNotFound(Exception): pass + + +def get_manager_for_type(media_type): + """ + Get the appropriate media manager for this type + """ + manager_class = hook_handle(('reprocess_manager', media_type)) + manager = manager_class() + + return manager + + +def get_entry_and_manager(media_id): + """ + Get a MediaEntry, its media type, and its manager all in one go. + + Returns a tuple of: `(entry, media_type, media_manager)` + """ + entry = MediaEntry.query.filter_by(id=media_id).first() + if entry is None: + raise MediaEntryNotFound("Can't find media with id '%s'" % media_id) + + manager = get_manager_for_type(entry.media_type) + + return entry, manager + + +################################################ +# TODO: This ProcessingState is OUTDATED, +# and needs to be refactored into other tools! +################################################ + class ProcessingState(object): """ The first and only argument to the "processor" of a media type diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index 36ee31fd..240be4e5 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -21,9 +21,9 @@ import urllib2 from celery import registry, task from mediagoblin import mg_globals as mgg -from mediagoblin.db.models import MediaEntry -from . import mark_entry_failed, BaseProcessingFail, ProcessingState +from . import mark_entry_failed, BaseProcessingFail from mediagoblin.tools.processing import json_processing_callback +from mediagoblin.processing import get_entry_and_manager _log = logging.getLogger(__name__) logging.basicConfig() @@ -68,7 +68,7 @@ class ProcessMedia(task.Task): """ Pass this entry off for processing. """ - def run(self, media_id, feed_url, reprocess_info=None): + def run(self, media_id, feed_url, reprocess_action, reprocess_info=None): """ Pass the media entry off to the appropriate processing function (for now just process_image...) @@ -78,28 +78,20 @@ class ProcessMedia(task.Task): :param reprocess: A dict containing all of the necessary reprocessing info for the media_type. """ - entry = MediaEntry.query.get(media_id) + reprocess_info = reprocess_info or {} + entry, manager = get_entry_and_manager(media_id) # Try to process, and handle expected errors. try: + processor_class = manager.get_processor(reprocess_action, entry) + entry.state = u'processing' entry.save() _log.debug('Processing {0}'.format(entry)) - proc_state = ProcessingState(entry) - with mgg.workbench_manager.create() as workbench: - - proc_state.set_workbench(workbench) - processor = entry.media_manager.processor(proc_state) - - # If we have reprocess_info, let's reprocess - if reprocess_info: - processor.reprocess(reprocess_info) - - # Run initial processing - else: - processor.initial_processing() + with processor_class(manager, entry) as processor: + processor.process(**reprocess_info) # We set the state to processed and save the entry here so there's # no need to save at the end of the processing stage, probably ;) diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index 3619a329..ad37203d 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -76,7 +76,8 @@ def prepare_queue_task(app, entry, filename): return queue_file -def run_process_media(entry, feed_url=None, reprocess_info=None): +def run_process_media(entry, feed_url=None, + reprocess_action="inital", reprocess_info=None): """Process the media asynchronously :param entry: MediaEntry() instance to be processed. @@ -84,11 +85,12 @@ def run_process_media(entry, feed_url=None, reprocess_info=None): should be notified of. This will be sth like: `request.urlgen( 'mediagoblin.user_pages.atom_feed',qualified=True, user=request.user.username)` - :param reprocess: A dict containing all of the necessary reprocessing + :param reprocess_action: What particular action should be run. + :param reprocess_info: A dict containing all of the necessary reprocessing info for the given media_type""" try: process_media.apply_async( - [entry.id, feed_url, reprocess_info], {}, + [entry.id, feed_url, reprocess_action, reprocess_info], {}, task_id=entry.queued_task_id) except BaseException as exc: # The purpose of this section is because when running in "lazy" From a59f92f3eca79b8070c2142a2be0ee5a48fe4611 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 11 Aug 2013 14:48:21 -0500 Subject: [PATCH 036/160] That manager.process() line no longer made sense --- mediagoblin/gmg_commands/reprocess.py | 1 - 1 file changed, 1 deletion(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 24fcde37..9a9196bb 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -268,7 +268,6 @@ def run(args): media_entry, reprocess_action=args.reprocess_command, reprocess_info=reprocess_request) - manager.process(media_entry, args.reprocess_command, **reprocess_request) def reprocess(args): From 55cfa3406390732173195bb920bf3f86bd1ce9f4 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 11 Aug 2013 15:22:43 -0500 Subject: [PATCH 037/160] Renaming the processing manager stuff to be less ambiguous. BONUS COMMIT to Ben Finney and the Free Software Melbourne crew. :) IRONY: Initially I committed this as "media manager". --- mediagoblin/gmg_commands/reprocess.py | 8 ++++---- mediagoblin/processing/__init__.py | 13 ++++++++++--- mediagoblin/processing/task.py | 4 ++-- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 9a9196bb..10ab50ab 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -24,7 +24,7 @@ from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from mediagoblin.tools.pluginapi import hook_handle from mediagoblin.processing import ( ProcessorDoesNotExist, ProcessorNotEligible, - get_entry_and_manager, get_manager_for_type) + get_entry_and_processing_manager, get_processing_manager_for_type) def reprocess_parser_setup(subparser): @@ -211,12 +211,12 @@ def _set_media_state(args): def available(args): # Get the media type, either by looking up media id, or by specific type try: - media_entry, manager = get_entry_and_manager(args.id_or_type) + media_entry, manager = get_entry_and_processing_manager(args.id_or_type) media_type = media_entry.type except ValueError: media_type = args.id_or_type media_entry = None - manager = get_manager_for_type(media_type) + manager = get_processing_manager_for_type(media_type) if media_entry is None: processors = manager.list_all_processors() @@ -245,7 +245,7 @@ def available(args): def run(args): - media_entry, manager = get_entry_and_manager(args.media_id) + media_entry, manager = get_entry_and_processing_manager(args.media_id) # TODO: (maybe?) This could probably be handled entirely by the # processor class... diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index b668baa7..02dba2f9 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -120,6 +120,13 @@ class MediaProcessor(object): # Should be initialized at time of processing, at least self.workbench = None + def __enter__(self): + self.workbench = mgg.workbench_manager.create() + + def __exit__(self, *args): + self.workbench.destroy() + self.workbench = None + # @with_workbench def process(self, **kwargs): """ @@ -230,7 +237,7 @@ def request_from_args(args, which_args): class MediaEntryNotFound(Exception): pass -def get_manager_for_type(media_type): +def get_processing_manager_for_type(media_type): """ Get the appropriate media manager for this type """ @@ -240,7 +247,7 @@ def get_manager_for_type(media_type): return manager -def get_entry_and_manager(media_id): +def get_entry_and_processing_manager(media_id): """ Get a MediaEntry, its media type, and its manager all in one go. @@ -250,7 +257,7 @@ def get_entry_and_manager(media_id): if entry is None: raise MediaEntryNotFound("Can't find media with id '%s'" % media_id) - manager = get_manager_for_type(entry.media_type) + manager = get_processing_manager_for_type(entry.media_type) return entry, manager diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index 240be4e5..397514d0 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -23,7 +23,7 @@ from celery import registry, task from mediagoblin import mg_globals as mgg from . import mark_entry_failed, BaseProcessingFail from mediagoblin.tools.processing import json_processing_callback -from mediagoblin.processing import get_entry_and_manager +from mediagoblin.processing import get_entry_and_processing_manager _log = logging.getLogger(__name__) logging.basicConfig() @@ -79,7 +79,7 @@ class ProcessMedia(task.Task): info for the media_type. """ reprocess_info = reprocess_info or {} - entry, manager = get_entry_and_manager(media_id) + entry, manager = get_entry_and_processing_manager(media_id) # Try to process, and handle expected errors. try: From 2fa7b7f81a308210e6f7a6556df18e24466732af Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 11 Aug 2013 16:53:37 -0500 Subject: [PATCH 038/160] Marking the initial steps for processing --- mediagoblin/media_types/image/processing.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 83b4adff..b8ac1a60 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -325,6 +325,18 @@ class CommonImageProcessor(MediaProcessor): help=( "Height of the resized image (if not using defaults)")) + def fetch_original(self): + pass + + def generate_medium_if_applicable(self, size=None): + pass + + def generate_thumb(self, size=None): + pass + + def extract_metadata(self): + pass + class InitialProcessor(CommonImageProcessor): """ @@ -361,6 +373,12 @@ class InitialProcessor(CommonImageProcessor): args, ['width', 'height']) + def process(self, size=None, thumb_size=None): + self.fetch_original() + self.generate_medium_if_applicable(size=size) + self.generate_thumb(size=thumb_size) + self.extract_metadata() + class ImageProcessingManager(ProcessingManager): def __init__(self): From 22479c39a0fff75208309e437f5fdaf57730cf0e Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 08:22:14 -0500 Subject: [PATCH 039/160] Record the original state of the media entry in the processor This allows our processor to make some informed decisions based on the state by still having access to the original state. This commit sponsored by William Rico. Thank you! --- mediagoblin/processing/__init__.py | 1 + mediagoblin/processing/task.py | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 02dba2f9..47f0b84e 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -116,6 +116,7 @@ class MediaProcessor(object): def __init__(self, manager, media_entry): self.manager = manager self.media_entry = media_entry + self.entry_orig_state = media_entry.state # Should be initialized at time of processing, at least self.workbench = None diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index 397514d0..d3770588 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -85,12 +85,14 @@ class ProcessMedia(task.Task): try: processor_class = manager.get_processor(reprocess_action, entry) - entry.state = u'processing' - entry.save() - - _log.debug('Processing {0}'.format(entry)) - with processor_class(manager, entry) as processor: + # Initial state change has to be here because + # the entry.state gets recorded on processor_class init + entry.state = u'processing' + entry.save() + + _log.debug('Processing {0}'.format(entry)) + processor.process(**reprocess_info) # We set the state to processed and save the entry here so there's From eb372949a13c67962e7460e2411f389ff87d2661 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 08:57:56 -0500 Subject: [PATCH 040/160] Factored the get_orig_filename from processing state and put it to use. This commit sponsored by Vincent Demeester. Thank you! --- mediagoblin/media_types/image/processing.py | 12 ++++++-- mediagoblin/processing/__init__.py | 34 +++++++++++++++++++++ 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index b8ac1a60..35069af4 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -27,7 +27,7 @@ from mediagoblin.db.models import MediaEntry from mediagoblin.processing import ( BadMediaFail, FilenameBuilder, MediaProcessor, ProcessingManager, - request_from_args) + request_from_args, get_orig_filename) from mediagoblin.submit.lib import run_process_media from mediagoblin.tools.exif import exif_fix_image_orientation, \ extract_exif, clean_exif, get_gps_data, get_useful, \ @@ -325,8 +325,15 @@ class CommonImageProcessor(MediaProcessor): help=( "Height of the resized image (if not using defaults)")) + def setup_workbench_subdirs(self): + # Conversions subdirectory to avoid collisions + self.conversions_subdir = os.path.join( + self.workbench.dir, 'convirsions') + def fetch_original(self): - pass + self.orig_filename = get_orig_filename( + self.entry, self.workbench) + self.name_builder = FilenameBuilder(self.orig_filename) def generate_medium_if_applicable(self, size=None): pass @@ -374,6 +381,7 @@ class InitialProcessor(CommonImageProcessor): def process(self, size=None, thumb_size=None): + self.setup_workbench_subdirs() self.fetch_original() self.generate_medium_if_applicable(size=size) self.generate_thumb(size=thumb_size) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 47f0b84e..9466aec6 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -372,6 +372,40 @@ def mark_entry_failed(entry_id, exc): u'fail_metadata': {}}) +############################################################################### +# refactoring procstate stuff here + + +def get_orig_filename(entry, workbench): + """ + Get the a filename for the original, on local storage + + If the media entry has a queued_media_file, use that, otherwise + use the original. + + In the future, this will return the highest quality file available + if neither the original or queued file are available by checking + some ordered list of preferred keys. + """ + if entry.queued_media_file: + orig_filepath = entry.queued_media_file + storage = mgg.queue_store + else: + orig_filepath = entry.media_files['original'] + storage = mgg.public_store + + orig_filename = workbench.localized_file( + storage, orig_filepath, + 'source') + + return orig_filename + + +# end refactoring +############################################################################### + + + class BaseProcessingFail(Exception): """ Base exception that all other processing failure messages should From 5fd239fa581780134e5d5f6547bb2f50f139e30d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 10:40:07 -0500 Subject: [PATCH 041/160] Theoretically the last steps to get reprocessing working for initial & images MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Haven't tested it yet though :) This commit sponsored by Samuel Bächler. Thank you! --- mediagoblin/media_types/image/processing.py | 60 +++++++++++++++------ mediagoblin/processing/__init__.py | 44 +++++++++++---- 2 files changed, 79 insertions(+), 25 deletions(-) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 35069af4..affa7dc9 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -27,7 +27,8 @@ from mediagoblin.db.models import MediaEntry from mediagoblin.processing import ( BadMediaFail, FilenameBuilder, MediaProcessor, ProcessingManager, - request_from_args, get_orig_filename) + request_from_args, get_orig_filename, + store_public, copy_original) from mediagoblin.submit.lib import run_process_media from mediagoblin.tools.exif import exif_fix_image_orientation, \ extract_exif, clean_exif, get_gps_data, get_useful, \ @@ -45,7 +46,7 @@ PIL_FILTERS = { MEDIA_TYPE = 'mediagoblin.media_types.image' -def resize_image(proc_state, resized, keyname, target_name, new_size, +def resize_image(entry, resized, keyname, target_name, new_size, exif_tags, workdir): """ Store a resized version of an image and return its pathname. @@ -77,13 +78,14 @@ def resize_image(proc_state, resized, keyname, target_name, new_size, tmp_resized_filename = os.path.join(workdir, target_name) with file(tmp_resized_filename, 'w') as resized_file: resized.save(resized_file, quality=config['quality']) - proc_state.store_public(keyname, tmp_resized_filename, target_name) + store_public(entry, keyname, tmp_resized_filename, target_name) -def resize_tool(proc_state, force, keyname, target_name, +def resize_tool(entry, orig_filename, + force, keyname, target_name, conversions_subdir, exif_tags, new_size=None): # filename -- the filename of the original image being resized - filename = proc_state.get_orig_filename() + filename = orig_filename # Use the default size if new_size was not given if not new_size: @@ -104,7 +106,7 @@ def resize_tool(proc_state, force, keyname, target_name, or im.size[1] > new_size[1]\ or exif_image_needs_rotation(exif_tags): resize_image( - proc_state, im, unicode(keyname), target_name, + entry, im, unicode(keyname), target_name, new_size, exif_tags, conversions_subdir) @@ -325,24 +327,53 @@ class CommonImageProcessor(MediaProcessor): help=( "Height of the resized image (if not using defaults)")) - def setup_workbench_subdirs(self): + def common_setup(self): + """ + Set up the workbench directory and pull down the original file + """ + ## @@: Should this be two functions? # Conversions subdirectory to avoid collisions self.conversions_subdir = os.path.join( self.workbench.dir, 'convirsions') + os.mkdir(self.conversions_subdir) - def fetch_original(self): + # Pull down and set up the original file self.orig_filename = get_orig_filename( self.entry, self.workbench) self.name_builder = FilenameBuilder(self.orig_filename) def generate_medium_if_applicable(self, size=None): - pass + resize_tool(self.entry, False, 'medium', self.orig_filename, + self.name_builder.fill('{basename}.medium{ext}'), + self.conversions_subdir, self.exif_tags) def generate_thumb(self, size=None): - pass + resize_tool(self.entry, True, 'thumb', self.orig_filename, + self.name_builder.fill('{basename}.thumbnail{ext}'), + self.conversions_subdir, self.exif_tags) + + def copy_original(self): + copy_original( + self.entry, self.orig_filename, + self.name_builder.fill('{basename}{ext}')) def extract_metadata(self): - pass + # Exif extraction + exif_tags = extract_exif(self.orig_filename) + + # Is there any GPS data + gps_data = get_gps_data(exif_tags) + + # Insert exif data into database + exif_all = clean_exif(exif_tags) + + if len(exif_all): + self.entry.media_data_init(exif_all=exif_all) + + if len(gps_data): + for key in list(gps_data.keys()): + gps_data['gps_' + key] = gps_data.pop(key) + self.entry.media_data_init(**gps_data) class InitialProcessor(CommonImageProcessor): @@ -353,11 +384,11 @@ class InitialProcessor(CommonImageProcessor): description = "Initial processing" @classmethod - def media_is_eligible(cls, media_entry): + def media_is_eligible(cls, entry): """ Determine if this media type is eligible for processing """ - return media_entry.state in ( + return entry.state in ( "unprocessed", "failed") ############################### @@ -381,8 +412,7 @@ class InitialProcessor(CommonImageProcessor): def process(self, size=None, thumb_size=None): - self.setup_workbench_subdirs() - self.fetch_original() + self.common_setup() self.generate_medium_if_applicable(size=size) self.generate_thumb(size=thumb_size) self.extract_metadata() diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 9466aec6..bfb78780 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -113,10 +113,10 @@ class MediaProcessor(object): # action this MediaProcessor provides description = None - def __init__(self, manager, media_entry): + def __init__(self, manager, entry): self.manager = manager - self.media_entry = media_entry - self.entry_orig_state = media_entry.state + self.entry = entry + self.entry_orig_state = entry.state # Should be initialized at time of processing, at least self.workbench = None @@ -136,7 +136,7 @@ class MediaProcessor(object): raise NotImplementedError @classmethod - def media_is_eligible(cls, media_entry): + def media_is_eligible(cls, entry): raise NotImplementedError ############################### @@ -155,6 +155,20 @@ class MediaProcessor(object): # THE FUTURE: web interface things here :) ########################################## + ##################### + # Some common "steps" + ##################### + + def delete_queue_file(self): + # Remove queued media file from storage and database. + # queued_filepath is in the task_id directory which should + # be removed too, but fail if the directory is not empty to be on + # the super-safe side. + queued_filepath = self.entry.queued_media_file + mgg.queue_store.delete_file(queued_filepath) # rm file + mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir + self.entry.queued_media_file = [] + class ProcessingKeyError(Exception): pass class ProcessorDoesNotExist(ProcessingKeyError): pass @@ -217,12 +231,6 @@ class ProcessingManager(object): return processor - def process_from_args(self, entry, reprocess_command, request): - """ - Process a media entry. - """ - pass - def request_from_args(args, which_args): """ @@ -401,6 +409,22 @@ def get_orig_filename(entry, workbench): return orig_filename +def store_public(entry, keyname, local_file, target_name=None): + if target_name is None: + target_name = os.path.basename(local_file) + target_filepath = create_pub_filepath(entry, target_name) + if keyname in entry.media_files: + _log.warn("store_public: keyname %r already used for file %r, " + "replacing with %r", keyname, + entry.media_files[keyname], target_filepath) + mgg.public_store.copy_local_to_storage(local_file, target_filepath) + entry.media_files[keyname] = target_filepath + + +def copy_original(entry, orig_filename, target_name, keyname=u"original"): + store_public(entry, keyname, orig_filename, target_name) + + # end refactoring ############################################################################### From 7a85bf985db67482a56e8987e28a6139b5e087fd Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 10:48:07 -0500 Subject: [PATCH 042/160] Fixing the MediaProcessor context manager so it actually, you know, works :) This commit sponsored by Mikiya Okuno. Thank you! --- mediagoblin/processing/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index bfb78780..9493091b 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -123,6 +123,7 @@ class MediaProcessor(object): def __enter__(self): self.workbench = mgg.workbench_manager.create() + return self def __exit__(self, *args): self.workbench.destroy() From 5b546d6533ce80a55f28546098bfff7fa5caa474 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 10:53:15 -0500 Subject: [PATCH 043/160] A couple of fixes to stupid things I did while coding this. And it WORKS! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit sponsored by José María Serralde Ruiz. Thank you! --- mediagoblin/media_types/image/processing.py | 28 ++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index affa7dc9..e0ff928d 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -81,11 +81,11 @@ def resize_image(entry, resized, keyname, target_name, new_size, store_public(entry, keyname, tmp_resized_filename, target_name) -def resize_tool(entry, orig_filename, +def resize_tool(entry, force, keyname, target_name, conversions_subdir, exif_tags, new_size=None): # filename -- the filename of the original image being resized - filename = orig_filename + filename = target_name # Use the default size if new_size was not given if not new_size: @@ -342,6 +342,10 @@ class CommonImageProcessor(MediaProcessor): self.entry, self.workbench) self.name_builder = FilenameBuilder(self.orig_filename) + # Exif extraction + self.exif_tags = extract_exif(self.orig_filename) + + def generate_medium_if_applicable(self, size=None): resize_tool(self.entry, False, 'medium', self.orig_filename, self.name_builder.fill('{basename}.medium{ext}'), @@ -358,14 +362,11 @@ class CommonImageProcessor(MediaProcessor): self.name_builder.fill('{basename}{ext}')) def extract_metadata(self): - # Exif extraction - exif_tags = extract_exif(self.orig_filename) - # Is there any GPS data - gps_data = get_gps_data(exif_tags) + gps_data = get_gps_data(self.exif_tags) # Insert exif data into database - exif_all = clean_exif(exif_tags) + exif_all = clean_exif(self.exif_tags) if len(exif_all): self.entry.media_data_init(exif_all=exif_all) @@ -401,14 +402,23 @@ class InitialProcessor(CommonImageProcessor): description=cls.description, prog=cls.name) - cls._add_width_height_args(parser) + parser.add_argument( + '--size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + '--thumb-size', + nargs=2, + type=int) return parser @classmethod def args_to_request(cls, args): return request_from_args( - args, ['width', 'height']) + args, ['size', 'thumb_size']) def process(self, size=None, thumb_size=None): From 98d1fa3beddfc602c541fe7f538ca882ad6c7e9c Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 11:00:15 -0500 Subject: [PATCH 044/160] Fixing normal submission of media (well for images anyway) --- mediagoblin/processing/__init__.py | 2 ++ mediagoblin/submit/lib.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 9493091b..684ffe04 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -223,6 +223,8 @@ class ProcessingManager(object): try: processor = self.processors[key] except KeyError: + import pdb + pdb.set_trace() raise ProcessorDoesNotExist( "'%s' processor does not exist for this media type" % key) diff --git a/mediagoblin/submit/lib.py b/mediagoblin/submit/lib.py index ad37203d..1a45e447 100644 --- a/mediagoblin/submit/lib.py +++ b/mediagoblin/submit/lib.py @@ -77,7 +77,7 @@ def prepare_queue_task(app, entry, filename): def run_process_media(entry, feed_url=None, - reprocess_action="inital", reprocess_info=None): + reprocess_action="initial", reprocess_info=None): """Process the media asynchronously :param entry: MediaEntry() instance to be processed. From ff12ecef347d0fdb29534eb2bc0390cf183c10ba Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 11:13:00 -0500 Subject: [PATCH 045/160] Revert "use parser.parse_known_args() instead of parser.parse_args()" This reverts commit 029e779c468ba1a6bfd893679cfaae7f418f45dd. (and a bit more!) This wasn't needed anymore because we did a "rest" capture and passed that over to the reprocess run command. Conflicts: mediagoblin/gmg_commands/assetlink.py mediagoblin/gmg_commands/dbupdate.py mediagoblin/gmg_commands/import_export.py mediagoblin/gmg_commands/users.py --- mediagoblin/gmg_commands/assetlink.py | 3 +-- mediagoblin/gmg_commands/dbupdate.py | 4 +--- mediagoblin/gmg_commands/import_export.py | 27 ++++++++++----------- mediagoblin/gmg_commands/shell.py | 5 ++-- mediagoblin/gmg_commands/users.py | 29 ++++++++++------------- mediagoblin/gmg_commands/util.py | 7 ------ 6 files changed, 30 insertions(+), 45 deletions(-) diff --git a/mediagoblin/gmg_commands/assetlink.py b/mediagoblin/gmg_commands/assetlink.py index dff737ff..148ebe9e 100644 --- a/mediagoblin/gmg_commands/assetlink.py +++ b/mediagoblin/gmg_commands/assetlink.py @@ -138,8 +138,7 @@ def assetlink(args): """ Link the asset directory of the currently installed theme and plugins """ - commands_util.check_unrecognized_args(args) - mgoblin_app = commands_util.setup_app(args[0]) + mgoblin_app = commands_util.setup_app(args) app_config = mg_globals.app_config # link theme diff --git a/mediagoblin/gmg_commands/dbupdate.py b/mediagoblin/gmg_commands/dbupdate.py index b2efa5de..961752f6 100644 --- a/mediagoblin/gmg_commands/dbupdate.py +++ b/mediagoblin/gmg_commands/dbupdate.py @@ -20,7 +20,6 @@ from sqlalchemy.orm import sessionmaker from mediagoblin.db.open import setup_connection_and_db_from_config from mediagoblin.db.migration_tools import MigrationManager -from mediagoblin.gmg_commands import util as commands_util from mediagoblin.init import setup_global_and_app_config from mediagoblin.tools.common import import_component @@ -148,6 +147,5 @@ def run_all_migrations(db, app_config, global_config): def dbupdate(args): - commands_util.check_unrecognized_args(args) - global_config, app_config = setup_global_and_app_config(args[0].conf_file) + global_config, app_config = setup_global_and_app_config(args.conf_file) run_dbupdate(app_config, global_config) diff --git a/mediagoblin/gmg_commands/import_export.py b/mediagoblin/gmg_commands/import_export.py index 1d4ae1f7..fbac09f6 100644 --- a/mediagoblin/gmg_commands/import_export.py +++ b/mediagoblin/gmg_commands/import_export.py @@ -97,28 +97,27 @@ def env_import(args): ''' Restore mongo database and media files from a tar archive ''' - commands_util.check_unrecognized_args(args) - if not args[0].cache_path: - args[0].cache_path = tempfile.mkdtemp() + if not args.cache_path: + args.cache_path = tempfile.mkdtemp() - setup_global_and_app_config(args[0].conf_file) + setup_global_and_app_config(args.conf_file) # Creates mg_globals.public_store and mg_globals.queue_store setup_storage() - global_config, app_config = setup_global_and_app_config(args[0].conf_file) + global_config, app_config = setup_global_and_app_config(args.conf_file) db = setup_connection_and_db_from_config( app_config) tf = tarfile.open( - args[0].tar_file, + args.tar_file, mode='r|gz') - tf.extractall(args[0].cache_path) + tf.extractall(args.cache_path) - args[0].cache_path = os.path.join( - args[0].cache_path, 'mediagoblin-data') - args = _setup_paths(args[0]) + args.cache_path = os.path.join( + args.cache_path, 'mediagoblin-data') + args = _setup_paths(args) # Import database from extracted data _import_database(db, args) @@ -227,16 +226,16 @@ def env_export(args): ''' commands_util.check_unrecognized_args(args) if args.cache_path: - if os.path.exists(args[0].cache_path): + if os.path.exists(args.cache_path): _log.error('The cache directory must not exist ' 'before you run this script') - _log.error('Cache directory: {0}'.format(args[0].cache_path)) + _log.error('Cache directory: {0}'.format(args.cache_path)) return False else: - args[0].cache_path = tempfile.mkdtemp() + args.cache_path = tempfile.mkdtemp() - args = _setup_paths(args[0]) + args = _setup_paths(args) if not _export_check(args): _log.error('Checks did not pass, exiting') diff --git a/mediagoblin/gmg_commands/shell.py b/mediagoblin/gmg_commands/shell.py index 03e08b23..4998acd7 100644 --- a/mediagoblin/gmg_commands/shell.py +++ b/mediagoblin/gmg_commands/shell.py @@ -63,13 +63,12 @@ def shell(args): """ Setup a shell for the user either a normal Python shell or an IPython one """ - commands_util.check_unrecognized_args(args) user_namespace = { 'mg_globals': mg_globals, - 'mgoblin_app': commands_util.setup_app(args[0]), + 'mgoblin_app': commands_util.setup_app(args), 'db': mg_globals.database} - if args[0].ipython: + if args.ipython: ipython_shell(**user_namespace) else: # Try ipython_shell first and fall back if not available diff --git a/mediagoblin/gmg_commands/users.py b/mediagoblin/gmg_commands/users.py index b164e672..e44b0aa9 100644 --- a/mediagoblin/gmg_commands/users.py +++ b/mediagoblin/gmg_commands/users.py @@ -32,17 +32,16 @@ def adduser_parser_setup(subparser): def adduser(args): #TODO: Lets trust admins this do not validate Emails :) - commands_util.check_unrecognized_args(args) - commands_util.setup_app(args[0]) + commands_util.setup_app(args) - args[0].username = commands_util.prompt_if_not_set(args[0].username, "Username:") - args[0].password = commands_util.prompt_if_not_set(args[0].password, "Password:",True) - args[0].email = commands_util.prompt_if_not_set(args[0].email, "Email:") + args.username = 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:") db = mg_globals.database users_with_username = \ db.User.query.filter_by( - username=args[0].username.lower() + username=args.username.lower() ).count() if users_with_username: @@ -51,9 +50,9 @@ def adduser(args): else: # Create the user entry = db.User() - entry.username = unicode(args[0].username.lower()) - entry.email = unicode(args[0].email) - entry.pw_hash = auth.gen_password_hash(args[0].password) + entry.username = unicode(args.username.lower()) + entry.email = unicode(args.email) + entry.pw_hash = auth.gen_password_hash(args.password) entry.status = u'active' entry.email_verified = True entry.save() @@ -68,13 +67,12 @@ def makeadmin_parser_setup(subparser): def makeadmin(args): - commands_util.check_unrecognized_args(args) - commands_util.setup_app(args[0]) + commands_util.setup_app(args) db = mg_globals.database user = db.User.query.filter_by( - username=unicode(args[0].username.lower())).one() + username=unicode(args.username.lower())).one() if user: user.is_admin = True user.save() @@ -93,15 +91,14 @@ def changepw_parser_setup(subparser): def changepw(args): - commands_util.check_unrecognized_args(args) - commands_util.setup_app(args[0]) + commands_util.setup_app(args) db = mg_globals.database user = db.User.query.filter_by( - username=unicode(args[0].username.lower())).one() + username=unicode(args.username.lower())).one() if user: - user.pw_hash = auth.gen_password_hash(args[0].password) + user.pw_hash = auth.gen_password_hash(args.password) user.save() print 'Password successfully changed' else: diff --git a/mediagoblin/gmg_commands/util.py b/mediagoblin/gmg_commands/util.py index 8b057996..63e39ca9 100644 --- a/mediagoblin/gmg_commands/util.py +++ b/mediagoblin/gmg_commands/util.py @@ -17,7 +17,6 @@ from mediagoblin import app import getpass -import argparse def setup_app(args): @@ -39,9 +38,3 @@ def prompt_if_not_set(variable, text, password=False): variable=getpass.getpass(text + u' ') return variable - - -def check_unrecognized_args(args): - if args[1]: - parser = argparse.ArgumentParser() - parser.error('unrecognized arguments: {}'.format(args[1])) From de332ab9f5c56589349494d1ccbbf2cfc65424ca Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 11:19:20 -0500 Subject: [PATCH 046/160] Trying to fix the bug that's happening to rodney757 but not to me ;) --- mediagoblin/gmg_commands/reprocess.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 10ab50ab..4678ca6f 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -28,6 +28,11 @@ from mediagoblin.processing import ( def reprocess_parser_setup(subparser): + subparser.add_argument( + '--celery', + action='store_true', + help="Don't process eagerly, pass off to celery") + subparsers = subparser.add_subparsers(dest="reprocess_subcommand") ################### @@ -66,10 +71,6 @@ def reprocess_parser_setup(subparser): '--thumbnails', action="store_true", help="Regenerate thumbnails for all processed media") - run_parser.add_argument( - '--celery', - action='store_true', - help="Don't process eagerly, pass off to celery") run_parser.add_argument( 'media_id', From c100b8b284456e5102de4b05d77a66f829a34939 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 11:27:43 -0500 Subject: [PATCH 047/160] Fixing ./bin/gmg reprocess available, which I broke :) --- mediagoblin/gmg_commands/reprocess.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 4678ca6f..bd8039b5 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -212,8 +212,9 @@ def _set_media_state(args): def available(args): # Get the media type, either by looking up media id, or by specific type try: - media_entry, manager = get_entry_and_processing_manager(args.id_or_type) - media_type = media_entry.type + media_id = int(args.id_or_type) + media_entry, manager = get_entry_and_processing_manager(media_id) + media_type = media_entry.media_type except ValueError: media_type = args.id_or_type media_entry = None From 916db96edba66a4deb0ec290e378031a85e2e7e0 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 11:40:55 -0500 Subject: [PATCH 048/160] Don't forget to run copy_original()! That's critical! This commit sponsored by Tony Schmidt. Thank you! --- mediagoblin/media_types/image/processing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index e0ff928d..6c6c7708 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -425,6 +425,7 @@ class InitialProcessor(CommonImageProcessor): self.common_setup() self.generate_medium_if_applicable(size=size) self.generate_thumb(size=thumb_size) + self.copy_original() self.extract_metadata() From af51c423fb4c808b46afbec12d3aa832c53c0034 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 12 Aug 2013 11:57:52 -0500 Subject: [PATCH 049/160] Fix (by Rodney Ewing) for processing, specifically the way resize_tool was being called Thanks for fixing, Rodney :) --- mediagoblin/media_types/image/processing.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 6c6c7708..01e5cce5 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -82,11 +82,8 @@ def resize_image(entry, resized, keyname, target_name, new_size, def resize_tool(entry, - force, keyname, target_name, + force, keyname, orig_file, target_name, conversions_subdir, exif_tags, new_size=None): - # filename -- the filename of the original image being resized - filename = target_name - # Use the default size if new_size was not given if not new_size: max_width = mgg.global_config['media:' + keyname]['max_width'] @@ -98,7 +95,7 @@ def resize_tool(entry, # entry. # Also created if the file needs rotation, or if forced. try: - im = Image.open(filename) + im = Image.open(orig_file) except IOError: raise BadMediaFail() if force \ From 583501415acce95ff458e5cf12733d1b61332e0e Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Mon, 12 Aug 2013 11:37:59 -0700 Subject: [PATCH 050/160] Add image resizer and some cleanup of old code --- mediagoblin/media_types/image/__init__.py | 5 +- mediagoblin/media_types/image/processing.py | 236 +++++--------------- mediagoblin/processing/__init__.py | 4 +- 3 files changed, 58 insertions(+), 187 deletions(-) diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 774b9bfa..f8c4a7d1 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -17,8 +17,8 @@ import datetime import logging from mediagoblin.media_types import MediaManagerBase -from mediagoblin.media_types.image.processing import ProcessImage, \ - sniff_handler, ImageProcessingManager +from mediagoblin.media_types.image.processing import sniff_handler, \ + ImageProcessingManager from mediagoblin.tools import pluginapi _log = logging.getLogger(__name__) @@ -34,7 +34,6 @@ def setup_plugin(): class ImageMediaManager(MediaManagerBase): human_readable = "Image" - processor = staticmethod(ProcessImage) display_template = "mediagoblin/media_displays/image.html" default_thumb = "images/media_thumbs/image.png" diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 01e5cce5..6eb8302c 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -23,17 +23,14 @@ import logging import argparse from mediagoblin import mg_globals as mgg -from mediagoblin.db.models import MediaEntry from mediagoblin.processing import ( BadMediaFail, FilenameBuilder, MediaProcessor, ProcessingManager, request_from_args, get_orig_filename, store_public, copy_original) -from mediagoblin.submit.lib import run_process_media from mediagoblin.tools.exif import exif_fix_image_orientation, \ extract_exif, clean_exif, get_gps_data, get_useful, \ exif_image_needs_rotation -from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ _log = logging.getLogger(__name__) @@ -130,181 +127,6 @@ def sniff_handler(media_file, **kw): return None -class ProcessImage(object): - """Code to process an image. Will be run by celery. - - A Workbench() represents a local tempory dir. It is automatically - cleaned up when this function exits. - """ - def __init__(self, proc_state=None): - if proc_state: - self.proc_state = proc_state - self.entry = proc_state.entry - self.workbench = proc_state.workbench - - # Conversions subdirectory to avoid collisions - self.conversions_subdir = os.path.join( - self.workbench.dir, 'convirsions') - - self.orig_filename = proc_state.get_orig_filename() - self.name_builder = FilenameBuilder(self.orig_filename) - - # Exif extraction - self.exif_tags = extract_exif(self.orig_filename) - - os.mkdir(self.conversions_subdir) - - def reprocess_action(self, args): - """ - List the available actions for media in a given state - """ - if args[0].state == 'processed': - print _('\n Available reprocessing actions for processed images:' - '\n \t --resize: thumb or medium' - '\n Options:' - '\n \t --size: max_width max_height (defaults to' - 'config specs)') - return True - - def _parser(self, args): - """ - Parses the unknown args from the gmg parser - """ - parser = argparse.ArgumentParser() - parser.add_argument( - '--resize', - choices=['thumb', 'medium']) - parser.add_argument( - '--size', - nargs=2, - metavar=('max_width', 'max_height'), - type=int) - parser.add_argument( - '--initial_processing', - action='store_true') - - return parser.parse_args(args[1]) - - def _check_eligible(self, entry_args, reprocess_args): - """ - Check to see if we can actually process the given media as requested - """ - - if entry_args.state == 'processed': - if reprocess_args.initial_processing: - raise Exception(_('You can not run --initial_processing on' - ' media that has already been processed.')) - - if entry_args.state == 'failed': - if reprocess_args.resize: - raise Exception(_('You can not run --resize on media that has' - ' not been processed.')) - if reprocess_args.size: - _log.warn('With --initial_processing, the --size flag will be' - ' ignored.') - - if entry_args.state == 'processing': - raise Exception(_('We currently do not support reprocessing on' - ' media that is in the "processing" state.')) - - def initial_processing(self): - # Is there any GPS data - gps_data = get_gps_data(self.exif_tags) - - # Always create a small thumbnail - resize_tool(self.proc_state, True, 'thumb', self.orig_filename, - self.name_builder.fill('{basename}.thumbnail{ext}'), - self.conversions_subdir, self.exif_tags) - - # Possibly create a medium - resize_tool(self.proc_state, False, 'medium', self.orig_filename, - self.name_builder.fill('{basename}.medium{ext}'), - self.conversions_subdir, self.exif_tags) - - # Copy our queued local workbench to its final destination - self.proc_state.copy_original(self.name_builder.fill('{basename}{ext}')) - - # Remove queued media file from storage and database - self.proc_state.delete_queue_file() - - # Insert exif data into database - exif_all = clean_exif(self.exif_tags) - - if len(exif_all): - self.entry.media_data_init(exif_all=exif_all) - - if len(gps_data): - for key in list(gps_data.keys()): - gps_data['gps_' + key] = gps_data.pop(key) - self.entry.media_data_init(**gps_data) - - def reprocess(self, reprocess_info): - """ - This function actually does the reprocessing when called by - ProcessMedia in gmg/processing/task.py - """ - new_size = None - - # Did they specify a size? They must specify either both or none, so - # we only need to check if one is present - if reprocess_info.get('max_width'): - max_width = reprocess_info['max_width'] - max_height = reprocess_info['max_height'] - - new_size = (max_width, max_height) - - resize_tool(self.proc_state, False, reprocess_info['resize'], - self.name_builder.fill('{basename}.medium{ext}'), - self.conversions_subdir, self.exif_tags, new_size) - - def media_reprocess(self, args): - """ - This function handles the all of the reprocessing logic, before calling - gmg/submit/lib/run_process_media - """ - reprocess_args = self._parser(args) - entry_args = args[0] - - # Can we actually process the given media as requested? - self._check_eligible(entry_args, reprocess_args) - - # Do we want to re-try initial processing? - if reprocess_args.initial_processing: - for id in entry_args.media_id: - entry = MediaEntry.query.filter_by(id=id).first() - run_process_media(entry) - - # Are we wanting to resize the thumbnail or medium? - elif reprocess_args.resize: - - # reprocess all given media entries - for id in entry_args.media_id: - entry = MediaEntry.query.filter_by(id=id).first() - - # For now we can only reprocess with the original file - if not entry.media_files.get('original'): - raise Exception(_('The original file for this media entry' - ' does not exist.')) - - reprocess_info = self._get_reprocess_info(reprocess_args) - run_process_media(entry, reprocess_info=reprocess_info) - - # If we are here, they forgot to tell us how to reprocess - else: - _log.warn('You must set either --resize or --initial_processing' - ' flag to reprocess an image.') - - def _get_reprocess_info(self, args): - """ Returns a dict with the info needed for reprocessing""" - reprocess_info = {'resize': args.resize} - - if args.size: - reprocess_info['max_width'] = args.size[0] - reprocess_info['max_height'] = args.size[1] - - return reprocess_info - - class CommonImageProcessor(MediaProcessor): """ Provides a base for various media processing steps @@ -342,16 +164,15 @@ class CommonImageProcessor(MediaProcessor): # Exif extraction self.exif_tags = extract_exif(self.orig_filename) - def generate_medium_if_applicable(self, size=None): resize_tool(self.entry, False, 'medium', self.orig_filename, self.name_builder.fill('{basename}.medium{ext}'), - self.conversions_subdir, self.exif_tags) + self.conversions_subdir, self.exif_tags, size) def generate_thumb(self, size=None): resize_tool(self.entry, True, 'thumb', self.orig_filename, self.name_builder.fill('{basename}.thumbnail{ext}'), - self.conversions_subdir, self.exif_tags) + self.conversions_subdir, self.exif_tags, size) def copy_original(self): copy_original( @@ -408,6 +229,7 @@ class InitialProcessor(CommonImageProcessor): parser.add_argument( '--thumb-size', nargs=2, + metavar=('max_width', 'max_height'), type=int) return parser @@ -417,19 +239,69 @@ class InitialProcessor(CommonImageProcessor): return request_from_args( args, ['size', 'thumb_size']) - def process(self, size=None, thumb_size=None): self.common_setup() self.generate_medium_if_applicable(size=size) self.generate_thumb(size=thumb_size) self.copy_original() self.extract_metadata() + self.delete_queue_file() + + +class Resizer(CommonImageProcessor): + """ + Resizing process steps for processed media + """ + name = 'resize' + description = 'Resize image' + + @classmethod + def media_is_eligible(cls, entry): + """ + Determine if this media type is eligible for processing + """ + return entry.state in 'processed' + + ############################### + # Command line interface things + ############################### + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + 'file', + choices=['medium', 'thumb']) + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['size', 'file']) + + def process(self, file, size=None): + self.common_setup() + if file == 'medium': + self.generate_medium_if_applicable(size=size) + elif file == 'thumb': + self.generate_thumb(size=size) class ImageProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() self.add_processor(InitialProcessor) + self.add_processor(Resizer) if __name__ == '__main__': diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 684ffe04..d5ec1fba 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -90,7 +90,7 @@ class MediaProcessor(object): - resize: resize an image - transcode: transcode a video - ... etc. + ... etc. Some information on producing a new MediaProcessor for your media type: @@ -193,7 +193,7 @@ class ProcessingManager(object): name = processor.name if name is None: raise AttributeError("Processor class's .name attribute not set") - + self.processors[name] = processor def list_eligible_processors(self, entry): From fb56676bf49de8e25487b938dc9a56f8440086f5 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Mon, 12 Aug 2013 11:55:00 -0700 Subject: [PATCH 051/160] delete existing file in store_public --- mediagoblin/processing/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index d5ec1fba..aadee78b 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -412,7 +412,8 @@ def get_orig_filename(entry, workbench): return orig_filename -def store_public(entry, keyname, local_file, target_name=None): +def store_public(entry, keyname, local_file, target_name=None, + delete_if_exists=True): if target_name is None: target_name = os.path.basename(local_file) target_filepath = create_pub_filepath(entry, target_name) @@ -420,6 +421,8 @@ def store_public(entry, keyname, local_file, target_name=None): _log.warn("store_public: keyname %r already used for file %r, " "replacing with %r", keyname, entry.media_files[keyname], target_filepath) + if delete_if_exists: + mgg.public_store.delete_file(entry.media_files[keyname]) mgg.public_store.copy_local_to_storage(local_file, target_filepath) entry.media_files[keyname] = target_filepath From 455f71d24c7d5e3163b1cc25682161fe1c7f7cc6 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Mon, 12 Aug 2013 11:57:47 -0700 Subject: [PATCH 052/160] remove ProcessingState --- mediagoblin/processing/__init__.py | 82 ------------------------------ 1 file changed, 82 deletions(-) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index aadee78b..19e88199 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -274,79 +274,6 @@ def get_entry_and_processing_manager(media_id): return entry, manager -################################################ -# TODO: This ProcessingState is OUTDATED, -# and needs to be refactored into other tools! -################################################ - -class ProcessingState(object): - """ - The first and only argument to the "processor" of a media type - - This could be thought of as a "request" to the processor - function. It has the main info for the request (media entry) - and a bunch of tools for the request on it. - It can get more fancy without impacting old media types. - """ - def __init__(self, entry): - self.entry = entry - self.workbench = None - self.orig_filename = None - - def set_workbench(self, wb): - self.workbench = wb - - def get_orig_filename(self): - """ - Get the a filename for the original, on local storage - - If the media entry has a queued_media_file, use that, otherwise - use the original. - - In the future, this will return the highest quality file available - if neither the original or queued file are available - """ - if self.orig_filename is not None: - return self.orig_filename - - if self.entry.queued_media_file: - orig_filepath = self.entry.queued_media_file - storage = mgg.queue_store - else: - orig_filepath = self.entry.media_files['original'] - storage = mgg.public_store - - orig_filename = self.workbench.localized_file( - storage, orig_filepath, - 'source') - self.orig_filename = orig_filename - return orig_filename - - def copy_original(self, target_name, keyname=u"original"): - self.store_public(keyname, self.get_orig_filename(), target_name) - - def store_public(self, keyname, local_file, target_name=None): - if target_name is None: - target_name = os.path.basename(local_file) - target_filepath = create_pub_filepath(self.entry, target_name) - if keyname in self.entry.media_files: - _log.warn("store_public: keyname %r already used for file %r, " - "replacing with %r", keyname, - self.entry.media_files[keyname], target_filepath) - mgg.public_store.copy_local_to_storage(local_file, target_filepath) - self.entry.media_files[keyname] = target_filepath - - def delete_queue_file(self): - # Remove queued media file from storage and database. - # queued_filepath is in the task_id directory which should - # be removed too, but fail if the directory is not empty to be on - # the super-safe side. - queued_filepath = self.entry.queued_media_file - mgg.queue_store.delete_file(queued_filepath) # rm file - mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir - self.entry.queued_media_file = [] - - def mark_entry_failed(entry_id, exc): """ Mark a media entry as having failed in its conversion. @@ -383,10 +310,6 @@ def mark_entry_failed(entry_id, exc): u'fail_metadata': {}}) -############################################################################### -# refactoring procstate stuff here - - def get_orig_filename(entry, workbench): """ Get the a filename for the original, on local storage @@ -431,11 +354,6 @@ def copy_original(entry, orig_filename, target_name, keyname=u"original"): store_public(entry, keyname, orig_filename, target_name) -# end refactoring -############################################################################### - - - class BaseProcessingFail(Exception): """ Base exception that all other processing failure messages should From 7584080bf7d7b2d74087d31ca781e1111c2024da Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Mon, 12 Aug 2013 14:28:03 -0700 Subject: [PATCH 053/160] add bulk_run, thumbs, and initial sub_commands --- mediagoblin/gmg_commands/reprocess.py | 96 +++++++++++++++++---- mediagoblin/media_types/image/processing.py | 12 ++- mediagoblin/processing/__init__.py | 15 +++- 3 files changed, 98 insertions(+), 25 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index bd8039b5..34311f6d 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -41,7 +41,7 @@ def reprocess_parser_setup(subparser): available_parser = subparsers.add_parser( "available", help="Find out what actions are available for this media") - + available_parser.add_argument( "id_or_type", help="Media id or media type to check") @@ -51,27 +51,19 @@ def reprocess_parser_setup(subparser): action="store_true", help="List argument help for each action available") - - ############################################ - # run command (TODO: and bulk_run command??) - ############################################ - + available_parser.add_argument( + "--state", + help="The state of media you would like to reprocess") + + + ############# + # run command + ############# + run_parser = subparsers.add_parser( "run", help="Run a reprocessing on one or more media") - run_parser.add_argument( - '--state', '-s', - help="Reprocess media entries in this state" - " such as 'failed' or 'processed'") - run_parser.add_argument( - '--type', '-t', - help="The type of media to be reprocessed such as 'video' or 'image'") - run_parser.add_argument( - '--thumbnails', - action="store_true", - help="Regenerate thumbnails for all processed media") - run_parser.add_argument( 'media_id', help="The media_entry id(s) you wish to reprocess.") @@ -86,6 +78,48 @@ def reprocess_parser_setup(subparser): help="rest of arguments to the reprocessing tool") + ################ + # thumbs command + ################ + thumbs = subparsers.add_parser( + 'thumbs', + help='Regenerate thumbs for all processed media') + + thumbs.add_argument( + '--size', + nargs=2, + type=int, + metavar=('max_width', 'max_height')) + + ################# + # initial command + ################# + subparsers.add_parser( + 'initial', + help='Reprocess all failed media') + + ################## + # bulk_run command + ################## + bulk_run_parser = subparsers.add_parser( + 'bulk_run', + help='Run reprocessing on a given media type or state') + + bulk_run_parser.add_argument( + 'type', + help='The type of media you would like to process') + + bulk_run_parser.add_argument( + 'state', + default='processed', + help='The state of the media you would like to process. Defaults to' \ + " 'processed'") + + bulk_run_parser.add_argument( + 'reprocess_args', + nargs=argparse.REMAINDER, + help='The rest of the arguments to the reprocessing tool') + ############### # help command? ############### @@ -220,7 +254,9 @@ def available(args): media_entry = None manager = get_processing_manager_for_type(media_type) - if media_entry is None: + if args.state: + processors = manager.list_all_processors_by_state(args.state) + elif media_entry is None: processors = manager.list_all_processors() else: processors = manager.list_eligible_processors(media_entry) @@ -271,6 +307,19 @@ def run(args): reprocess_action=args.reprocess_command, reprocess_info=reprocess_request) +def bulk_run(args): + pass + + +def thumbs(args): + #TODO regenerate thumbs for all processed media + pass + + +def initial(args): + #TODO initial processing on all failed media + pass + def reprocess(args): # Run eagerly unless explicetly set not to @@ -284,3 +333,12 @@ def reprocess(args): elif args.reprocess_subcommand == "available": available(args) + + elif args.reprocess_subcommand == "bulk_run": + bulk_run(args) + + elif args.reprocess_subcommand == "thumbs": + thumbs(args) + + elif args.reprocess_subcommand == "initial": + initial(args) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 6eb8302c..c3dfc5fe 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -203,11 +203,13 @@ class InitialProcessor(CommonImageProcessor): description = "Initial processing" @classmethod - def media_is_eligible(cls, entry): + def media_is_eligible(cls, entry=None, state=None): """ Determine if this media type is eligible for processing """ - return entry.state in ( + if not state: + state = entry.state + return state in ( "unprocessed", "failed") ############################### @@ -256,11 +258,13 @@ class Resizer(CommonImageProcessor): description = 'Resize image' @classmethod - def media_is_eligible(cls, entry): + def media_is_eligible(cls, entry=None, state=None): """ Determine if this media type is eligible for processing """ - return entry.state in 'processed' + if not state: + state = entry.state + return state in 'processed' ############################### # Command line interface things diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 19e88199..1930a480 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -137,7 +137,7 @@ class MediaProcessor(object): raise NotImplementedError @classmethod - def media_is_eligible(cls, entry): + def media_is_eligible(cls, entry=None, state=None): raise NotImplementedError ############################### @@ -204,7 +204,18 @@ class ProcessingManager(object): return [ processor for processor in self.processors.values() - if processor.media_is_eligible(entry)] + if processor.media_is_eligible(entry=entry)] + + def list_all_processors_by_state(self, state): + """ + List all processors that this media state is eligible to be processed + for. + """ + return [ + processor + for processor in self.processors.values() + if processor.media_is_eligible(state=state)] + def list_all_processors(self): return self.processors.values() From 4e6013689beded08121c0d139565ffccbf3c0000 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Mon, 12 Aug 2013 14:54:02 -0700 Subject: [PATCH 054/160] run initial processing on all failed entries --- mediagoblin/gmg_commands/reprocess.py | 19 ++++++++++++++++--- mediagoblin/processing/__init__.py | 5 +++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 34311f6d..a3c732b9 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -24,7 +24,8 @@ from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from mediagoblin.tools.pluginapi import hook_handle from mediagoblin.processing import ( ProcessorDoesNotExist, ProcessorNotEligible, - get_entry_and_processing_manager, get_processing_manager_for_type) + get_entry_and_processing_manager, get_processing_manager_for_type, + ProcessingManagerDoesNotExist) def reprocess_parser_setup(subparser): @@ -307,6 +308,7 @@ def run(args): reprocess_action=args.reprocess_command, reprocess_info=reprocess_request) + def bulk_run(args): pass @@ -317,8 +319,19 @@ def thumbs(args): def initial(args): - #TODO initial processing on all failed media - pass + """ + Reprocess all failed media + """ + query = MediaEntry.query.filter_by(state='failed') + + for entry in query: + try: + media_entry, manager = get_entry_and_processing_manager(entry.id) + run_process_media( + media_entry, + reprocess_action='initial') + except ProcessingManagerDoesNotExist: + print 'No such processing manager for {0}'.format(entry.media_type) def reprocess(args): diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 1930a480..0c13e807 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -174,6 +174,8 @@ class MediaProcessor(object): class ProcessingKeyError(Exception): pass class ProcessorDoesNotExist(ProcessingKeyError): pass class ProcessorNotEligible(ProcessingKeyError): pass +class ProcessingManagerDoesNotExist(ProcessingKeyError): pass + class ProcessingManager(object): @@ -265,6 +267,9 @@ def get_processing_manager_for_type(media_type): Get the appropriate media manager for this type """ manager_class = hook_handle(('reprocess_manager', media_type)) + if not manager_class: + raise ProcessingManagerDoesNotExist( + "A processing manager does not exist for {0}".format(media_type)) manager = manager_class() return manager From 441ed10de0cbc50ef2f40bae8dc25ea8493e8f8f Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Mon, 12 Aug 2013 14:57:45 -0700 Subject: [PATCH 055/160] wrap get_entry_and_processing_manager in try, except block --- mediagoblin/gmg_commands/reprocess.py | 50 ++++++++++++++++----------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index a3c732b9..579ba478 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -254,6 +254,9 @@ def available(args): media_type = args.id_or_type media_entry = None manager = get_processing_manager_for_type(media_type) + except ProcessingManagerDoesNotExist: + entry = MediaEntry.query.filter_by(id=args.id_or_type).first() + print 'No such processing manager for {0}'.format(entry.media_type) if args.state: processors = manager.list_all_processors_by_state(args.state) @@ -284,29 +287,34 @@ def available(args): def run(args): - media_entry, manager = get_entry_and_processing_manager(args.media_id) - - # TODO: (maybe?) This could probably be handled entirely by the - # processor class... try: - processor_class = manager.get_processor( - args.reprocess_command, media_entry) - except ProcessorDoesNotExist: - print 'No such processor "%s" for media with id "%s"' % ( - args.reprocess_command, media_entry.id) - return - except ProcessorNotEligible: - print 'Processor "%s" exists but media "%s" is not eligible' % ( - args.reprocess_command, media_entry.id) - return + media_entry, manager = get_entry_and_processing_manager(args.media_id) - reprocess_parser = processor_class.generate_parser() - reprocess_args = reprocess_parser.parse_args(args.reprocess_args) - reprocess_request = processor_class.args_to_request(reprocess_args) - run_process_media( - media_entry, - reprocess_action=args.reprocess_command, - reprocess_info=reprocess_request) + # TODO: (maybe?) This could probably be handled entirely by the + # processor class... + try: + processor_class = manager.get_processor( + args.reprocess_command, media_entry) + except ProcessorDoesNotExist: + print 'No such processor "%s" for media with id "%s"' % ( + args.reprocess_command, media_entry.id) + return + except ProcessorNotEligible: + print 'Processor "%s" exists but media "%s" is not eligible' % ( + args.reprocess_command, media_entry.id) + return + + reprocess_parser = processor_class.generate_parser() + reprocess_args = reprocess_parser.parse_args(args.reprocess_args) + reprocess_request = processor_class.args_to_request(reprocess_args) + run_process_media( + media_entry, + reprocess_action=args.reprocess_command, + reprocess_info=reprocess_request) + + except ProcessingManagerDoesNotExist: + entry = MediaEntry.query.filter_by(id=args.media_id).first() + print 'No such processing manager for {0}'.format(entry.media_type) def bulk_run(args): From 0c4b68a8049acdef5f75e5fe7e95be2360d524eb Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Mon, 12 Aug 2013 15:25:52 -0700 Subject: [PATCH 056/160] Resize all processed thumbs --- mediagoblin/gmg_commands/reprocess.py | 42 +++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 579ba478..55aa6cc9 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -322,8 +322,46 @@ def bulk_run(args): def thumbs(args): - #TODO regenerate thumbs for all processed media - pass + """ + Regenerate thumbs for all processed media + """ + query = MediaEntry.query.filter_by(state='processed') + + for entry in query: + try: + media_entry, manager = get_entry_and_processing_manager(entry.id) + + # TODO: (maybe?) This could probably be handled entirely by the + # processor class... + try: + processor_class = manager.get_processor( + 'resize', media_entry) + except ProcessorDoesNotExist: + print 'No such processor "%s" for media with id "%s"' % ( + 'resize', media_entry.id) + return + except ProcessorNotEligible: + print 'Processor "%s" exists but media "%s" is not eligible' % ( + 'resize', media_entry.id) + return + + reprocess_parser = processor_class.generate_parser() + + # prepare filetype and size to be passed into reprocess_parser + if args.size: + extra_args = 'thumb --size {0} {1}'.format(args.size[0], args.size[1]) + else: + extra_args = 'thumb' + + reprocess_args = reprocess_parser.parse_args(extra_args.split()) + reprocess_request = processor_class.args_to_request(reprocess_args) + run_process_media( + media_entry, + reprocess_action='resize', + reprocess_info=reprocess_request) + + except ProcessingManagerDoesNotExist: + print 'No such processing manager for {0}'.format(entry.media_type) def initial(args): From a7f426368dfce15f86fa0ef56200ec1228f6e4af Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Mon, 12 Aug 2013 15:45:09 -0700 Subject: [PATCH 057/160] bulk_run reprocessing complete --- mediagoblin/gmg_commands/reprocess.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 55aa6cc9..3ba5d92c 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -111,11 +111,16 @@ def reprocess_parser_setup(subparser): help='The type of media you would like to process') bulk_run_parser.add_argument( - 'state', + '--state', default='processed', + nargs='?', help='The state of the media you would like to process. Defaults to' \ " 'processed'") + bulk_run_parser.add_argument( + 'reprocess_command', + help='The reprocess command you intend to run') + bulk_run_parser.add_argument( 'reprocess_args', nargs=argparse.REMAINDER, @@ -286,9 +291,11 @@ def available(args): print " - %s" % processor.name -def run(args): +def run(args, media_id=None): + if not media_id: + media_id = args.media_id try: - media_entry, manager = get_entry_and_processing_manager(args.media_id) + media_entry, manager = get_entry_and_processing_manager(media_id) # TODO: (maybe?) This could probably be handled entirely by the # processor class... @@ -313,12 +320,19 @@ def run(args): reprocess_info=reprocess_request) except ProcessingManagerDoesNotExist: - entry = MediaEntry.query.filter_by(id=args.media_id).first() + entry = MediaEntry.query.filter_by(id=media_id).first() print 'No such processing manager for {0}'.format(entry.media_type) def bulk_run(args): - pass + """ + Bulk reprocessing of a given media_type + """ + query = MediaEntry.query.filter_by(media_type=args.type, + state=args.state) + + for entry in query: + run(args, entry.id) def thumbs(args): From 36c17b85c12546076067e039e5f55c7780dc54f3 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Mon, 12 Aug 2013 15:48:40 -0700 Subject: [PATCH 058/160] remove old code --- mediagoblin/gmg_commands/reprocess.py | 118 ---------------------- mediagoblin/media_types/image/__init__.py | 1 - 2 files changed, 119 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 3ba5d92c..5285942e 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -131,124 +131,6 @@ def reprocess_parser_setup(subparser): ############### - -def _set_media_type(args): - """ - This will verify that all media id's are of the same media_type. If the - --type flag is set, it will be replaced by the given media id's type. - - If they are trying to process different media types, an Exception will be - raised. - """ - if args[0].media_id: - if len(args[0].media_id) == 1: - args[0].type = MediaEntry.query.filter_by(id=args[0].media_id[0])\ - .first().media_type.split('.')[-1] - - elif len(args[0].media_id) > 1: - media_types = [] - - for id in args[0].media_id: - media_types.append(MediaEntry.query.filter_by(id=id).first() - .media_type.split('.')[-1]) - for type in media_types: - if media_types[0] != type: - raise Exception((u'You cannot reprocess different' - ' media_types at the same time.')) - - args[0].type = media_types[0] - - -def _reprocess_all(args): - """ - This handles reprocessing if no media_id's are given. - """ - if not args[0].type: - # If no media type is given, we can either regenerate all thumbnails, - # or try to reprocess all failed media - - if args[0].thumbnails: - if args[0].available: - print _('Available options for regenerating all processed' - ' media thumbnails: \n' - '\t --size: max_width max_height' - ' (defaults to config specs)') - else: - #TODO regenerate all thumbnails - pass - - # Reprocess all failed media - elif args[0].state == 'failed': - if args[0].available: - print _('\n Available reprocess actions for all failed' - ' media_entries: \n \t --initial_processing') - else: - #TODO reprocess all failed entries - pass - - # If here, they didn't set the --type flag and were trying to do - # something other the generating thumbnails or initial_processing - else: - raise Exception(_('You must set --type when trying to reprocess' - ' all media_entries, unless you set --state' - ' to "failed".')) - - else: - _run_reprocessing(args) - - -def _run_reprocessing(args): - # Are they just asking for the available reprocessing options for the given - # media? - if args[0].available: - if args[0].state == 'failed': - print _('\n Available reprocess actions for all failed' - ' media_entries: \n \t --initial_processing') - else: - result = hook_handle(('reprocess_action', args[0].type), args) - if not result: - print _('Sorry there is no available reprocessing for {}' - ' entries in the {} state'.format(args[0].type, - args[0].state)) - else: - # Run media reprocessing - return hook_handle(('media_reprocess', args[0].type), args) - - -def _set_media_state(args): - """ - This will verify that all media id's are in the same state. If the - --state flag is set, it will be replaced by the given media id's state. - - If they are trying to process different media states, an Exception will be - raised. - """ - if args[0].media_id: - # Only check if we are given media_ids - if len(args[0].media_id) == 1: - args[0].state = MediaEntry.query.filter_by(id=args[0].media_id[0])\ - .first().state - - elif len(args[0].media_id) > 1: - media_states = [] - - for id in args[0].media_id: - media_states.append(MediaEntry.query.filter_by(id=id).first() - .state) - - # Make sure that all media are in the same state - for state in media_states: - if state != media_states[0]: - raise Exception(_('You can only reprocess media that is in' - ' the same state.')) - - args[0].state = media_states[0] - - # If no state was set, then we will default to the processed state - if not args[0].state: - args[0].state = 'processed' - - def available(args): # Get the media type, either by looking up media id, or by specific type try: diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index f8c4a7d1..99643409 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -72,5 +72,4 @@ hooks = { 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: ImageMediaManager, ('reprocess_manager', MEDIA_TYPE): lambda: ImageProcessingManager, - # ('media_reprocess', MEDIA_TYPE): ProcessImage().media_reprocess, } From 5ac1fe806483de28656a056f10314ecc6a10aed4 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 09:57:35 -0700 Subject: [PATCH 059/160] Audio Initial Processor --- mediagoblin/gmg_commands/reprocess.py | 3 +- mediagoblin/media_types/audio/__init__.py | 5 +- mediagoblin/media_types/audio/processing.py | 201 +++++++++++++++++++- 3 files changed, 202 insertions(+), 7 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 5285942e..375d9ff2 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -245,7 +245,8 @@ def thumbs(args): # prepare filetype and size to be passed into reprocess_parser if args.size: - extra_args = 'thumb --size {0} {1}'.format(args.size[0], args.size[1]) + extra_args = 'thumb --size {0} {1}'.format(args.size[0], + args.size[1]) else: extra_args = 'thumb' diff --git a/mediagoblin/media_types/audio/__init__.py b/mediagoblin/media_types/audio/__init__.py index c7ed8d2d..6ad473c8 100644 --- a/mediagoblin/media_types/audio/__init__.py +++ b/mediagoblin/media_types/audio/__init__.py @@ -15,7 +15,7 @@ # along with this program. If not, see . from mediagoblin.media_types import MediaManagerBase -from mediagoblin.media_types.audio.processing import process_audio, \ +from mediagoblin.media_types.audio.processing import AudioProcessingManager, \ sniff_handler from mediagoblin.tools import pluginapi @@ -32,8 +32,8 @@ def setup_plugin(): class AudioMediaManager(MediaManagerBase): human_readable = "Audio" - processor = staticmethod(process_audio) display_template = "mediagoblin/media_displays/audio.html" + default_thumb = "images/media_thumbs/image.png" def get_media_type_and_manager(ext): @@ -45,4 +45,5 @@ hooks = { 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: AudioMediaManager, + ('reprocess_manager', MEDIA_TYPE): lambda: AudioProcessingManager, } diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 22383bc1..3299c72d 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -14,16 +14,20 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import argparse import logging from tempfile import NamedTemporaryFile import os from mediagoblin import mg_globals as mgg -from mediagoblin.processing import (create_pub_filepath, BadMediaFail, - FilenameBuilder, ProgressCallback) +from mediagoblin.processing import ( + create_pub_filepath, BadMediaFail, FilenameBuilder, + ProgressCallback, MediaProcessor, ProcessingManager, + request_from_args, get_orig_filename, + store_public, copy_original) -from mediagoblin.media_types.audio.transcoders import (AudioTranscoder, - AudioThumbnailer) +from mediagoblin.media_types.audio.transcoders import ( + AudioTranscoder,AudioThumbnailer) _log = logging.getLogger(__name__) @@ -157,3 +161,192 @@ def process_audio(proc_state): mgg.queue_store.delete_file(queued_filepath) # rm file mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir entry.queued_media_file = [] + + +class CommonAudioProcessor(MediaProcessor): + """ + Provides a base for various audio processing steps + """ + + def common_setup(self): + """ + """ + self.audio_config = mgg \ + .global_config['media_type:mediagoblin.media_types.audio'] + + # Pull down and set up the original file + self.orig_filename = get_orig_filename( + self.entry, self.workbench) + self.name_builder = FilenameBuilder(self.orig_filename) + + self.spectrogram_tmp = os.path.join(self.workbench.dir, + self.name_builder.fill( + '{basename}-spectrogram.jpg')) + + self.transcoder = AudioTranscoder() + self.thumbnailer = AudioThumbnailer() + + def copy_original(self): + if self.audio_config['keep_original']: + copy_original( + self.entry, self.orig_filename, + self.name_builder.fill('{basename}{ext}')) + + def transcode(self, quality=None): + if not quality: + quality = self.audio_config['quality'] + + progress_callback = ProgressCallback(self.entry) + webm_audio_tmp = os.path.join(self.workbench.dir, + self.name_builder.fill( + '{basename}{ext}')) + + webm_audio_filepath = create_pub_filepath( + self.entry, + '{original}.webm'.format( + original=os.path.splitext( + self.orig_filename[-1])[0])) + + self.transcoder.transcode( + self.orig_filename, + webm_audio_tmp, + quality=quality, + progress_callback=progress_callback) + + self.transcoder.discover(webm_audio_tmp) + + _log.debug('Saving medium...') + store_public(self.entry, 'medium', webm_audio_tmp, + webm_audio_filepath) + + def create_spectrogram(self, quality=None, max_width=None, fft_size=None): + if not quality: + quality = self.audio_config['quality'] + if not max_width: + max_width = mgg.global_config['media:medium']['max_width'] + if not fft_size: + fft_size = self.audio_config['spectrogram_fft_size'] + + spectrogram_filepath = create_pub_filepath( + self.entry, + '{original}-spectrogram.jpg'.format( + original=os.path.splitext( + self.orig_filename[-1])[0])) + + wav_tmp = os.path.join(self.workbench.dir, self.name_builder.fill( + '{basename}.ogg')) + + _log.info('Creating OGG source for spectrogram') + self.transcoder.transcode( + self.orig_filename, + wav_tmp, + mux_string='vorbisenc quality={0} ! oggmux'.format(quality)) + + self.thumbnailer.spectrogram( + wav_tmp, + self.spectrogram_tmp, + width=max_width, + fft_size=fft_size) + + _log.debug('Saving spectrogram...') + store_public(self.entry, 'spectrogram', self.spectrogram_tmp, + spectrogram_filepath) + + def generate_thumb(self, size=None): + if not size: + max_width = mgg.global_config['medium:thumb']['max_width'] + max_height = mgg.global_config['medium:thumb']['max_height'] + size = (max_width, max_height) + + thumb_tmp = os.path.join(self.workbench.dir, self.name_builder.fill( + '{basename}-thumbnail.jpg')) + + self.thumbnailer.thumbnail_spectrogram( + self.spectrogram_tmp, + thumb_tmp, + size) + + thumb_filepath = create_pub_filepath( + self.entry, + '{original}-thumbnail.jpg'.format( + original=os.path.splitext( + self.orig_filename[-1])[0])) + + store_public(self.entry, 'thumb', thumb_tmp, thumb_filepath) + + +class InitialProcessor(CommonAudioProcessor): + """ + Initial processing steps for new audio + """ + name = "initial" + description = "Initial processing" + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + """ + Determine if this media type is eligible for processing + """ + if not state: + state = entry.state + return state in ( + "unprocessed", "failed") + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--quality', + help='vorbisenc quality') + + parser.add_argument( + '--fft_size', + type=int, + help='spectrogram fft size') + + parser.add_argument( + '--thumb_size', + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + '--medium_width', + type=int, + help='The width of the spectogram') + + parser.add_argument( + '--create_spectrogram', + action='store_true', + help='Create spectogram and thumbnail') + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['create_spectrogram', 'quality', 'fft_size', + 'thumb_size', 'medium_width']) + + def process(self, quality=None, fft_size=None, thumb_size=None, + create_spectrogram=None, medium_width=None): + if not create_spectrogram: + create_spectrogram = self.audio_config['create_spectrogram'] + + self.common_setup() + self.transcode(quality=quality) + self.copy_original() + + if create_spectrogram: + self.create_spectrogram(quality=quality, max_width=medium_width, + fft_size=fft_size) + self.generate_thumb(size=thumb_size) + self.delete_queue_file() + + +class AudioProcessingManager(ProcessingManager): + def __init__(self): + super(self.__class__, self).__init__() + self.add_processor(InitialProcessor) From 550af89fc1502f8f695a00fec7b40783415c04c9 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 10:13:26 -0700 Subject: [PATCH 060/160] common_setup() must be the first processing step --- mediagoblin/media_types/audio/processing.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 3299c72d..6945ee08 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -332,10 +332,11 @@ class InitialProcessor(CommonAudioProcessor): def process(self, quality=None, fft_size=None, thumb_size=None, create_spectrogram=None, medium_width=None): + self.common_setup() + if not create_spectrogram: create_spectrogram = self.audio_config['create_spectrogram'] - self.common_setup() self.transcode(quality=quality) self.copy_original() From c6eaa555de22329e6aa8657bd52c8a4e0a7fe00e Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 10:28:12 -0700 Subject: [PATCH 061/160] use name_builder with store_public, not create_pub_filepath --- mediagoblin/media_types/audio/processing.py | 37 +++++++++++---------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 6945ee08..6c565eb4 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -201,11 +201,11 @@ class CommonAudioProcessor(MediaProcessor): self.name_builder.fill( '{basename}{ext}')) - webm_audio_filepath = create_pub_filepath( - self.entry, - '{original}.webm'.format( - original=os.path.splitext( - self.orig_filename[-1])[0])) + #webm_audio_filepath = create_pub_filepath( + # self.entry, + # '{original}.webm'.format( + # original=os.path.splitext( + # self.orig_filename[-1])[0])) self.transcoder.transcode( self.orig_filename, @@ -217,7 +217,7 @@ class CommonAudioProcessor(MediaProcessor): _log.debug('Saving medium...') store_public(self.entry, 'medium', webm_audio_tmp, - webm_audio_filepath) + self.name_builder.fill('{basename}.medium{ext}')) def create_spectrogram(self, quality=None, max_width=None, fft_size=None): if not quality: @@ -227,11 +227,11 @@ class CommonAudioProcessor(MediaProcessor): if not fft_size: fft_size = self.audio_config['spectrogram_fft_size'] - spectrogram_filepath = create_pub_filepath( - self.entry, - '{original}-spectrogram.jpg'.format( - original=os.path.splitext( - self.orig_filename[-1])[0])) + #spectrogram_filepath = create_pub_filepath( + # self.entry, + # '{original}-spectrogram.jpg'.format( + # original=os.path.splitext( + # self.orig_filename[-1])[0])) wav_tmp = os.path.join(self.workbench.dir, self.name_builder.fill( '{basename}.ogg')) @@ -250,7 +250,7 @@ class CommonAudioProcessor(MediaProcessor): _log.debug('Saving spectrogram...') store_public(self.entry, 'spectrogram', self.spectrogram_tmp, - spectrogram_filepath) + self.name_builder.fill('{basename}.spectrogram.jpg')) def generate_thumb(self, size=None): if not size: @@ -266,13 +266,14 @@ class CommonAudioProcessor(MediaProcessor): thumb_tmp, size) - thumb_filepath = create_pub_filepath( - self.entry, - '{original}-thumbnail.jpg'.format( - original=os.path.splitext( - self.orig_filename[-1])[0])) + #thumb_filepath = create_pub_filepath( + # self.entry, + # '{original}-thumbnail.jpg'.format( + # original=os.path.splitext( + # self.orig_filename[-1])[0])) - store_public(self.entry, 'thumb', thumb_tmp, thumb_filepath) + store_public(self.entry, 'thumb', thumb_tmp, + self.name_builder.fill('{basename}.thumbnail.jpg')) class InitialProcessor(CommonAudioProcessor): From 776e4d7adc45bfd94399165853fb23c94f31501b Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 10:32:40 -0700 Subject: [PATCH 062/160] media:thumb not medium:thumb :) --- mediagoblin/media_types/audio/processing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 6c565eb4..67bf63b4 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -254,8 +254,8 @@ class CommonAudioProcessor(MediaProcessor): def generate_thumb(self, size=None): if not size: - max_width = mgg.global_config['medium:thumb']['max_width'] - max_height = mgg.global_config['medium:thumb']['max_height'] + max_width = mgg.global_config['media:thumb']['max_width'] + max_height = mgg.global_config['media:thumb']['max_height'] size = (max_width, max_height) thumb_tmp = os.path.join(self.workbench.dir, self.name_builder.fill( From 9448a98eb27fd1260b9e3b7603c3cc4492b2f569 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 10:36:30 -0700 Subject: [PATCH 063/160] should store file as webm_audio instead of medium --- mediagoblin/media_types/audio/processing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 67bf63b4..74167ace 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -216,8 +216,8 @@ class CommonAudioProcessor(MediaProcessor): self.transcoder.discover(webm_audio_tmp) _log.debug('Saving medium...') - store_public(self.entry, 'medium', webm_audio_tmp, - self.name_builder.fill('{basename}.medium{ext}')) + store_public(self.entry, 'webm_audio', webm_audio_tmp, + self.name_builder.fill('{basename}.medium.webm')) def create_spectrogram(self, quality=None, max_width=None, fft_size=None): if not quality: From 440e33aa54d5b6b3a9219283f4d0c31054323762 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 10:51:21 -0700 Subject: [PATCH 064/160] audio processing code cleanup --- mediagoblin/media_types/audio/processing.py | 142 +------------------- 1 file changed, 6 insertions(+), 136 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 74167ace..f6d0cc03 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -16,18 +16,17 @@ import argparse import logging -from tempfile import NamedTemporaryFile import os from mediagoblin import mg_globals as mgg from mediagoblin.processing import ( - create_pub_filepath, BadMediaFail, FilenameBuilder, + BadMediaFail, FilenameBuilder, ProgressCallback, MediaProcessor, ProcessingManager, request_from_args, get_orig_filename, store_public, copy_original) from mediagoblin.media_types.audio.transcoders import ( - AudioTranscoder,AudioThumbnailer) + AudioTranscoder, AudioThumbnailer) _log = logging.getLogger(__name__) @@ -43,126 +42,12 @@ def sniff_handler(media_file, **kw): _log.debug('Audio discovery raised BadMediaFail') return None - if data.is_audio == True and data.is_video == False: + if data.is_audio is True and data.is_video is False: return MEDIA_TYPE return None -def process_audio(proc_state): - """Code to process uploaded audio. Will be run by celery. - - A Workbench() represents a local tempory dir. It is automatically - cleaned up when this function exits. - """ - entry = proc_state.entry - workbench = proc_state.workbench - audio_config = mgg.global_config['media_type:mediagoblin.media_types.audio'] - - queued_filepath = entry.queued_media_file - queued_filename = workbench.localized_file( - mgg.queue_store, queued_filepath, - 'source') - name_builder = FilenameBuilder(queued_filename) - - webm_audio_filepath = create_pub_filepath( - entry, - '{original}.webm'.format( - original=os.path.splitext( - queued_filepath[-1])[0])) - - if audio_config['keep_original']: - with open(queued_filename, 'rb') as queued_file: - original_filepath = create_pub_filepath( - entry, name_builder.fill('{basename}{ext}')) - - with mgg.public_store.get_file(original_filepath, 'wb') as \ - original_file: - _log.debug('Saving original...') - original_file.write(queued_file.read()) - - entry.media_files['original'] = original_filepath - - transcoder = AudioTranscoder() - - with NamedTemporaryFile(dir=workbench.dir) as webm_audio_tmp: - progress_callback = ProgressCallback(entry) - - transcoder.transcode( - queued_filename, - webm_audio_tmp.name, - quality=audio_config['quality'], - progress_callback=progress_callback) - - transcoder.discover(webm_audio_tmp.name) - - _log.debug('Saving medium...') - mgg.public_store.get_file(webm_audio_filepath, 'wb').write( - webm_audio_tmp.read()) - - entry.media_files['webm_audio'] = webm_audio_filepath - - # entry.media_data_init(length=int(data.audiolength)) - - if audio_config['create_spectrogram']: - spectrogram_filepath = create_pub_filepath( - entry, - '{original}-spectrogram.jpg'.format( - original=os.path.splitext( - queued_filepath[-1])[0])) - - with NamedTemporaryFile(dir=workbench.dir, suffix='.ogg') as wav_tmp: - _log.info('Creating OGG source for spectrogram') - transcoder.transcode( - queued_filename, - wav_tmp.name, - mux_string='vorbisenc quality={0} ! oggmux'.format( - audio_config['quality'])) - - thumbnailer = AudioThumbnailer() - - with NamedTemporaryFile(dir=workbench.dir, suffix='.jpg') as spectrogram_tmp: - thumbnailer.spectrogram( - wav_tmp.name, - spectrogram_tmp.name, - width=mgg.global_config['media:medium']['max_width'], - fft_size=audio_config['spectrogram_fft_size']) - - _log.debug('Saving spectrogram...') - mgg.public_store.get_file(spectrogram_filepath, 'wb').write( - spectrogram_tmp.read()) - - entry.media_files['spectrogram'] = spectrogram_filepath - - with NamedTemporaryFile(dir=workbench.dir, suffix='.jpg') as thumb_tmp: - thumbnailer.thumbnail_spectrogram( - spectrogram_tmp.name, - thumb_tmp.name, - (mgg.global_config['media:thumb']['max_width'], - mgg.global_config['media:thumb']['max_height'])) - - thumb_filepath = create_pub_filepath( - entry, - '{original}-thumbnail.jpg'.format( - original=os.path.splitext( - queued_filepath[-1])[0])) - - mgg.public_store.get_file(thumb_filepath, 'wb').write( - thumb_tmp.read()) - - entry.media_files['thumb'] = thumb_filepath - else: - entry.media_files['thumb'] = ['fake', 'thumb', 'path.jpg'] - - # Remove queued media file from storage and database. - # queued_filepath is in the task_id directory which should - # be removed too, but fail if the directory is not empty to be on - # the super-safe side. - mgg.queue_store.delete_file(queued_filepath) # rm file - mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir - entry.queued_media_file = [] - - class CommonAudioProcessor(MediaProcessor): """ Provides a base for various audio processing steps @@ -170,6 +55,8 @@ class CommonAudioProcessor(MediaProcessor): def common_setup(self): """ + Setup the workbench directory and pull down the original file, add + the audio_config, transcoder, thumbnailer and spectrogram_tmp path """ self.audio_config = mgg \ .global_config['media_type:mediagoblin.media_types.audio'] @@ -179,6 +66,7 @@ class CommonAudioProcessor(MediaProcessor): self.entry, self.workbench) self.name_builder = FilenameBuilder(self.orig_filename) + # spectrogram_tmp is used for thumbnails and spectograms self.spectrogram_tmp = os.path.join(self.workbench.dir, self.name_builder.fill( '{basename}-spectrogram.jpg')) @@ -201,12 +89,6 @@ class CommonAudioProcessor(MediaProcessor): self.name_builder.fill( '{basename}{ext}')) - #webm_audio_filepath = create_pub_filepath( - # self.entry, - # '{original}.webm'.format( - # original=os.path.splitext( - # self.orig_filename[-1])[0])) - self.transcoder.transcode( self.orig_filename, webm_audio_tmp, @@ -227,12 +109,6 @@ class CommonAudioProcessor(MediaProcessor): if not fft_size: fft_size = self.audio_config['spectrogram_fft_size'] - #spectrogram_filepath = create_pub_filepath( - # self.entry, - # '{original}-spectrogram.jpg'.format( - # original=os.path.splitext( - # self.orig_filename[-1])[0])) - wav_tmp = os.path.join(self.workbench.dir, self.name_builder.fill( '{basename}.ogg')) @@ -266,12 +142,6 @@ class CommonAudioProcessor(MediaProcessor): thumb_tmp, size) - #thumb_filepath = create_pub_filepath( - # self.entry, - # '{original}-thumbnail.jpg'.format( - # original=os.path.splitext( - # self.orig_filename[-1])[0])) - store_public(self.entry, 'thumb', thumb_tmp, self.name_builder.fill('{basename}.thumbnail.jpg')) From 757376e34a645eda95df974906c103fb8421ab35 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 11:02:36 -0700 Subject: [PATCH 065/160] forgot nargs=2 --- mediagoblin/media_types/audio/processing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index f6d0cc03..25ec39e6 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -180,6 +180,7 @@ class InitialProcessor(CommonAudioProcessor): parser.add_argument( '--thumb_size', + nargs=2, metavar=('max_width', 'max_height'), type=int) From d8f886dcb45972881977be6e60fbdaa870ea8115 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 11:29:44 -0700 Subject: [PATCH 066/160] fetch spectrogram for thumbnail creation, create spectrogram if not found --- mediagoblin/media_types/audio/processing.py | 26 ++++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 25ec39e6..b70f7841 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -66,11 +66,6 @@ class CommonAudioProcessor(MediaProcessor): self.entry, self.workbench) self.name_builder = FilenameBuilder(self.orig_filename) - # spectrogram_tmp is used for thumbnails and spectograms - self.spectrogram_tmp = os.path.join(self.workbench.dir, - self.name_builder.fill( - '{basename}-spectrogram.jpg')) - self.transcoder = AudioTranscoder() self.thumbnailer = AudioThumbnailer() @@ -118,14 +113,18 @@ class CommonAudioProcessor(MediaProcessor): wav_tmp, mux_string='vorbisenc quality={0} ! oggmux'.format(quality)) + spectrogram_tmp = os.path.join(self.workbench.dir, + self.name_builder.fill( + '{basename}-spectrogram.jpg')) + self.thumbnailer.spectrogram( wav_tmp, - self.spectrogram_tmp, + spectrogram_tmp, width=max_width, fft_size=fft_size) _log.debug('Saving spectrogram...') - store_public(self.entry, 'spectrogram', self.spectrogram_tmp, + store_public(self.entry, 'spectrogram', spectrogram_tmp, self.name_builder.fill('{basename}.spectrogram.jpg')) def generate_thumb(self, size=None): @@ -137,8 +136,17 @@ class CommonAudioProcessor(MediaProcessor): thumb_tmp = os.path.join(self.workbench.dir, self.name_builder.fill( '{basename}-thumbnail.jpg')) + # We need the spectrogram to create a thumbnail + spectrogram = self.entry.media_files.get('spectrogram') + if not spectrogram: + _log.info('No spectrogram found, we will create one.') + self.create_spectrogram() + spectrogram = self.entry.media_files['spectrogram'] + + spectrogram_filepath = mgg.public_store.get_local_path(spectrogram) + self.thumbnailer.thumbnail_spectrogram( - self.spectrogram_tmp, + spectrogram_filepath, thumb_tmp, size) @@ -171,7 +179,7 @@ class InitialProcessor(CommonAudioProcessor): parser.add_argument( '--quality', - help='vorbisenc quality') + help='vorbisenc quality. Range: -0.1..1') parser.add_argument( '--fft_size', From 2e50e4b5f374f10630e078216e1a15b99a7354fd Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 11:30:18 -0700 Subject: [PATCH 067/160] add audio thumbnail and spectrogram resizer --- mediagoblin/media_types/audio/processing.py | 64 +++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index b70f7841..362d2d3c 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -227,7 +227,71 @@ class InitialProcessor(CommonAudioProcessor): self.delete_queue_file() +class Resizer(CommonAudioProcessor): + """ + Thumbnail and spectogram resizing process steps for processed audio + """ + name = 'resize' + description = 'Resize audio thumbnail or spectogram' + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + """ + Determine if this media entry is eligible for processing + """ + if not state: + state = entry.state + return state in 'processed' + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--quality', + help='vorbisenc quality. Range: -0.1..1') + + parser.add_argument( + '--fft_size', + type=int, + help='spectrogram fft size') + + parser.add_argument( + '--thumb_size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + '--medium_width', + type=int, + help='The width of the spectogram') + + parser.add_argument( + 'file', + choices=['thumb', 'spectrogram']) + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['thumb_size', 'file', 'quality', 'fft_size', 'medium_width']) + + def process(self, thumb_size=None, file=None, quality=None, fft_size=None, + medium_width=None): + self.common_setup() + if file == 'thumb': + self.generate_thumb(size=thumb_size) + elif file == 'spectrogram': + self.create_spectrogram(quality=quality, max_width=medium_width, + fft_size=fft_size) + + class AudioProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() self.add_processor(InitialProcessor) + self.add_processor(Resizer) From ad80fc8ac7fbd3ab8ceff31fea6cf9055a4e7d5f Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 11:34:05 -0700 Subject: [PATCH 068/160] just use the default quality when creating a thumbnail or spectrogram --- mediagoblin/media_types/audio/processing.py | 24 ++++++++------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 362d2d3c..2f965e45 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -96,9 +96,7 @@ class CommonAudioProcessor(MediaProcessor): store_public(self.entry, 'webm_audio', webm_audio_tmp, self.name_builder.fill('{basename}.medium.webm')) - def create_spectrogram(self, quality=None, max_width=None, fft_size=None): - if not quality: - quality = self.audio_config['quality'] + def create_spectrogram(self, max_width=None, fft_size=None): if not max_width: max_width = mgg.global_config['media:medium']['max_width'] if not fft_size: @@ -111,7 +109,8 @@ class CommonAudioProcessor(MediaProcessor): self.transcoder.transcode( self.orig_filename, wav_tmp, - mux_string='vorbisenc quality={0} ! oggmux'.format(quality)) + mux_string='vorbisenc quality={0} ! oggmux'.format( + self.audio_config['quality'])) spectrogram_tmp = os.path.join(self.workbench.dir, self.name_builder.fill( @@ -221,8 +220,7 @@ class InitialProcessor(CommonAudioProcessor): self.copy_original() if create_spectrogram: - self.create_spectrogram(quality=quality, max_width=medium_width, - fft_size=fft_size) + self.create_spectrogram(max_width=medium_width, fft_size=fft_size) self.generate_thumb(size=thumb_size) self.delete_queue_file() @@ -232,7 +230,7 @@ class Resizer(CommonAudioProcessor): Thumbnail and spectogram resizing process steps for processed audio """ name = 'resize' - description = 'Resize audio thumbnail or spectogram' + description = 'Resize thumbnail or spectogram' @classmethod def media_is_eligible(cls, entry=None, state=None): @@ -249,10 +247,6 @@ class Resizer(CommonAudioProcessor): description=cls.description, prog=cls.name) - parser.add_argument( - '--quality', - help='vorbisenc quality. Range: -0.1..1') - parser.add_argument( '--fft_size', type=int, @@ -278,16 +272,16 @@ class Resizer(CommonAudioProcessor): @classmethod def args_to_request(cls, args): return request_from_args( - args, ['thumb_size', 'file', 'quality', 'fft_size', 'medium_width']) + args, ['thumb_size', 'file', 'fft_size', 'medium_width']) - def process(self, thumb_size=None, file=None, quality=None, fft_size=None, + def process(self, thumb_size=None, file=None, fft_size=None, medium_width=None): self.common_setup() + if file == 'thumb': self.generate_thumb(size=thumb_size) elif file == 'spectrogram': - self.create_spectrogram(quality=quality, max_width=medium_width, - fft_size=fft_size) + self.create_spectrogram(max_width=medium_width, fft_size=fft_size) class AudioProcessingManager(ProcessingManager): From 0c509b1b7e6f7c8ba52aec4860dc0cae1dc0de80 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 11:42:42 -0700 Subject: [PATCH 069/160] added audio reprocessing transcoder --- mediagoblin/media_types/audio/processing.py | 38 ++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 2f965e45..7d8fd2d2 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -274,7 +274,7 @@ class Resizer(CommonAudioProcessor): return request_from_args( args, ['thumb_size', 'file', 'fft_size', 'medium_width']) - def process(self, thumb_size=None, file=None, fft_size=None, + def process(self, file, thumb_size=None, fft_size=None, medium_width=None): self.common_setup() @@ -284,8 +284,44 @@ class Resizer(CommonAudioProcessor): self.create_spectrogram(max_width=medium_width, fft_size=fft_size) +class Transcoder(CommonAudioProcessor): + """ + Transcoding processing steps for processed audio + """ + name = 'transcode' + description = 'Re-transcode audio' + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + if not state: + state = entry.state + return state in 'processed' + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--quality', + help='vorbisenc quality. Range: -0.1..1') + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['quality']) + + def process(self, quality=None): + self.common_setup() + self.transcode(quality=quality) + + class AudioProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() self.add_processor(InitialProcessor) self.add_processor(Resizer) + self.add_processor(Transcoder) From 347ef583829f0943abf18a8b42d953b185ae2a46 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 13:19:52 -0700 Subject: [PATCH 070/160] Added Initial processor for video --- mediagoblin/media_types/audio/processing.py | 4 +- mediagoblin/media_types/video/processing.py | 280 +++++++++++++------- 2 files changed, 180 insertions(+), 104 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 7d8fd2d2..f7c0a234 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -113,8 +113,8 @@ class CommonAudioProcessor(MediaProcessor): self.audio_config['quality'])) spectrogram_tmp = os.path.join(self.workbench.dir, - self.name_builder.fill( - '{basename}-spectrogram.jpg')) + self.name_builder.fill( + '{basename}-spectrogram.jpg')) self.thumbnailer.spectrogram( wav_tmp, diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index 857c1647..b9725401 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -19,8 +19,12 @@ import logging import datetime from mediagoblin import mg_globals as mgg -from mediagoblin.processing import \ - create_pub_filepath, FilenameBuilder, BaseProcessingFail, ProgressCallback +from mediagoblin.processing import ( + FilenameBuilder, BaseProcessingFail, + ProgressCallback, MediaProcessor, + ProcessingManager, request_from_args, + get_orig_filename, store_public, + copy_original) from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from . import transcoders @@ -57,106 +61,6 @@ def sniff_handler(media_file, **kw): return None -def process_video(proc_state): - """ - Process a video entry, transcode the queued media files (originals) and - create a thumbnail for the entry. - - A Workbench() represents a local tempory dir. It is automatically - cleaned up when this function exits. - """ - entry = proc_state.entry - workbench = proc_state.workbench - video_config = mgg.global_config['media_type:mediagoblin.media_types.video'] - - queued_filepath = entry.queued_media_file - queued_filename = proc_state.get_queued_filename() - name_builder = FilenameBuilder(queued_filename) - - medium_basename = name_builder.fill('{basename}-640p.webm') - medium_filepath = create_pub_filepath(entry, medium_basename) - - thumbnail_basename = name_builder.fill('{basename}.thumbnail.jpg') - thumbnail_filepath = create_pub_filepath(entry, thumbnail_basename) - - # Create a temporary file for the video destination (cleaned up with workbench) - tmp_dst = os.path.join(workbench.dir, medium_basename) - # Transcode queued file to a VP8/vorbis file that fits in a 640x640 square - progress_callback = ProgressCallback(entry) - - dimensions = ( - mgg.global_config['media:medium']['max_width'], - mgg.global_config['media:medium']['max_height']) - - # Extract metadata and keep a record of it - metadata = transcoders.VideoTranscoder().discover(queued_filename) - store_metadata(entry, metadata) - - # Figure out whether or not we need to transcode this video or - # if we can skip it - if skip_transcode(metadata): - _log.debug('Skipping transcoding') - - dst_dimensions = metadata['videowidth'], metadata['videoheight'] - - # Push original file to public storage - _log.debug('Saving original...') - proc_state.copy_original(queued_filepath[-1]) - - did_transcode = False - else: - transcoder = transcoders.VideoTranscoder() - - transcoder.transcode(queued_filename, tmp_dst, - vp8_quality=video_config['vp8_quality'], - vp8_threads=video_config['vp8_threads'], - vorbis_quality=video_config['vorbis_quality'], - progress_callback=progress_callback, - dimensions=dimensions) - - dst_dimensions = transcoder.dst_data.videowidth,\ - transcoder.dst_data.videoheight - - # Push transcoded video to public storage - _log.debug('Saving medium...') - mgg.public_store.copy_local_to_storage(tmp_dst, medium_filepath) - _log.debug('Saved medium') - - entry.media_files['webm_640'] = medium_filepath - - did_transcode = True - - # Save the width and height of the transcoded video - entry.media_data_init( - width=dst_dimensions[0], - height=dst_dimensions[1]) - - # Temporary file for the video thumbnail (cleaned up with workbench) - tmp_thumb = os.path.join(workbench.dir, thumbnail_basename) - - # Create a thumbnail.jpg that fits in a 180x180 square - transcoders.VideoThumbnailerMarkII( - queued_filename, - tmp_thumb, - 180) - - # Push the thumbnail to public storage - _log.debug('Saving thumbnail...') - mgg.public_store.copy_local_to_storage(tmp_thumb, thumbnail_filepath) - entry.media_files['thumb'] = thumbnail_filepath - - # save the original... but only if we did a transcoding - # (if we skipped transcoding and just kept the original anyway as the main - # media, then why would we save the original twice?) - if video_config['keep_original'] and did_transcode: - # Push original file to public storage - _log.debug('Saving original...') - proc_state.copy_original(queued_filepath[-1]) - - # Remove queued media file from storage and database - proc_state.delete_queue_file() - - def store_metadata(media_entry, metadata): """ Store metadata from this video for this media entry. @@ -211,3 +115,175 @@ def store_metadata(media_entry, metadata): if len(stored_metadata): media_entry.media_data_init( orig_metadata=stored_metadata) + + +class CommonVideoProcessor(MediaProcessor): + """ + Provides a base for various video processing steps + """ + + def common_setup(self): + self.video_config = mgg \ + .global_config['media_type:mediagoblin.media_types.audio'] + + # Pull down and set up the original file + self.orig_filename = get_orig_filename( + self.entry, self.workbench) + self.name_builder = FilenameBuilder(self.orig_filename) + + self.transcoder = transcoders.VideoTranscoder() + self.did_transcode = False + + def copy_original(self): + # If we didn't transcode, then we need to keep the original + if not self.did_transcode or \ + (self.video_config['keep_original'] and self.did_transcode): + copy_original( + self.entry, self.orig_filename, + self.name_builder.fill('{basename}{ext}')) + + def transcode(self, medium_size=None, vp8_quality=None, vp8_threads=None, + vorbis_quality=None): + progress_callback = ProgressCallback(entry) + tmp_dst = os.path.join(self.workbench.dir, + self.name_builder.fill('{basename}-640p.webm')) + + if not medium_size: + medium_size = ( + mgg.global_config['media:medium']['max_width'], + mgg.global_config['media:medium']['max_height']) + if not vp8_quality: + vp8_quality = self.video_config['vp8_quality'] + if not vp8_threads: + vp8_threads = self.video_config['vp8_threads'] + if not vorbis_quality: + vorbis_quality = self.video_config['vorbis_quality'] + + # Extract metadata and keep a record of it + metadata = self.transcoder.discover(self.orig_filename) + store_metadata(self.entry, metadata) + + # Figure out whether or not we need to transcode this video or + # if we can skip it + if skip_transcode(metadata): + _log.debug('Skipping transcoding') + + dst_dimensions = metadata['videowidth'], metadata['videoheight'] + + else: + self.transcoder.transcode(self.orig_filename, tmp_dst, + vp8_quality=vp8_quality, + vp8_threads=vp8_threads, + vorbis_quality=vorbis_quality, + progress_callback=progress_callback, + dimensions=medium_size) + + dst_dimensions = self.transcoder.dst_data.videowidth,\ + self.transcoder.dst_data.videoheight + + # Push transcoded video to public storage + _log.debug('Saving medium...') + store_public(self.entry, 'webm_640', tmp_dst, + self.name_builder.fill('{basename}-640p.webm')) + _log.debug('Saved medium') + + self.did_transcode = True + + # Save the width and height of the transcoded video + self.entry.media_data_init( + width=dst_dimensions[0], + height=dst_dimensions[1]) + + def generate_thumb(self, thumb_size=None): + # Temporary file for the video thumbnail (cleaned up with workbench) + tmp_thumb = os.path.join(self.workbench.dir, + self.name_builder.fill( + '{basename}.thumbnail.jpg')) + + if not thumb_size: + thumb_size = (mgg.global_config['media:thumb']['max_width'], + mgg.global_config['media:thumb']['max_height']) + + transcoders.VideoThumbnailerMarkII( + self.orig_filename, + tmp_thumb, + thumb_size[0], + thumb_size[1]) + + # Push the thumbnail to public storage + _log.debug('Saving thumbnail...') + store_public(self.entry, 'thumb', tmp_thumb, + self.name_builder.fill('{basename}.thumbnail.jpg')) + + +class InitialProcessor(CommonVideoProcessor): + """ + Initial processing steps for new video + """ + name = "initial" + description = "Initial processing" + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + if not state: + state = entry.state + return state in ( + "unprocessed", "failed") + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--medium_size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + '--vp8_quality', + type=int, + help='Range 0..10') + + parser.add_argument( + '--vp8_threads', + type=int, + help='0 means number_of_CPUs - 1') + + parser.add_argument( + '--vorbis_quality', + type=float, + help='Range -0.1..1') + + parser.add_argument( + '--thumb_size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['medium_size', 'vp8_quality', 'vp8_threads', + 'vorbis_quality', 'thumb_size']) + + def process(self, medium_size=None, vp8_threads=None, vp8_quality=None, + vorbis_quality=None, thumb_size=None): + self.common_setup() + + self.transcode(medium_size=medium_size, vp8_quality=vp8_quality, + vp8_threads=vp8_threads, vorbis_quality=vorbis_quality) + + self.copy_original() + self.generate_thumb(thumb_size=thumb_size) + self.delete_queue_file() + + +class VideoProcessingManager(ProcessingManager): + def __init__(self): + super(self.__class__, self).__init__() + self.add_processor(InitialProcessor) From 52e9770466336bf66585e00088b3fe3eca163562 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 13:27:51 -0700 Subject: [PATCH 071/160] use type=float for audio vorbis quality --- mediagoblin/media_types/audio/processing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index f7c0a234..7000b3c4 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -178,6 +178,7 @@ class InitialProcessor(CommonAudioProcessor): parser.add_argument( '--quality', + type=float, help='vorbisenc quality. Range: -0.1..1') parser.add_argument( From 371bcc24d2d937174bcf3132baad491c2f8d31fa Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 13:31:48 -0700 Subject: [PATCH 072/160] Added thumbnail resizer for video --- mediagoblin/media_types/video/processing.py | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index b9725401..8b8fdac9 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -283,7 +283,43 @@ class InitialProcessor(CommonVideoProcessor): self.delete_queue_file() +class Resizer(CommonVideoProcessor): + """ + Video thumbnail resizing process steps for processed media + """ + name = 'resize' + description = 'Resize thumbnail' + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + if not state: + state = entry.state + return state in 'processed' + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=description, + prog=cls.name) + + parser.add_argument( + '--thumb_size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['thumb_size']) + + def process(self, thumb_size=None): + self.common_setup() + self.generate_thumb(thumb_size=thumb_size) + + class VideoProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() self.add_processor(InitialProcessor) + self.add_processor(Resizer) From 57d1cb3cef44f53283a3c11b7e16a48dc3057062 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 13:40:16 -0700 Subject: [PATCH 073/160] added video transcoder --- mediagoblin/media_types/video/__init__.py | 4 +- mediagoblin/media_types/video/processing.py | 81 ++++++++++++++++++--- 2 files changed, 72 insertions(+), 13 deletions(-) diff --git a/mediagoblin/media_types/video/__init__.py b/mediagoblin/media_types/video/__init__.py index e8a4308b..03ffcb1f 100644 --- a/mediagoblin/media_types/video/__init__.py +++ b/mediagoblin/media_types/video/__init__.py @@ -15,7 +15,7 @@ # along with this program. If not, see . from mediagoblin.media_types import MediaManagerBase -from mediagoblin.media_types.video.processing import process_video, \ +from mediagoblin.media_types.video.processing import VideoProcessingManager, \ sniff_handler from mediagoblin.tools import pluginapi @@ -30,7 +30,6 @@ def setup_plugin(): class VideoMediaManager(MediaManagerBase): human_readable = "Video" - processor = staticmethod(process_video) display_template = "mediagoblin/media_displays/video.html" default_thumb = "images/media_thumbs/video.jpg" @@ -48,4 +47,5 @@ hooks = { 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: VideoMediaManager, + ('reprocess_manager', MEDIA_TYPE): lambda: VideoProcessingManager, } diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index 8b8fdac9..3f96dc66 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -14,6 +14,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import argparse import os.path import logging import datetime @@ -52,10 +53,10 @@ def sniff_handler(media_file, **kw): if not data: _log.error('Could not discover {0}'.format( - kw.get('media'))) + kw.get('media'))) return None - if data['is_video'] == True: + if data['is_video'] is True: return MEDIA_TYPE return None @@ -69,9 +70,9 @@ def store_metadata(media_entry, metadata): stored_metadata = dict( [(key, metadata[key]) for key in [ - "videoheight", "videolength", "videowidth", - "audiorate", "audiolength", "audiochannels", "audiowidth", - "mimetype"] + "videoheight", "videolength", "videowidth", + "audiorate", "audiolength", "audiochannels", "audiowidth", + "mimetype"] if key in metadata]) # We have to convert videorate into a sequence because it's a @@ -90,10 +91,10 @@ def store_metadata(media_entry, metadata): tags = dict( [(key, tags_metadata[key]) for key in [ - "application-name", "artist", "audio-codec", "bitrate", - "container-format", "copyright", "encoder", - "encoder-version", "license", "nominal-bitrate", "title", - "video-codec"] + "application-name", "artist", "audio-codec", "bitrate", + "container-format", "copyright", "encoder", + "encoder-version", "license", "nominal-bitrate", "title", + "video-codec"] if key in tags_metadata]) if 'date' in tags_metadata: date = tags_metadata['date'] @@ -144,7 +145,7 @@ class CommonVideoProcessor(MediaProcessor): def transcode(self, medium_size=None, vp8_quality=None, vp8_threads=None, vorbis_quality=None): - progress_callback = ProgressCallback(entry) + progress_callback = ProgressCallback(self.entry) tmp_dst = os.path.join(self.workbench.dir, self.name_builder.fill('{basename}-640p.webm')) @@ -299,7 +300,7 @@ class Resizer(CommonVideoProcessor): @classmethod def generate_parser(cls): parser = argparse.ArgumentParser( - description=description, + description=cls.description, prog=cls.name) parser.add_argument( @@ -308,6 +309,8 @@ class Resizer(CommonVideoProcessor): metavar=('max_width', 'max_height'), type=int) + return parser + @classmethod def args_to_request(cls, args): return request_from_args( @@ -318,8 +321,64 @@ class Resizer(CommonVideoProcessor): self.generate_thumb(thumb_size=thumb_size) +class Transcoder(CommonVideoProcessor): + """ + Transcoding processing steps for processed video + """ + name = 'transcode' + description = 'Re-transcode video' + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + if not state: + state = entry.state + return state in 'processed' + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--medium_size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + '--vp8_quality', + type=int, + help='Range 0..10') + + parser.add_argument( + '--vp8_threads', + type=int, + help='0 means number_of_CPUs - 1') + + parser.add_argument( + '--vorbis_quality', + type=float, + help='Range -0.1..1') + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['medium_size', 'vp8_threads', 'vp8_quality', + 'vorbis_quality']) + + def process(self, medium_size=None, vp8_quality=None, vp8_threads=None, + vorbis_quality=None): + self.common_setup() + self.transcode(medium_size=medium_size, vp8_threads=vp8_threads, + vp8_quality=vp8_quality, vorbis_quality=vorbis_quality) + + class VideoProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() self.add_processor(InitialProcessor) self.add_processor(Resizer) + self.add_processor(Transcoder) From 35d6a95008ac63a00cc2e4d7fac8187bc58eea9a Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 17:32:59 -0700 Subject: [PATCH 074/160] Added initial processor for ascii media --- mediagoblin/media_types/ascii/processing.py | 201 ++++++++++++-------- 1 file changed, 124 insertions(+), 77 deletions(-) diff --git a/mediagoblin/media_types/ascii/processing.py b/mediagoblin/media_types/ascii/processing.py index aca784e8..4cf8081a 100644 --- a/mediagoblin/media_types/ascii/processing.py +++ b/mediagoblin/media_types/ascii/processing.py @@ -13,6 +13,7 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import argparse import chardet import os try: @@ -22,7 +23,11 @@ except ImportError: import logging from mediagoblin import mg_globals as mgg -from mediagoblin.processing import create_pub_filepath +from mediagoblin.processing import ( + create_pub_filepath, FilenameBuilder, + MediaProcessor, ProcessingManager, + get_orig_filename, copy_original, + store_public, request_from_args) from mediagoblin.media_types.ascii import asciitoimage _log = logging.getLogger(__name__) @@ -43,106 +48,148 @@ def sniff_handler(media_file, **kw): return None -def process_ascii(proc_state): - """Code to process a txt file. Will be run by celery. - - A Workbench() represents a local tempory dir. It is automatically - cleaned up when this function exits. +class CommonAsciiProcessor(MediaProcessor): """ - entry = proc_state.entry - workbench = proc_state.workbench - ascii_config = mgg.global_config['media_type:mediagoblin.media_types.ascii'] - # Conversions subdirectory to avoid collisions - conversions_subdir = os.path.join( - workbench.dir, 'conversions') - os.mkdir(conversions_subdir) + Provides a base for various ascii processing steps + """ + def common_setup(self): + self.ascii_config = mgg.global_config[ + 'media_type:mediagoblin.media_types.ascii'] - queued_filepath = entry.queued_media_file - queued_filename = workbench.localized_file( - mgg.queue_store, queued_filepath, - 'source') + # Conversions subdirectory to avoid collisions + self.conversions_subdir = os.path.join( + self.workbench.dir, 'convirsions') + os.mkdir(self.conversions_subdir) - queued_file = file(queued_filename, 'rb') + # Pull down and set up the original file + self.orig_filename = get_orig_filename( + self.entry, self.workbench) + self.name_builder = FilenameBuilder(self.orig_filename) - with queued_file: - queued_file_charset = chardet.detect(queued_file.read()) + self.charset = None + + def copy_original(self): + copy_original( + self.entry, self.orig_filename, + self.name_builder.fill('{basename}{ext}')) + + def _detect_charset(self, orig_file): + d_charset = chardet.detect(orig_file.read()) # Only select a non-utf-8 charset if chardet is *really* sure - # Tested with "Feli\x0109an superjaron", which was detecte - if queued_file_charset['confidence'] < 0.9: - interpreted_charset = 'utf-8' + # Tested with "Feli\x0109an superjaron", which was detected + if d_charset['confidence'] < 0.9: + self.charset = 'utf-8' else: - interpreted_charset = queued_file_charset['encoding'] + self.charset = d_charset['encoding'] _log.info('Charset detected: {0}\nWill interpret as: {1}'.format( - queued_file_charset, - interpreted_charset)) + d_charset, + self.charset)) - queued_file.seek(0) # Rewind the queued file + def store_unicode_file(self): + with file(self.orig_filename, 'rb') as orig_file: + self._detect_charset(orig_file) + unicode_filepath = create_pub_filepath(self.entry, + 'ascii-portable.txt') - thumb_filepath = create_pub_filepath( - entry, 'thumbnail.png') + with mgg.public_store.get_file(unicode_filepath, 'wb') \ + as unicode_file: + # Decode the original file from its detected charset (or UTF8) + # Encode the unicode instance to ASCII and replace any + # non-ASCII with an HTML entity (&# + unicode_file.write( + unicode(orig_file.read().decode( + self.charset)).encode( + 'ascii', + 'xmlcharrefreplace')) - tmp_thumb_filename = os.path.join( - conversions_subdir, thumb_filepath[-1]) + self.entry.media_files['unicode'] = unicode_filepath - ascii_converter_args = {} + def generate_thumb(self, font=None, thumb_size=None): + with file(self.orig_filename, 'rb') as orig_file: + # If no font kwarg, check config + if not font: + font = self.ascii_config.get('thumbnail_font', None) + if not thumb_size: + thumb_size = (mgg.global_config['media:thumb']['max_width'], + mgg.global_config['media:thumb']['max_height']) - if ascii_config['thumbnail_font']: - ascii_converter_args.update( - {'font': ascii_config['thumbnail_font']}) + tmp_thumb = os.path.join( + self.conversions_subdir, + self.name_builder.fill('{basename}.thumbnail.png')) - converter = asciitoimage.AsciiToImage( - **ascii_converter_args) + ascii_converter_args = {} - thumb = converter._create_image( - queued_file.read()) + # If there is a font from either the config or kwarg, update + # ascii_converter_args + if font: + ascii_converter_args.update( + {'font': self.ascii_config['thumbnail_font']}) - with file(tmp_thumb_filename, 'w') as thumb_file: - thumb.thumbnail( - (mgg.global_config['media:thumb']['max_width'], - mgg.global_config['media:thumb']['max_height']), - Image.ANTIALIAS) - thumb.save(thumb_file) + converter = asciitoimage.AsciiToImage( + **ascii_converter_args) - _log.debug('Copying local file to public storage') - mgg.public_store.copy_local_to_storage( - tmp_thumb_filename, thumb_filepath) + thumb = converter._create_image( + orig_file.read()) - queued_file.seek(0) + with file(tmp_thumb, 'w') as thumb_file: + thumb.thumbnail( + thumb_size, + Image.ANTIALIAS) + thumb.save(thumb_file) - original_filepath = create_pub_filepath(entry, queued_filepath[-1]) + _log.debug('Copying local file to public storage') + store_public(self.entry, 'thumb', tmp_thumb, + self.name_builder.fill('{basename}.thumbnail.jpg')) - with mgg.public_store.get_file(original_filepath, 'wb') \ - as original_file: - original_file.write(queued_file.read()) - queued_file.seek(0) # Rewind *again* +class InitialProcessor(CommonAsciiProcessor): + """ + Initial processing step for new ascii media + """ + name = "initial" + description = "Initial processing" - unicode_filepath = create_pub_filepath(entry, 'ascii-portable.txt') + @classmethod + def media_is_eligible(cls, entry=None, state=None): + if not state: + state = entry.state + return state in ( + "unprocessed", "failed") - with mgg.public_store.get_file(unicode_filepath, 'wb') \ - as unicode_file: - # Decode the original file from its detected charset (or UTF8) - # Encode the unicode instance to ASCII and replace any non-ASCII - # with an HTML entity (&# - unicode_file.write( - unicode(queued_file.read().decode( - interpreted_charset)).encode( - 'ascii', - 'xmlcharrefreplace')) + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) - # Remove queued media file from storage and database. - # queued_filepath is in the task_id directory which should - # be removed too, but fail if the directory is not empty to be on - # the super-safe side. - mgg.queue_store.delete_file(queued_filepath) # rm file - mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir - entry.queued_media_file = [] + parser.add_argument( + '--thumb_size', + nargs=2, + metavar=('max_width', 'max_width'), + type=int) - media_files_dict = entry.setdefault('media_files', {}) - media_files_dict['thumb'] = thumb_filepath - media_files_dict['unicode'] = unicode_filepath - media_files_dict['original'] = original_filepath + parser.add_argument( + '--font', + help='the thumbnail font') - entry.save() + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['thumb_size', 'font']) + + def process(self, thumb_size=None, font=None): + self.common_setup() + self.store_unicode_file() + self.generate_thumb(thumb_size=thumb_size, font=font) + self.copy_original() + self.delete_queue_file() + + +class AsciiProcessingManager(ProcessingManager): + def __init__(self): + super(self.__class__, self).__init__() + self.add_processor(InitialProcessor) From 698c7a8bc602ead69fed2f0307d74c3528a38e0d Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 13 Aug 2013 17:42:42 -0700 Subject: [PATCH 075/160] added file argument to video resizer and added ascii resizer --- mediagoblin/media_types/ascii/processing.py | 46 +++++++++++++++++++++ mediagoblin/media_types/video/processing.py | 10 ++++- 2 files changed, 54 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/ascii/processing.py b/mediagoblin/media_types/ascii/processing.py index 4cf8081a..82ee9cd7 100644 --- a/mediagoblin/media_types/ascii/processing.py +++ b/mediagoblin/media_types/ascii/processing.py @@ -189,6 +189,52 @@ class InitialProcessor(CommonAsciiProcessor): self.delete_queue_file() +class Resizer(CommonAsciiProcessor): + """ + Resizing process steps for processed media + """ + name = 'resize' + description = 'Resize thumbnail' + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + """ + Determine if this media type is eligible for processing + """ + if not state: + state = entry.state + return state in 'processed' + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--thumb_size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + # Needed for gmg reprocess thumbs to work + parser.add_argument( + 'file', + nargs='?', + default='thumb') + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['size', 'file']) + + def process(self, thumb_size=None, file=None): + self.common_setup() + self.generate_thumb(thumb_size=thumb_size) + + class AsciiProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index 3f96dc66..ab78e8ed 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -309,14 +309,20 @@ class Resizer(CommonVideoProcessor): metavar=('max_width', 'max_height'), type=int) + # Needed for gmg reprocess thumbs to work + parser.add_argument( + 'file', + nargs='?', + default='thumb') + return parser @classmethod def args_to_request(cls, args): return request_from_args( - args, ['thumb_size']) + args, ['thumb_size', 'file']) - def process(self, thumb_size=None): + def process(self, thumb_size=None, file=None): self.common_setup() self.generate_thumb(thumb_size=thumb_size) From 5fabbcc4975bb8987a9975626d382e662fad6634 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 09:09:35 -0700 Subject: [PATCH 076/160] Added pdf Initial processor --- mediagoblin/media_types/pdf/processing.py | 169 +++++++++++++++++----- 1 file changed, 130 insertions(+), 39 deletions(-) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index f35b4376..7ee17e9d 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -230,51 +230,142 @@ def pdf_info(original): return ret_dict -def process_pdf(proc_state): - """Code to process a pdf file. Will be run by celery. - A Workbench() represents a local tempory dir. It is automatically - cleaned up when this function exits. +class CommonPdfProcessor(MediaProcessor): """ - entry = proc_state.entry - workbench = proc_state.workbench + Provides a base for various pdf processing steps + """ + def common_setup(self): + """ + Set up common pdf processing steps + """ + # Pull down and set up the original file + self.orig_filename = get_orig_filename( + self.entry, self.workbench) + self.name_builder = FilenameBuilder(self.orig_filename) - queued_filename = proc_state.get_queued_filename() - name_builder = FilenameBuilder(queued_filename) + self._set_pdf_filename() - # Copy our queued local workbench to its final destination - original_dest = name_builder.fill('{basename}{ext}') - proc_state.copy_original(original_dest) + def _set_pdf_filename(self): + if self.name_builder.ext == 'pdf': + self.pdf_filename = self.orig_filename + else: + self.pdf_filename = self.name_builder.fill('{basename}.pdf') - # Create a pdf if this is a different doc, store pdf for viewer - ext = queued_filename.rsplit('.', 1)[-1].lower() - if ext == 'pdf': - pdf_filename = queued_filename - else: - pdf_filename = queued_filename.rsplit('.', 1)[0] + '.pdf' - unoconv = where('unoconv') - Popen(executable=unoconv, - args=[unoconv, '-v', '-f', 'pdf', queued_filename]).wait() - if not os.path.exists(pdf_filename): - _log.debug('unoconv failed to convert file to pdf') - raise BadMediaFail() - proc_state.store_public(keyname=u'pdf', local_file=pdf_filename) + def copy_original(self): + copy_original( + self.entry, self.orig_filename, + self.name_builder.fill('{basename}{ext}')) - pdf_info_dict = pdf_info(pdf_filename) + def generate_thumb(self, thumb_size=None): + if not thumb_size: + thumb_size = (mgg.global_config['media:thumb']['max_width'], + mgg.global_config['media:thumb']['max_height']) - for name, width, height in [ - (u'thumb', mgg.global_config['media:thumb']['max_width'], - mgg.global_config['media:thumb']['max_height']), - (u'medium', mgg.global_config['media:medium']['max_width'], - mgg.global_config['media:medium']['max_height']), - ]: - filename = name_builder.fill('{basename}.%s.png' % name) - path = workbench.joinpath(filename) - create_pdf_thumb(pdf_filename, path, width, height) - assert(os.path.exists(path)) - proc_state.store_public(keyname=name, local_file=path) + # Note: pdftocairo adds '.png', so don't include an ext + thumb_filename = self.name_builder.fill('{basename}.thumbnail') - proc_state.delete_queue_file() + executable = where('pdftocairo') + args = [executable, '-scale-to', str(thumb_size), + '-singlefile', '-png', self.pdf_filename, thumb_filename] - entry.media_data_init(**pdf_info_dict) - entry.save() + _log.debug('calling {0}'.format(repr(' '.join(args)))) + Popen(executable=executable, args=args).wait() + + store_public(self.entry, 'thumb', thumb_filename, + self.name_builder.fill('{basename}.thumbnail.png')) + + def generate_pdf(self): + """ + Store the pdf. If the file is not a pdf, make it a pdf + """ + if self.name_builder.ext != 'pdf': + unoconv = where('unoconv') + Popen(executable=unoconv, + args=[unoconv, '-v', '-f', 'pdf', self.orig_filename]).wait() + + if not os.path.exists(self.pdf_filename): + _log.debug('unoconv failed to convert file to pdf') + raise BadMediaFail() + + store_public(self.entry, 'pdf', self.pdf_filename, + self.name_builder.fill('{basename}.pdf')) + + def extract_pdf_info(self): + pdf_info_dict = pdf_info(self.pdf_filename) + entry.media_data_init(**pdf_info_dict) + + def generate_medium(self, size=None): + if not size: + size = (mgg.global_config['media:medium']['max_width'], + mgg.global_config['media:medium']['max_height']) + + # Note: pdftocairo adds '.png', so don't include an ext + filename = self.name_builder.fill('{basename}.medium') + + executable = where('pdftocairo') + args = [executable, '-scale-to', str(size), + '-singlefile', '-png', self.pdf_filename, filename] + + _log.debug('calling {0}'.format(repr(' '.join(args)))) + Popen(executable=executable, args=args).wait() + + store_public(self.entry, 'thumb', filename, + self.name_builder.fill('{basename}.medium.png')) + +class InitialProcessor(CommonPdfProcessor): + """ + Initial processing step for new pdfs + """ + name = "initial" + description = "Initial processing" + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + """ + Determine if this media type is eligible for processing + """ + if not state: + state = entry.state + return state in ( + "unprocessed", "failed") + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + '--thumb-size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['size', 'thumb_size']) + + def process(self, size=None, thumb_size=None): + self.common_setup() + self.generate_pdf() + self.extract_pdf_info() + self.copy_original() + self.generate_medium(size=size) + self.generate_thumb(thumb_size=thumb_size) + self.delete_queue_file() + + +class PdfProcessingManager(ProcessingManager): + def __init__(self): + super(self.__class__, self).__init__() + self.add_processor(InitialProcessor) From 696b0ec64bd07c98b8049e56c8742dd455888cd9 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 09:13:25 -0700 Subject: [PATCH 077/160] added pdf Resizer --- mediagoblin/media_types/pdf/processing.py | 53 ++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index 7ee17e9d..5e82f672 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -20,7 +20,10 @@ from subprocess import PIPE, Popen from mediagoblin import mg_globals as mgg from mediagoblin.processing import (create_pub_filepath, - FilenameBuilder, BadMediaFail) + FilenameBuilder, BadMediaFail, + MediaProcessor, ProcessingManager, + request_from_args, get_orig_filename, + store_public, copy_original) from mediagoblin.tools.translate import fake_ugettext_passthrough as _ _log = logging.getLogger(__name__) @@ -365,7 +368,55 @@ class InitialProcessor(CommonPdfProcessor): self.delete_queue_file() +class Resizer(CommonImageProcessor): + """ + Resizing process steps for processed pdfs + """ + name = 'resize' + description = 'Resize thumbnail and medium' + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + """ + Determine if this media type is eligible for processing + """ + if not state: + state = entry.state + return state in 'processed' + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + 'file', + choices=['medium', 'thumb']) + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['size', 'file']) + + def process(self, file, size=None): + self.common_setup() + if file == 'medium': + self.generate_medium(size=size) + elif file == 'thumb': + self.generate_thumb(size=size) + + class PdfProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() self.add_processor(InitialProcessor) + self.add_processor(Resizer) From 40554b339505a66a0adfd98158fb5094005c6577 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 09:40:47 -0700 Subject: [PATCH 078/160] Use workbench for temp files, refactor _set_pdf_filename, and correct imports --- mediagoblin/media_types/pdf/processing.py | 47 ++++++++++++++--------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index 5e82f672..8294fbe2 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -13,17 +13,18 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import argparse import os import logging import dateutil.parser from subprocess import PIPE, Popen from mediagoblin import mg_globals as mgg -from mediagoblin.processing import (create_pub_filepath, - FilenameBuilder, BadMediaFail, - MediaProcessor, ProcessingManager, - request_from_args, get_orig_filename, - store_public, copy_original) +from mediagoblin.processing import ( + FilenameBuilder, BadMediaFail, + MediaProcessor, ProcessingManager, + request_from_args, get_orig_filename, + store_public, copy_original) from mediagoblin.tools.translate import fake_ugettext_passthrough as _ _log = logging.getLogger(__name__) @@ -252,8 +253,11 @@ class CommonPdfProcessor(MediaProcessor): def _set_pdf_filename(self): if self.name_builder.ext == 'pdf': self.pdf_filename = self.orig_filename + elif self.entry.media_files.get('pdf'): + self.pdf_filename = self.workbench.local_file( + mgg.public_store, self.entry.media_files['pdf']) else: - self.pdf_filename = self.name_builder.fill('{basename}.pdf') + self.pdf_filename = self._generate_pdf() def copy_original(self): copy_original( @@ -266,7 +270,9 @@ class CommonPdfProcessor(MediaProcessor): mgg.global_config['media:thumb']['max_height']) # Note: pdftocairo adds '.png', so don't include an ext - thumb_filename = self.name_builder.fill('{basename}.thumbnail') + thumb_filename = os.path.join(self.workbench.dir, + self.name_builder.fill( + '{basename}.thumbnail')) executable = where('pdftocairo') args = [executable, '-scale-to', str(thumb_size), @@ -278,25 +284,27 @@ class CommonPdfProcessor(MediaProcessor): store_public(self.entry, 'thumb', thumb_filename, self.name_builder.fill('{basename}.thumbnail.png')) - def generate_pdf(self): + def _generate_pdf(self): """ Store the pdf. If the file is not a pdf, make it a pdf """ - if self.name_builder.ext != 'pdf': - unoconv = where('unoconv') - Popen(executable=unoconv, - args=[unoconv, '-v', '-f', 'pdf', self.orig_filename]).wait() + unoconv = where('unoconv') + Popen(executable=unoconv, + args=[unoconv, '-v', '-f', 'pdf', self.orig_filename]).wait() - if not os.path.exists(self.pdf_filename): - _log.debug('unoconv failed to convert file to pdf') - raise BadMediaFail() + if not os.path.exists(self.pdf_filename): + _log.debug('unoconv failed to convert file to pdf') + raise BadMediaFail() store_public(self.entry, 'pdf', self.pdf_filename, self.name_builder.fill('{basename}.pdf')) + return self.workbench.local_file( + mgg.public_store, self.entry.media_files['pdf']) + def extract_pdf_info(self): pdf_info_dict = pdf_info(self.pdf_filename) - entry.media_data_init(**pdf_info_dict) + self.entry.media_data_init(**pdf_info_dict) def generate_medium(self, size=None): if not size: @@ -304,7 +312,8 @@ class CommonPdfProcessor(MediaProcessor): mgg.global_config['media:medium']['max_height']) # Note: pdftocairo adds '.png', so don't include an ext - filename = self.name_builder.fill('{basename}.medium') + filename = os.path.join(self.workbench.dir, + self.name_builder.fill('{basename}.medium')) executable = where('pdftocairo') args = [executable, '-scale-to', str(size), @@ -316,6 +325,7 @@ class CommonPdfProcessor(MediaProcessor): store_public(self.entry, 'thumb', filename, self.name_builder.fill('{basename}.medium.png')) + class InitialProcessor(CommonPdfProcessor): """ Initial processing step for new pdfs @@ -360,7 +370,6 @@ class InitialProcessor(CommonPdfProcessor): def process(self, size=None, thumb_size=None): self.common_setup() - self.generate_pdf() self.extract_pdf_info() self.copy_original() self.generate_medium(size=size) @@ -368,7 +377,7 @@ class InitialProcessor(CommonPdfProcessor): self.delete_queue_file() -class Resizer(CommonImageProcessor): +class Resizer(CommonPdfProcessor): """ Resizing process steps for processed pdfs """ From ab64ca3474af63c5d6187580a702095ff222ab75 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 09:46:44 -0700 Subject: [PATCH 079/160] add reprocess_manager to __init__ --- mediagoblin/media_types/pdf/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/pdf/__init__.py b/mediagoblin/media_types/pdf/__init__.py index 67509ddc..bc5c373b 100644 --- a/mediagoblin/media_types/pdf/__init__.py +++ b/mediagoblin/media_types/pdf/__init__.py @@ -15,7 +15,7 @@ # along with this program. If not, see . from mediagoblin.media_types import MediaManagerBase -from mediagoblin.media_types.pdf.processing import process_pdf, \ +from mediagoblin.media_types.pdf.processing import PdfProcessingManager, \ sniff_handler from mediagoblin.tools import pluginapi @@ -29,7 +29,6 @@ def setup_plugin(): class PDFMediaManager(MediaManagerBase): human_readable = "PDF" - processor = staticmethod(process_pdf) display_template = "mediagoblin/media_displays/pdf.html" default_thumb = "images/media_thumbs/pdf.jpg" @@ -44,4 +43,5 @@ hooks = { 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: PDFMediaManager, + ('reprocess_manager', MEDIA_TYPE): lambda: PdfProcessingManager, } From 77daec9224bf78a71d49a5ddfca72f9bb10efb11 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 10:38:13 -0700 Subject: [PATCH 080/160] Added initial stl processor --- mediagoblin/media_types/stl/processing.py | 266 ++++++++++++++-------- 1 file changed, 175 insertions(+), 91 deletions(-) diff --git a/mediagoblin/media_types/stl/processing.py b/mediagoblin/media_types/stl/processing.py index 53751416..6adc68ae 100644 --- a/mediagoblin/media_types/stl/processing.py +++ b/mediagoblin/media_types/stl/processing.py @@ -14,6 +14,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import argparse import os import json import logging @@ -21,8 +22,11 @@ import subprocess import pkg_resources from mediagoblin import mg_globals as mgg -from mediagoblin.processing import create_pub_filepath, \ - FilenameBuilder +from mediagoblin.processing import ( + FilenameBuilder, MediaProcessor, + ProcessingManager, request_from_args, + get_orig_filename, store_public, + copy_original) from mediagoblin.media_types.stl import model_loader @@ -75,49 +79,60 @@ def blender_render(config): env=env) -def process_stl(proc_state): - """Code to process an stl or obj model. Will be run by celery. - - A Workbench() represents a local tempory dir. It is automatically - cleaned up when this function exits. +class CommonStlProcessor(MediaProcessor): + """ + Provides a common base for various stl processing steps """ - entry = proc_state.entry - workbench = proc_state.workbench - queued_filepath = entry.queued_media_file - queued_filename = workbench.localized_file( - mgg.queue_store, queued_filepath, 'source') - name_builder = FilenameBuilder(queued_filename) + def common_setup(self): + # Pull down and set up the original file + self.orig_filename = get_orig_filename( + self.entry, self.workbench) + self.name_builder = FilenameBuilder(self.orig_filename) - ext = queued_filename.lower().strip()[-4:] - if ext.startswith("."): - ext = ext[1:] - else: - ext = None + self._set_ext() + self._set_model() + self._set_greatest() - # Attempt to parse the model file and divine some useful - # information about it. - with open(queued_filename, 'rb') as model_file: - model = model_loader.auto_detect(model_file, ext) + def _set_ext(self): + ext = self.name_builder.ext - # generate preview images - greatest = [model.width, model.height, model.depth] - greatest.sort() - greatest = greatest[-1] + if not ext: + ext = None - def snap(name, camera, width=640, height=640, project="ORTHO"): - filename = name_builder.fill(name) - workbench_path = workbench.joinpath(filename) + self.ext = ext + + def _set_model(self): + """ + Attempt to parse the model file and divine some useful + information about it. + """ + with open(self.orig_filename, 'rb') as model_file: + self.model = model_loader.auto_detect(model_file, self.ext) + + def _set_greatest(self): + greatest = [self.model.width, self.model.height, self.model.depth] + greatest.sort() + self.greatest = greatest[-1] + + def copy_original(self): + copy_original( + self.entry, self.orig_filename, + self.name_builder.fill('{basename}{ext}')) + + def _snap(self, keyname, name, camera, size, project="ORTHO"): + filename = self.name_builder.fill(name) + workbench_path = self.workbench.joinpath(filename) shot = { - "model_path": queued_filename, - "model_ext": ext, + "model_path": self.orig_filename, + "model_ext": self.ext, "camera_coord": camera, - "camera_focus": model.average, - "camera_clip": greatest*10, - "greatest": greatest, + "camera_focus": self.model.average, + "camera_clip": self.greatest*10, + "greatest": self.greatest, "projection": project, - "width": width, - "height": height, + "width": size[0], + "height": size[1], "out_file": workbench_path, } blender_render(shot) @@ -126,70 +141,139 @@ def process_stl(proc_state): assert os.path.exists(workbench_path) # copy it up! - with open(workbench_path, 'rb') as rendered_file: - public_path = create_pub_filepath(entry, filename) + store_public(self.entry, keyname, workbench_path, filename) - with mgg.public_store.get_file(public_path, "wb") as public_file: - public_file.write(rendered_file.read()) + def generate_thumb(self, thumb_size=None): + if not thumb_size: + thumb_size = (mgg.global_config['media:thumb']['max_width'], + mgg.global_config['media:thumb']['max_height']) - return public_path + self._snap( + "thumb", + "{basename}.thumb.jpg", + [0, self.greatest*-1.5, self.greatest], + thumb_size, + project="PERSP") - thumb_path = snap( - "{basename}.thumb.jpg", - [0, greatest*-1.5, greatest], - mgg.global_config['media:thumb']['max_width'], - mgg.global_config['media:thumb']['max_height'], - project="PERSP") + def generate_perspective(self, size=None): + if not size: + size = (mgg.global_config['media:medium']['max_width'], + mgg.global_config['media:medium']['max_height']) - perspective_path = snap( - "{basename}.perspective.jpg", - [0, greatest*-1.5, greatest], project="PERSP") + self._snap( + "perspective", + "{basename}.perspective.jpg", + [0, self.greatest*-1.5, self.greatest], + size, + project="PERSP") - topview_path = snap( - "{basename}.top.jpg", - [model.average[0], model.average[1], greatest*2]) + def generate_topview(self, size=None): + if not size: + size = (mgg.global_config['media:medium']['max_width'], + mgg.global_config['media:medium']['max_height']) - frontview_path = snap( - "{basename}.front.jpg", - [model.average[0], greatest*-2, model.average[2]]) + self._snap( + "top", + "{basename}.top.jpg", + [self.model.average[0], self.model.average[1], + self.greatest*2], + size) - sideview_path = snap( - "{basename}.side.jpg", - [greatest*-2, model.average[1], model.average[2]]) + def generate_frontview(self, size=None): + if not size: + size = (mgg.global_config['media:medium']['max_width'], + mgg.global_config['media:medium']['max_height']) - ## Save the public file stuffs - model_filepath = create_pub_filepath( - entry, name_builder.fill('{basename}{ext}')) + self._snap( + "front", + "{basename}.front.jpg", + [self.model.average[0], self.greatest*-2, + self.model.average[2]], + size) - with mgg.public_store.get_file(model_filepath, 'wb') as model_file: - with open(queued_filename, 'rb') as queued_file: - model_file.write(queued_file.read()) + def generate_sideview(self, size=None): + if not size: + size = (mgg.global_config['media:medium']['max_width'], + mgg.global_config['media:medium']['max_height']) - # Remove queued media file from storage and database. - # queued_filepath is in the task_id directory which should - # be removed too, but fail if the directory is not empty to be on - # the super-safe side. - mgg.queue_store.delete_file(queued_filepath) # rm file - mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir - entry.queued_media_file = [] + self._snap( + "side", + "{basename}.side.jpg", + [self.greatest*-2, self.model.average[1], + self.model.average[2]], + size) - # Insert media file information into database - media_files_dict = entry.setdefault('media_files', {}) - media_files_dict[u'original'] = model_filepath - media_files_dict[u'thumb'] = thumb_path - media_files_dict[u'perspective'] = perspective_path - media_files_dict[u'top'] = topview_path - media_files_dict[u'side'] = sideview_path - media_files_dict[u'front'] = frontview_path + def store_dimensions(self): + """ + Put model dimensions into the database + """ + dimensions = { + "center_x": self.model.average[0], + "center_y": self.model.average[1], + "center_z": self.model.average[2], + "width": self.model.width, + "height": self.model.height, + "depth": self.model.depth, + "file_type": self.ext, + } + self.entry.media_data_init(**dimensions) - # Put model dimensions into the database - dimensions = { - "center_x" : model.average[0], - "center_y" : model.average[1], - "center_z" : model.average[2], - "width" : model.width, - "height" : model.height, - "depth" : model.depth, - "file_type" : ext, - } - entry.media_data_init(**dimensions) + +class InitialProcessor(CommonStlProcessor): + """ + Initial processing step for new stls + """ + name = "initial" + description = "Initial processing" + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + """ + Determine if this media type is eligible for processing + """ + if not state: + state = entry.state + return state in ( + "unprocessed", "failed") + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + '--thumb-size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['size', 'thumb_size']) + + def process(self, size=None, thumb_size=None): + self.common_setup() + self.generate_thumb(thumb_size=thumb_size) + self.generate_perspective(size=size) + self.generate_topview(size=size) + self.generate_frontview(size=size) + self.generate_sideview(size=size) + self.store_dimensions() + self.copy_original() + self.delete_queue_file() + + +class StlProcessingManager(ProcessingManager): + def __init__(self): + super(self.__class__, self).__init__() + self.add_processor(InitialProcessor) From a3cc93c6af284c7f3cd6712611bfc6fc0f040a4f Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 10:40:14 -0700 Subject: [PATCH 081/160] added resizer for stl media --- mediagoblin/media_types/stl/processing.py | 51 +++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/mediagoblin/media_types/stl/processing.py b/mediagoblin/media_types/stl/processing.py index 6adc68ae..2ec4241c 100644 --- a/mediagoblin/media_types/stl/processing.py +++ b/mediagoblin/media_types/stl/processing.py @@ -273,7 +273,58 @@ class InitialProcessor(CommonStlProcessor): self.delete_queue_file() +class Resizer(CommonStlProcessor): + """ + Resizing process steps for processed stls + """ + name = 'resize' + description = 'Resize thumbnail and mediums' + + @classmethod + def media_is_eligible(cls, entry=None, state=None): + """ + Determine if this media type is eligible for processing + """ + if not state: + state = entry.state + return state in 'processed' + + @classmethod + def generate_parser(cls): + parser = argparse.ArgumentParser( + description=cls.description, + prog=cls.name) + + parser.add_argument( + '--size', + nargs=2, + metavar=('max_width', 'max_height'), + type=int) + + parser.add_argument( + 'file', + choices=['medium', 'thumb']) + + return parser + + @classmethod + def args_to_request(cls, args): + return request_from_args( + args, ['size', 'file']) + + def process(self, file, size=None): + self.common_setup() + if file == 'medium': + self.generate_perspective(size=size) + self.generate_topview(size=size) + self.generate_frontview(size=size) + self.generate_sideview(size=size) + elif file == 'thumb': + self.generate_thumb(size=size) + + class StlProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() self.add_processor(InitialProcessor) + self.add_processor(Resizer) From 2834d84c0cd57c7fd6294678d7872ecf55dc55ba Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 10:41:16 -0700 Subject: [PATCH 082/160] Cleanup image common processor --- mediagoblin/media_types/image/processing.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index c3dfc5fe..3b3c2b0f 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -131,21 +131,6 @@ class CommonImageProcessor(MediaProcessor): """ Provides a base for various media processing steps """ - # Common resizing step - def resize_step(self): - pass - - @classmethod - def _add_width_height_args(cls, parser): - parser.add_argument( - "--width", default=None, - help=( - "Width of the resized image (if not using defaults)")) - parser.add_argument( - "--height", default=None, - help=( - "Height of the resized image (if not using defaults)")) - def common_setup(self): """ Set up the workbench directory and pull down the original file From 2e90b2be16d401507301dfe2369624f2d5cba87f Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 10:47:04 -0700 Subject: [PATCH 083/160] forgot to change __init__ for new processing managers --- mediagoblin/media_types/ascii/__init__.py | 4 ++-- mediagoblin/media_types/stl/__init__.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mediagoblin/media_types/ascii/__init__.py b/mediagoblin/media_types/ascii/__init__.py index 4baf8dd3..b0f7551d 100644 --- a/mediagoblin/media_types/ascii/__init__.py +++ b/mediagoblin/media_types/ascii/__init__.py @@ -15,7 +15,7 @@ # along with this program. If not, see . from mediagoblin.media_types import MediaManagerBase -from mediagoblin.media_types.ascii.processing import process_ascii, \ +from mediagoblin.media_types.ascii.processing import AsciiProcessingManager, \ sniff_handler from mediagoblin.tools import pluginapi @@ -29,7 +29,6 @@ def setup_plugin(): class ASCIIMediaManager(MediaManagerBase): human_readable = "ASCII" - processor = staticmethod(process_ascii) display_template = "mediagoblin/media_displays/ascii.html" default_thumb = "images/media_thumbs/ascii.jpg" @@ -43,5 +42,6 @@ hooks = { 'setup': setup_plugin, 'get_media_type_and_manager': get_media_type_and_manager, ('media_manager', MEDIA_TYPE): lambda: ASCIIMediaManager, + ('reprocess_manager', MEDIA_TYPE): lambda: AsciiProcessingManager, 'sniff_handler': sniff_handler, } diff --git a/mediagoblin/media_types/stl/__init__.py b/mediagoblin/media_types/stl/__init__.py index 1d2a8478..7170a45b 100644 --- a/mediagoblin/media_types/stl/__init__.py +++ b/mediagoblin/media_types/stl/__init__.py @@ -15,7 +15,7 @@ # along with this program. If not, see . from mediagoblin.media_types import MediaManagerBase -from mediagoblin.media_types.stl.processing import process_stl, \ +from mediagoblin.media_types.stl.processing import StlProcessingManager, \ sniff_handler from mediagoblin.tools import pluginapi @@ -29,7 +29,6 @@ def setup_plugin(): class STLMediaManager(MediaManagerBase): human_readable = "stereo lithographics" - processor = staticmethod(process_stl) display_template = "mediagoblin/media_displays/stl.html" default_thumb = "images/media_thumbs/video.jpg" @@ -43,4 +42,5 @@ hooks = { 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: STLMediaManager, + ('reprocess_manager', MEDIA_TYPE): lambda: StlProcessingManager, } From 61b3fc5078751523adeb4b8b5920667dd65ca356 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 10:52:37 -0700 Subject: [PATCH 084/160] don't include the '.' in the ext --- mediagoblin/media_types/stl/processing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/stl/processing.py b/mediagoblin/media_types/stl/processing.py index 2ec4241c..55938c06 100644 --- a/mediagoblin/media_types/stl/processing.py +++ b/mediagoblin/media_types/stl/processing.py @@ -95,7 +95,7 @@ class CommonStlProcessor(MediaProcessor): self._set_greatest() def _set_ext(self): - ext = self.name_builder.ext + ext = self.name_builder.ext[1:] if not ext: ext = None From e7672e5b48687f75c08c360ee86f71ec43566512 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 10:58:31 -0700 Subject: [PATCH 085/160] use a tmp_pdf filename --- mediagoblin/media_types/pdf/processing.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index 8294fbe2..17a3246c 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -288,15 +288,17 @@ class CommonPdfProcessor(MediaProcessor): """ Store the pdf. If the file is not a pdf, make it a pdf """ + tmp_pdf = self.orig_filename + unoconv = where('unoconv') Popen(executable=unoconv, args=[unoconv, '-v', '-f', 'pdf', self.orig_filename]).wait() - if not os.path.exists(self.pdf_filename): + if not os.path.exists(tmp_pdf): _log.debug('unoconv failed to convert file to pdf') raise BadMediaFail() - store_public(self.entry, 'pdf', self.pdf_filename, + store_public(self.entry, 'pdf', tmp_pdf, self.name_builder.fill('{basename}.pdf')) return self.workbench.local_file( From 96109a58dab80fc66310d40f0fdeb83fc8c5a5d0 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 11:00:05 -0700 Subject: [PATCH 086/160] oops, localized_file not local_file --- mediagoblin/media_types/pdf/processing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index 17a3246c..906be436 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -301,7 +301,7 @@ class CommonPdfProcessor(MediaProcessor): store_public(self.entry, 'pdf', tmp_pdf, self.name_builder.fill('{basename}.pdf')) - return self.workbench.local_file( + return self.workbench.localized_file( mgg.public_store, self.entry.media_files['pdf']) def extract_pdf_info(self): From d4380b52b6e49cb0fc1942e77dc8662f38f48ed6 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 11:34:31 -0700 Subject: [PATCH 087/160] include '.png' in filename --- mediagoblin/media_types/pdf/processing.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index 906be436..c7c85e20 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -281,7 +281,9 @@ class CommonPdfProcessor(MediaProcessor): _log.debug('calling {0}'.format(repr(' '.join(args)))) Popen(executable=executable, args=args).wait() - store_public(self.entry, 'thumb', thumb_filename, + # since pdftocairo added '.png', we need to include it with the + # filename + store_public(self.entry, 'thumb', thumb_filename + '.png', self.name_builder.fill('{basename}.thumbnail.png')) def _generate_pdf(self): @@ -324,7 +326,9 @@ class CommonPdfProcessor(MediaProcessor): _log.debug('calling {0}'.format(repr(' '.join(args)))) Popen(executable=executable, args=args).wait() - store_public(self.entry, 'thumb', filename, + # since pdftocairo added '.png', we need to include it with the + # filename + store_public(self.entry, 'thumb', filename + '.png', self.name_builder.fill('{basename}.medium.png')) From 7a89d27c80c89b646ffda44fe1baf98a0a7b91bc Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 12:13:06 -0700 Subject: [PATCH 088/160] -scale-to only takes 1 size, so choose the smallest --- mediagoblin/media_types/pdf/processing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index c7c85e20..f8aea7bb 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -275,7 +275,7 @@ class CommonPdfProcessor(MediaProcessor): '{basename}.thumbnail')) executable = where('pdftocairo') - args = [executable, '-scale-to', str(thumb_size), + args = [executable, '-scale-to', str(min(thumb_size)), '-singlefile', '-png', self.pdf_filename, thumb_filename] _log.debug('calling {0}'.format(repr(' '.join(args)))) @@ -320,7 +320,7 @@ class CommonPdfProcessor(MediaProcessor): self.name_builder.fill('{basename}.medium')) executable = where('pdftocairo') - args = [executable, '-scale-to', str(size), + args = [executable, '-scale-to', str(min(size)), '-singlefile', '-png', self.pdf_filename, filename] _log.debug('calling {0}'.format(repr(' '.join(args)))) From 8a528add8bbd4f448833311da612e8a1df6bef28 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 12:25:49 -0700 Subject: [PATCH 089/160] rewind the file to the begining --- mediagoblin/media_types/ascii/processing.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mediagoblin/media_types/ascii/processing.py b/mediagoblin/media_types/ascii/processing.py index 82ee9cd7..d69af1bf 100644 --- a/mediagoblin/media_types/ascii/processing.py +++ b/mediagoblin/media_types/ascii/processing.py @@ -87,6 +87,9 @@ class CommonAsciiProcessor(MediaProcessor): d_charset, self.charset)) + # Rewind the file + orig_file.seek(0) + def store_unicode_file(self): with file(self.orig_filename, 'rb') as orig_file: self._detect_charset(orig_file) From b95cc59bb9a4e5bf63009d26b33e07002d934cb9 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 12:41:03 -0700 Subject: [PATCH 090/160] size should be a tuple --- mediagoblin/media_types/audio/processing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 7000b3c4..0bcac52c 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -147,7 +147,7 @@ class CommonAudioProcessor(MediaProcessor): self.thumbnailer.thumbnail_spectrogram( spectrogram_filepath, thumb_tmp, - size) + tuple(size)) store_public(self.entry, 'thumb', thumb_tmp, self.name_builder.fill('{basename}.thumbnail.jpg')) @@ -200,7 +200,7 @@ class InitialProcessor(CommonAudioProcessor): parser.add_argument( '--create_spectrogram', action='store_true', - help='Create spectogram and thumbnail') + help='Create spectogram and thumbnail, will default to config') return parser From 100a73a298f739d345cc41d9e5260c170a408c03 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 13:06:08 -0700 Subject: [PATCH 091/160] force thumbnail creation of audio --- mediagoblin/media_types/audio/transcoders.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mediagoblin/media_types/audio/transcoders.py b/mediagoblin/media_types/audio/transcoders.py index 84e6af7e..150dad8e 100644 --- a/mediagoblin/media_types/audio/transcoders.py +++ b/mediagoblin/media_types/audio/transcoders.py @@ -122,8 +122,7 @@ class AudioThumbnailer(object): int(start_x), 0, int(stop_x), int(im_h))) - if th.size[0] > th_w or th.size[1] > th_h: - th.thumbnail(thumb_size, Image.ANTIALIAS) + th.thumbnail(thumb_size, Image.ANTIALIAS) th.save(dst) From 79f84d7e479f6b370709c6826c85070ab1996ea6 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 13:47:39 -0700 Subject: [PATCH 092/160] raise an error if the file failed to copy to public storage catch copy_local_to_storage errors and raise PublicStoreFail, saving the keyname --- mediagoblin/processing/__init__.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 0c13e807..e31b70bb 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -356,13 +356,24 @@ def store_public(entry, keyname, local_file, target_name=None, if target_name is None: target_name = os.path.basename(local_file) target_filepath = create_pub_filepath(entry, target_name) + if keyname in entry.media_files: _log.warn("store_public: keyname %r already used for file %r, " "replacing with %r", keyname, entry.media_files[keyname], target_filepath) if delete_if_exists: mgg.public_store.delete_file(entry.media_files[keyname]) - mgg.public_store.copy_local_to_storage(local_file, target_filepath) + + try: + mgg.public_store.copy_local_to_storage(local_file, target_filepath) + except: + raise PublicStoreFail(keyname=keyname) + + # raise an error if the file failed to copy + copied_filepath = mgg.public_store.get_local_path(target_filepath) + if not os.path.exists(copied_filepath): + raise PublicStoreFail(keyname=keyname) + entry.media_files[keyname] = target_filepath @@ -396,3 +407,10 @@ class BadMediaFail(BaseProcessingFail): for the media type specified. """ general_message = _(u'Invalid file given for media type.') + + +class PublicStoreFail(BaseProcessingFail): + """ + Error that should be raised when copying to public store fails + """ + general_message = _('Copying to public storage failed.') From 7d3fda06b03691601bc08b5d88baf1da1c3f83fc Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 14:54:10 -0700 Subject: [PATCH 093/160] catch processing exceptions and if entry_orig_state is processed, then ignore the exception --- mediagoblin/processing/task.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index d3770588..df44dd7a 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -93,7 +93,18 @@ class ProcessMedia(task.Task): _log.debug('Processing {0}'.format(entry)) - processor.process(**reprocess_info) + try: + processor.process(**reprocess_info) + except Exception as exc: + if processor.entry_orig_state == 'processed': + _log.error( + 'Entry {0} failed to process due to the following' + ' error: {1}'.format(entry.id, exc)) + _log.info( + 'Setting entry.state back to "processed"') + pass + else: + raise # We set the state to processed and save the entry here so there's # no need to save at the end of the processing stage, probably ;) From d63f78fad9f64646c2cc1917862605bd4a1e55ba Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 15:11:03 -0700 Subject: [PATCH 094/160] forgot to add the ascii resizer to the list of processors --- mediagoblin/media_types/ascii/processing.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mediagoblin/media_types/ascii/processing.py b/mediagoblin/media_types/ascii/processing.py index d69af1bf..e11ac91e 100644 --- a/mediagoblin/media_types/ascii/processing.py +++ b/mediagoblin/media_types/ascii/processing.py @@ -242,3 +242,4 @@ class AsciiProcessingManager(ProcessingManager): def __init__(self): super(self.__class__, self).__init__() self.add_processor(InitialProcessor) + self.add_processor(Resizer) From a2f501982a8ca7d902f6e3ad8f5934e1e72bbae7 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 16:06:14 -0700 Subject: [PATCH 095/160] add quality and filter args to image processors --- mediagoblin/media_types/image/processing.py | 78 +++++++++++++++------ 1 file changed, 57 insertions(+), 21 deletions(-) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 3b3c2b0f..ef415496 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -44,7 +44,7 @@ MEDIA_TYPE = 'mediagoblin.media_types.image' def resize_image(entry, resized, keyname, target_name, new_size, - exif_tags, workdir): + exif_tags, workdir, quality, filter): """ Store a resized version of an image and return its pathname. @@ -56,17 +56,16 @@ def resize_image(entry, resized, keyname, target_name, new_size, exif_tags -- EXIF data for the original image workdir -- directory path for storing converted image files new_size -- 2-tuple size for the resized image + quality -- level of compression used when resizing images + filter -- One of BICUBIC, BILINEAR, NEAREST, ANTIALIAS """ - config = mgg.global_config['media_type:mediagoblin.media_types.image'] - resized = exif_fix_image_orientation(resized, exif_tags) # Fix orientation - filter_config = config['resize_filter'] try: - resize_filter = PIL_FILTERS[filter_config.upper()] + resize_filter = PIL_FILTERS[filter.upper()] except KeyError: raise Exception('Filter "{0}" not found, choose one of {1}'.format( - unicode(filter_config), + unicode(filter), u', '.join(PIL_FILTERS.keys()))) resized.thumbnail(new_size, resize_filter) @@ -74,13 +73,13 @@ def resize_image(entry, resized, keyname, target_name, new_size, # Copy the new file to the conversion subdir, then remotely. tmp_resized_filename = os.path.join(workdir, target_name) with file(tmp_resized_filename, 'w') as resized_file: - resized.save(resized_file, quality=config['quality']) + resized.save(resized_file, quality=quality) store_public(entry, keyname, tmp_resized_filename, target_name) def resize_tool(entry, force, keyname, orig_file, target_name, - conversions_subdir, exif_tags, new_size=None): + conversions_subdir, exif_tags, quality, filter, new_size=None): # Use the default size if new_size was not given if not new_size: max_width = mgg.global_config['media:' + keyname]['max_width'] @@ -102,7 +101,8 @@ def resize_tool(entry, resize_image( entry, im, unicode(keyname), target_name, new_size, - exif_tags, conversions_subdir) + exif_tags, conversions_subdir, + quality, filter) SUPPORTED_FILETYPES = ['png', 'gif', 'jpg', 'jpeg', 'tiff'] @@ -135,6 +135,9 @@ class CommonImageProcessor(MediaProcessor): """ Set up the workbench directory and pull down the original file """ + self.image_config = mgg.global_config[ + 'media_type:mediagoblin.media_types.image'] + ## @@: Should this be two functions? # Conversions subdirectory to avoid collisions self.conversions_subdir = os.path.join( @@ -149,15 +152,28 @@ class CommonImageProcessor(MediaProcessor): # Exif extraction self.exif_tags = extract_exif(self.orig_filename) - def generate_medium_if_applicable(self, size=None): + def generate_medium_if_applicable(self, size=None, quality=None, + filter=None): + if not quality: + quality = self.image_config['quality'] + if not filter: + filter = self.image_config['resize_filter'] + resize_tool(self.entry, False, 'medium', self.orig_filename, self.name_builder.fill('{basename}.medium{ext}'), - self.conversions_subdir, self.exif_tags, size) + self.conversions_subdir, self.exif_tags, quality, + filter, size) + + def generate_thumb(self, size=None, quality=None, filter=None): + if not quality: + quality = self.image_config['quality'] + if not filter: + filter = self.image_config['filter'] - def generate_thumb(self, size=None): resize_tool(self.entry, True, 'thumb', self.orig_filename, self.name_builder.fill('{basename}.thumbnail{ext}'), - self.conversions_subdir, self.exif_tags, size) + self.conversions_subdir, self.exif_tags, quality, + filter, size) def copy_original(self): copy_original( @@ -219,17 +235,27 @@ class InitialProcessor(CommonImageProcessor): metavar=('max_width', 'max_height'), type=int) + parser.add_argument( + '--filter', + choices=['BICUBIC', 'BILINEAR', 'NEAREST', 'ANTIALIAS']) + + parser.add_argument( + '--quality', + type=int, + help='level of compression used when resizing images') + return parser @classmethod def args_to_request(cls, args): return request_from_args( - args, ['size', 'thumb_size']) + args, ['size', 'thumb_size', 'filter', 'quality']) - def process(self, size=None, thumb_size=None): + def process(self, size=None, thumb_size=None, quality=None, filter=None): self.common_setup() - self.generate_medium_if_applicable(size=size) - self.generate_thumb(size=thumb_size) + self.generate_medium_if_applicable(size=size, filter=filter, + quality=quality) + self.generate_thumb(size=thumb_sizei, filter=filter, quality=quality) self.copy_original() self.extract_metadata() self.delete_queue_file() @@ -267,6 +293,15 @@ class Resizer(CommonImageProcessor): metavar=('max_width', 'max_height'), type=int) + parser.add_argument( + '--filter', + choices=['BICUBIC', 'BILINEAR', 'NEAREST', 'ANTIALIAS']) + + parser.add_argument( + '--quality', + type=int, + help='level of compression used when resizing images') + parser.add_argument( 'file', choices=['medium', 'thumb']) @@ -276,14 +311,15 @@ class Resizer(CommonImageProcessor): @classmethod def args_to_request(cls, args): return request_from_args( - args, ['size', 'file']) + args, ['size', 'file', 'quality', 'filter']) - def process(self, file, size=None): + def process(self, file, size=None, filter=None, quality=None): self.common_setup() if file == 'medium': - self.generate_medium_if_applicable(size=size) + self.generate_medium_if_applicable(size=size, filter=filter, + quality=quality) elif file == 'thumb': - self.generate_thumb(size=size) + self.generate_thumb(size=size, filter=filter, quality=quality) class ImageProcessingManager(ProcessingManager): From 63021eb6092d080178215ff3647469fee27d789b Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 16:07:27 -0700 Subject: [PATCH 096/160] typos --- mediagoblin/media_types/ascii/processing.py | 5 +++-- mediagoblin/media_types/image/processing.py | 4 ++-- mediagoblin/media_types/pdf/processing.py | 4 ++-- mediagoblin/media_types/stl/processing.py | 4 ++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/mediagoblin/media_types/ascii/processing.py b/mediagoblin/media_types/ascii/processing.py index e11ac91e..6ba432e2 100644 --- a/mediagoblin/media_types/ascii/processing.py +++ b/mediagoblin/media_types/ascii/processing.py @@ -224,14 +224,15 @@ class Resizer(CommonAsciiProcessor): parser.add_argument( 'file', nargs='?', - default='thumb') + default='thumb', + choices=['thumb']) return parser @classmethod def args_to_request(cls, args): return request_from_args( - args, ['size', 'file']) + args, ['thumb_size', 'file']) def process(self, thumb_size=None, file=None): self.common_setup() diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index ef415496..c29030c9 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -168,7 +168,7 @@ class CommonImageProcessor(MediaProcessor): if not quality: quality = self.image_config['quality'] if not filter: - filter = self.image_config['filter'] + filter = self.image_config['resize_filter'] resize_tool(self.entry, True, 'thumb', self.orig_filename, self.name_builder.fill('{basename}.thumbnail{ext}'), @@ -255,7 +255,7 @@ class InitialProcessor(CommonImageProcessor): self.common_setup() self.generate_medium_if_applicable(size=size, filter=filter, quality=quality) - self.generate_thumb(size=thumb_sizei, filter=filter, quality=quality) + self.generate_thumb(size=thumb_size, filter=filter, quality=quality) self.copy_original() self.extract_metadata() self.delete_queue_file() diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index f8aea7bb..fdf4b161 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -254,7 +254,7 @@ class CommonPdfProcessor(MediaProcessor): if self.name_builder.ext == 'pdf': self.pdf_filename = self.orig_filename elif self.entry.media_files.get('pdf'): - self.pdf_filename = self.workbench.local_file( + self.pdf_filename = self.workbench.localized_file( mgg.public_store, self.entry.media_files['pdf']) else: self.pdf_filename = self._generate_pdf() @@ -328,7 +328,7 @@ class CommonPdfProcessor(MediaProcessor): # since pdftocairo added '.png', we need to include it with the # filename - store_public(self.entry, 'thumb', filename + '.png', + store_public(self.entry, 'medium', filename + '.png', self.name_builder.fill('{basename}.medium.png')) diff --git a/mediagoblin/media_types/stl/processing.py b/mediagoblin/media_types/stl/processing.py index 55938c06..fc8c10b6 100644 --- a/mediagoblin/media_types/stl/processing.py +++ b/mediagoblin/media_types/stl/processing.py @@ -249,7 +249,7 @@ class InitialProcessor(CommonStlProcessor): type=int) parser.add_argument( - '--thumb-size', + '--thumb_size', nargs=2, metavar=('max_width', 'max_height'), type=int) @@ -320,7 +320,7 @@ class Resizer(CommonStlProcessor): self.generate_frontview(size=size) self.generate_sideview(size=size) elif file == 'thumb': - self.generate_thumb(size=size) + self.generate_thumb(thumb_size=size) class StlProcessingManager(ProcessingManager): From 3225008f04e263c618186da881e3e01439578900 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 16:25:44 -0700 Subject: [PATCH 097/160] include a thumb_size string with each Resizer to run gmg reprocess thumbs --- mediagoblin/gmg_commands/reprocess.py | 6 ++++-- mediagoblin/media_types/ascii/processing.py | 1 + mediagoblin/media_types/audio/processing.py | 1 + mediagoblin/media_types/image/processing.py | 1 + mediagoblin/media_types/pdf/processing.py | 1 + mediagoblin/media_types/stl/processing.py | 1 + mediagoblin/media_types/video/processing.py | 1 + 7 files changed, 10 insertions(+), 2 deletions(-) diff --git a/mediagoblin/gmg_commands/reprocess.py b/mediagoblin/gmg_commands/reprocess.py index 375d9ff2..e2f19ea3 100644 --- a/mediagoblin/gmg_commands/reprocess.py +++ b/mediagoblin/gmg_commands/reprocess.py @@ -245,8 +245,10 @@ def thumbs(args): # prepare filetype and size to be passed into reprocess_parser if args.size: - extra_args = 'thumb --size {0} {1}'.format(args.size[0], - args.size[1]) + extra_args = 'thumb --{0} {1} {2}'.format( + processor_class.thumb_size, + args.size[0], + args.size[1]) else: extra_args = 'thumb' diff --git a/mediagoblin/media_types/ascii/processing.py b/mediagoblin/media_types/ascii/processing.py index 6ba432e2..ab89f4ad 100644 --- a/mediagoblin/media_types/ascii/processing.py +++ b/mediagoblin/media_types/ascii/processing.py @@ -198,6 +198,7 @@ class Resizer(CommonAsciiProcessor): """ name = 'resize' description = 'Resize thumbnail' + thumb_size = 'thumb_size' @classmethod def media_is_eligible(cls, entry=None, state=None): diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 0bcac52c..77647d12 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -232,6 +232,7 @@ class Resizer(CommonAudioProcessor): """ name = 'resize' description = 'Resize thumbnail or spectogram' + thumb_size = 'thumb_size' @classmethod def media_is_eligible(cls, entry=None, state=None): diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index c29030c9..81b4d449 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -267,6 +267,7 @@ class Resizer(CommonImageProcessor): """ name = 'resize' description = 'Resize image' + thumb_size = 'size' @classmethod def media_is_eligible(cls, entry=None, state=None): diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index fdf4b161..22bbf01a 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -389,6 +389,7 @@ class Resizer(CommonPdfProcessor): """ name = 'resize' description = 'Resize thumbnail and medium' + thumb_size = 'size' @classmethod def media_is_eligible(cls, entry=None, state=None): diff --git a/mediagoblin/media_types/stl/processing.py b/mediagoblin/media_types/stl/processing.py index fc8c10b6..fddb94a2 100644 --- a/mediagoblin/media_types/stl/processing.py +++ b/mediagoblin/media_types/stl/processing.py @@ -279,6 +279,7 @@ class Resizer(CommonStlProcessor): """ name = 'resize' description = 'Resize thumbnail and mediums' + thumb_size = 'size' @classmethod def media_is_eligible(cls, entry=None, state=None): diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index ab78e8ed..fefbebfe 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -290,6 +290,7 @@ class Resizer(CommonVideoProcessor): """ name = 'resize' description = 'Resize thumbnail' + thumb_size = 'thumb_size' @classmethod def media_is_eligible(cls, entry=None, state=None): From 23a3703a1dc9207ac39354721a007920a53894f8 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 16:30:52 -0700 Subject: [PATCH 098/160] use thumb_size --- mediagoblin/media_types/pdf/processing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index 22bbf01a..19ab54b2 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -428,7 +428,7 @@ class Resizer(CommonPdfProcessor): if file == 'medium': self.generate_medium(size=size) elif file == 'thumb': - self.generate_thumb(size=size) + self.generate_thumb(thumb_size=size) class PdfProcessingManager(ProcessingManager): From 882779f547f4bc20887e8af7d4973d5bbb8bf147 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 14 Aug 2013 16:39:01 -0700 Subject: [PATCH 099/160] only try and delete queue file if it exists --- mediagoblin/processing/__init__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index e31b70bb..e2415fd5 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -166,9 +166,10 @@ class MediaProcessor(object): # be removed too, but fail if the directory is not empty to be on # the super-safe side. queued_filepath = self.entry.queued_media_file - mgg.queue_store.delete_file(queued_filepath) # rm file - mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir - self.entry.queued_media_file = [] + if queued_filepath: + mgg.queue_store.delete_file(queued_filepath) # rm file + mgg.queue_store.delete_dir(queued_filepath[:-1]) # rm dir + self.entry.queued_media_file = [] class ProcessingKeyError(Exception): pass From 8bb0df62d45ca5f8c774180e73b6441efd4df6c8 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 15 Aug 2013 08:10:00 -0700 Subject: [PATCH 100/160] check medium_size arg in skip_transcoding, not config --- mediagoblin/media_types/video/processing.py | 7 ++++--- mediagoblin/media_types/video/util.py | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index fefbebfe..b91503ca 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -125,7 +125,7 @@ class CommonVideoProcessor(MediaProcessor): def common_setup(self): self.video_config = mgg \ - .global_config['media_type:mediagoblin.media_types.audio'] + .global_config['media_type:mediagoblin.media_types.video'] # Pull down and set up the original file self.orig_filename = get_orig_filename( @@ -166,7 +166,7 @@ class CommonVideoProcessor(MediaProcessor): # Figure out whether or not we need to transcode this video or # if we can skip it - if skip_transcode(metadata): + if skip_transcode(metadata, medium_size): _log.debug('Skipping transcoding') dst_dimensions = metadata['videowidth'], metadata['videoheight'] @@ -314,7 +314,8 @@ class Resizer(CommonVideoProcessor): parser.add_argument( 'file', nargs='?', - default='thumb') + default='thumb', + choices=['thumb']) return parser diff --git a/mediagoblin/media_types/video/util.py b/mediagoblin/media_types/video/util.py index 5765ecfb..c33cce5a 100644 --- a/mediagoblin/media_types/video/util.py +++ b/mediagoblin/media_types/video/util.py @@ -21,7 +21,7 @@ from mediagoblin import mg_globals as mgg _log = logging.getLogger(__name__) -def skip_transcode(metadata): +def skip_transcode(metadata, size): ''' Checks video metadata against configuration values for skip_transcode. @@ -51,9 +51,9 @@ def skip_transcode(metadata): return False if config['dimensions_match']: - if not metadata['videoheight'] <= medium_config['max_height']: + if not metadata['videoheight'] <= size[1]: return False - if not metadata['videowidth'] <= medium_config['max_width']: + if not metadata['videowidth'] <= size[0]: return False return True From 9b1317e3e29b87a6e9959583ff27a62c844f48b3 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 15 Aug 2013 08:11:29 -0700 Subject: [PATCH 101/160] make medium dimensions a tuple --- 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 b91503ca..4d7d9921 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -177,7 +177,7 @@ class CommonVideoProcessor(MediaProcessor): vp8_threads=vp8_threads, vorbis_quality=vorbis_quality, progress_callback=progress_callback, - dimensions=medium_size) + dimensions=tuple(medium_size)) dst_dimensions = self.transcoder.dst_data.videowidth,\ self.transcoder.dst_data.videoheight From 1cefccc7554a5df4c9bb126ef3b80b53f9e41cd7 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 15 Aug 2013 08:54:09 -0700 Subject: [PATCH 102/160] refactor get_orig_filename to return an acceptable filename to the processor. If there is an original video file and we skip transcoding, delete the webm_640 file --- mediagoblin/media_types/ascii/processing.py | 18 +++++---- mediagoblin/media_types/audio/processing.py | 17 +++++---- mediagoblin/media_types/image/processing.py | 21 ++++++----- mediagoblin/media_types/pdf/processing.py | 20 +++++----- mediagoblin/media_types/stl/processing.py | 17 +++++---- mediagoblin/media_types/video/processing.py | 25 ++++++++----- mediagoblin/processing/__init__.py | 41 ++++++++++++++------- 7 files changed, 94 insertions(+), 65 deletions(-) diff --git a/mediagoblin/media_types/ascii/processing.py b/mediagoblin/media_types/ascii/processing.py index ab89f4ad..9b6b3ad4 100644 --- a/mediagoblin/media_types/ascii/processing.py +++ b/mediagoblin/media_types/ascii/processing.py @@ -26,7 +26,7 @@ from mediagoblin import mg_globals as mgg from mediagoblin.processing import ( create_pub_filepath, FilenameBuilder, MediaProcessor, ProcessingManager, - get_orig_filename, copy_original, + get_process_filename, copy_original, store_public, request_from_args) from mediagoblin.media_types.ascii import asciitoimage @@ -52,6 +52,8 @@ class CommonAsciiProcessor(MediaProcessor): """ Provides a base for various ascii processing steps """ + acceptable_files = ['original', 'unicode'] + def common_setup(self): self.ascii_config = mgg.global_config[ 'media_type:mediagoblin.media_types.ascii'] @@ -61,16 +63,16 @@ class CommonAsciiProcessor(MediaProcessor): self.workbench.dir, 'convirsions') os.mkdir(self.conversions_subdir) - # Pull down and set up the original file - self.orig_filename = get_orig_filename( - self.entry, self.workbench) - self.name_builder = FilenameBuilder(self.orig_filename) + # Pull down and set up the processing file + self.process_filename = get_process_filename( + self.entry, self.workbench, self.acceptable_files) + self.name_builder = FilenameBuilder(self.process_filename) self.charset = None def copy_original(self): copy_original( - self.entry, self.orig_filename, + self.entry, self.process_filename, self.name_builder.fill('{basename}{ext}')) def _detect_charset(self, orig_file): @@ -91,7 +93,7 @@ class CommonAsciiProcessor(MediaProcessor): orig_file.seek(0) def store_unicode_file(self): - with file(self.orig_filename, 'rb') as orig_file: + with file(self.process_filename, 'rb') as orig_file: self._detect_charset(orig_file) unicode_filepath = create_pub_filepath(self.entry, 'ascii-portable.txt') @@ -110,7 +112,7 @@ class CommonAsciiProcessor(MediaProcessor): self.entry.media_files['unicode'] = unicode_filepath def generate_thumb(self, font=None, thumb_size=None): - with file(self.orig_filename, 'rb') as orig_file: + with file(self.process_filename, 'rb') as orig_file: # If no font kwarg, check config if not font: font = self.ascii_config.get('thumbnail_font', None) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 77647d12..8f1ddcbd 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -22,7 +22,7 @@ from mediagoblin import mg_globals as mgg from mediagoblin.processing import ( BadMediaFail, FilenameBuilder, ProgressCallback, MediaProcessor, ProcessingManager, - request_from_args, get_orig_filename, + request_from_args, get_process_filename, store_public, copy_original) from mediagoblin.media_types.audio.transcoders import ( @@ -52,6 +52,7 @@ class CommonAudioProcessor(MediaProcessor): """ Provides a base for various audio processing steps """ + acceptable_files = ['original', 'webm_audio'] def common_setup(self): """ @@ -61,10 +62,10 @@ class CommonAudioProcessor(MediaProcessor): self.audio_config = mgg \ .global_config['media_type:mediagoblin.media_types.audio'] - # Pull down and set up the original file - self.orig_filename = get_orig_filename( - self.entry, self.workbench) - self.name_builder = FilenameBuilder(self.orig_filename) + # Pull down and set up the processing file + self.process_filename = get_process_filename( + self.entry, self.workbench, self.acceptable_files) + self.name_builder = FilenameBuilder(self.process_filename) self.transcoder = AudioTranscoder() self.thumbnailer = AudioThumbnailer() @@ -72,7 +73,7 @@ class CommonAudioProcessor(MediaProcessor): def copy_original(self): if self.audio_config['keep_original']: copy_original( - self.entry, self.orig_filename, + self.entry, self.process_filename, self.name_builder.fill('{basename}{ext}')) def transcode(self, quality=None): @@ -85,7 +86,7 @@ class CommonAudioProcessor(MediaProcessor): '{basename}{ext}')) self.transcoder.transcode( - self.orig_filename, + self.process_filename, webm_audio_tmp, quality=quality, progress_callback=progress_callback) @@ -107,7 +108,7 @@ class CommonAudioProcessor(MediaProcessor): _log.info('Creating OGG source for spectrogram') self.transcoder.transcode( - self.orig_filename, + self.process_filename, wav_tmp, mux_string='vorbisenc quality={0} ! oggmux'.format( self.audio_config['quality'])) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 81b4d449..eaa19261 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -26,7 +26,7 @@ from mediagoblin import mg_globals as mgg from mediagoblin.processing import ( BadMediaFail, FilenameBuilder, MediaProcessor, ProcessingManager, - request_from_args, get_orig_filename, + request_from_args, get_process_filename, store_public, copy_original) from mediagoblin.tools.exif import exif_fix_image_orientation, \ extract_exif, clean_exif, get_gps_data, get_useful, \ @@ -131,6 +131,9 @@ class CommonImageProcessor(MediaProcessor): """ Provides a base for various media processing steps """ + # list of acceptable file keys in order of prefrence for reprocessing + acceptable_files = ['original', 'medium'] + def common_setup(self): """ Set up the workbench directory and pull down the original file @@ -144,13 +147,13 @@ class CommonImageProcessor(MediaProcessor): self.workbench.dir, 'convirsions') os.mkdir(self.conversions_subdir) - # Pull down and set up the original file - self.orig_filename = get_orig_filename( - self.entry, self.workbench) - self.name_builder = FilenameBuilder(self.orig_filename) + # Pull down and set up the processing file + self.process_filename = get_process_filename( + self.entry, self.workbench, self.acceptable_files) + self.name_builder = FilenameBuilder(self.process_filename) # Exif extraction - self.exif_tags = extract_exif(self.orig_filename) + self.exif_tags = extract_exif(self.process_filename) def generate_medium_if_applicable(self, size=None, quality=None, filter=None): @@ -159,7 +162,7 @@ class CommonImageProcessor(MediaProcessor): if not filter: filter = self.image_config['resize_filter'] - resize_tool(self.entry, False, 'medium', self.orig_filename, + resize_tool(self.entry, False, 'medium', self.process_filename, self.name_builder.fill('{basename}.medium{ext}'), self.conversions_subdir, self.exif_tags, quality, filter, size) @@ -170,14 +173,14 @@ class CommonImageProcessor(MediaProcessor): if not filter: filter = self.image_config['resize_filter'] - resize_tool(self.entry, True, 'thumb', self.orig_filename, + resize_tool(self.entry, True, 'thumb', self.process_filename, self.name_builder.fill('{basename}.thumbnail{ext}'), self.conversions_subdir, self.exif_tags, quality, filter, size) def copy_original(self): copy_original( - self.entry, self.orig_filename, + self.entry, self.process_filename, self.name_builder.fill('{basename}{ext}')) def extract_metadata(self): diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index 19ab54b2..6ef95a72 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -23,7 +23,7 @@ from mediagoblin import mg_globals as mgg from mediagoblin.processing import ( FilenameBuilder, BadMediaFail, MediaProcessor, ProcessingManager, - request_from_args, get_orig_filename, + request_from_args, get_process_filename, store_public, copy_original) from mediagoblin.tools.translate import fake_ugettext_passthrough as _ @@ -239,20 +239,22 @@ class CommonPdfProcessor(MediaProcessor): """ Provides a base for various pdf processing steps """ + acceptable_files = ['original', 'pdf'] + def common_setup(self): """ Set up common pdf processing steps """ - # Pull down and set up the original file - self.orig_filename = get_orig_filename( - self.entry, self.workbench) - self.name_builder = FilenameBuilder(self.orig_filename) + # Pull down and set up the processing file + self.process_filename = get_process_filename( + self.entry, self.workbench, self.acceptable_files) + self.name_builder = FilenameBuilder(self.process_filename) self._set_pdf_filename() def _set_pdf_filename(self): if self.name_builder.ext == 'pdf': - self.pdf_filename = self.orig_filename + self.pdf_filename = self.process_filename elif self.entry.media_files.get('pdf'): self.pdf_filename = self.workbench.localized_file( mgg.public_store, self.entry.media_files['pdf']) @@ -261,7 +263,7 @@ class CommonPdfProcessor(MediaProcessor): def copy_original(self): copy_original( - self.entry, self.orig_filename, + self.entry, self.process_filename, self.name_builder.fill('{basename}{ext}')) def generate_thumb(self, thumb_size=None): @@ -290,11 +292,11 @@ class CommonPdfProcessor(MediaProcessor): """ Store the pdf. If the file is not a pdf, make it a pdf """ - tmp_pdf = self.orig_filename + tmp_pdf = self.process_filename unoconv = where('unoconv') Popen(executable=unoconv, - args=[unoconv, '-v', '-f', 'pdf', self.orig_filename]).wait() + args=[unoconv, '-v', '-f', 'pdf', self.process_filename]).wait() if not os.path.exists(tmp_pdf): _log.debug('unoconv failed to convert file to pdf') diff --git a/mediagoblin/media_types/stl/processing.py b/mediagoblin/media_types/stl/processing.py index fddb94a2..77d3d86e 100644 --- a/mediagoblin/media_types/stl/processing.py +++ b/mediagoblin/media_types/stl/processing.py @@ -25,7 +25,7 @@ from mediagoblin import mg_globals as mgg from mediagoblin.processing import ( FilenameBuilder, MediaProcessor, ProcessingManager, request_from_args, - get_orig_filename, store_public, + get_process_filename, store_public, copy_original) from mediagoblin.media_types.stl import model_loader @@ -83,12 +83,13 @@ class CommonStlProcessor(MediaProcessor): """ Provides a common base for various stl processing steps """ + acceptable_files = ['original'] def common_setup(self): - # Pull down and set up the original file - self.orig_filename = get_orig_filename( - self.entry, self.workbench) - self.name_builder = FilenameBuilder(self.orig_filename) + # Pull down and set up the processing file + self.process_filename = get_process_filename( + self.entry, self.workbench, self.acceptable_files) + self.name_builder = FilenameBuilder(self.process_filename) self._set_ext() self._set_model() @@ -107,7 +108,7 @@ class CommonStlProcessor(MediaProcessor): Attempt to parse the model file and divine some useful information about it. """ - with open(self.orig_filename, 'rb') as model_file: + with open(self.process_filename, 'rb') as model_file: self.model = model_loader.auto_detect(model_file, self.ext) def _set_greatest(self): @@ -117,14 +118,14 @@ class CommonStlProcessor(MediaProcessor): def copy_original(self): copy_original( - self.entry, self.orig_filename, + self.entry, self.process_filename, self.name_builder.fill('{basename}{ext}')) def _snap(self, keyname, name, camera, size, project="ORTHO"): filename = self.name_builder.fill(name) workbench_path = self.workbench.joinpath(filename) shot = { - "model_path": self.orig_filename, + "model_path": self.process_filename, "model_ext": self.ext, "camera_coord": camera, "camera_focus": self.model.average, diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index 4d7d9921..bb854ffb 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -24,7 +24,7 @@ from mediagoblin.processing import ( FilenameBuilder, BaseProcessingFail, ProgressCallback, MediaProcessor, ProcessingManager, request_from_args, - get_orig_filename, store_public, + get_process_filename, store_public, copy_original) from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ @@ -122,15 +122,16 @@ class CommonVideoProcessor(MediaProcessor): """ Provides a base for various video processing steps """ + acceptable_files = ['original', 'webm_640'] def common_setup(self): self.video_config = mgg \ .global_config['media_type:mediagoblin.media_types.video'] - # Pull down and set up the original file - self.orig_filename = get_orig_filename( - self.entry, self.workbench) - self.name_builder = FilenameBuilder(self.orig_filename) + # Pull down and set up the processing file + self.process_filename = get_process_filename( + self.entry, self.workbench, self.acceptable_files) + self.name_builder = FilenameBuilder(self.process_filename) self.transcoder = transcoders.VideoTranscoder() self.did_transcode = False @@ -140,7 +141,7 @@ class CommonVideoProcessor(MediaProcessor): if not self.did_transcode or \ (self.video_config['keep_original'] and self.did_transcode): copy_original( - self.entry, self.orig_filename, + self.entry, self.process_filename, self.name_builder.fill('{basename}{ext}')) def transcode(self, medium_size=None, vp8_quality=None, vp8_threads=None, @@ -161,7 +162,7 @@ class CommonVideoProcessor(MediaProcessor): vorbis_quality = self.video_config['vorbis_quality'] # Extract metadata and keep a record of it - metadata = self.transcoder.discover(self.orig_filename) + metadata = self.transcoder.discover(self.process_filename) store_metadata(self.entry, metadata) # Figure out whether or not we need to transcode this video or @@ -171,8 +172,14 @@ class CommonVideoProcessor(MediaProcessor): dst_dimensions = metadata['videowidth'], metadata['videoheight'] + # If there is an original and transcoded, delete the transcoded + # since it must be of lower quality then the original + if self.entry.media_files.get('original') and \ + self.entry.media_files.get('webm_640'): + self.entry.media_files['webm_640'].delete() + else: - self.transcoder.transcode(self.orig_filename, tmp_dst, + self.transcoder.transcode(self.process_filename, tmp_dst, vp8_quality=vp8_quality, vp8_threads=vp8_threads, vorbis_quality=vorbis_quality, @@ -206,7 +213,7 @@ class CommonVideoProcessor(MediaProcessor): mgg.global_config['media:thumb']['max_height']) transcoders.VideoThumbnailerMarkII( - self.orig_filename, + self.process_filename, tmp_thumb, thumb_size[0], thumb_size[1]) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index e2415fd5..746f4d8e 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -327,29 +327,34 @@ def mark_entry_failed(entry_id, exc): u'fail_metadata': {}}) -def get_orig_filename(entry, workbench): +def get_process_filename(entry, workbench, acceptable_files): """ - Get the a filename for the original, on local storage + Try and get the queued file if available, otherwise return the first file + in the acceptable_files that we have. - If the media entry has a queued_media_file, use that, otherwise - use the original. - - In the future, this will return the highest quality file available - if neither the original or queued file are available by checking - some ordered list of preferred keys. + If no acceptable_files, raise ProcessFileNotFound """ if entry.queued_media_file: - orig_filepath = entry.queued_media_file + filepath = entry.queued_media_file storage = mgg.queue_store else: - orig_filepath = entry.media_files['original'] - storage = mgg.public_store + for keyname in acceptable_files: + if entry.media_files.get(keyname): + filepath = entry.media_files[keyname] + storage = mgg.public_store + break - orig_filename = workbench.localized_file( - storage, orig_filepath, + if not filepath: + raise ProcessFileNotFound() + + filename = workbench.localized_file( + storage, filepath, 'source') - return orig_filename + if not os.path.exists(filename): + raise ProcessFileNotFound() + + return filename def store_public(entry, keyname, local_file, target_name=None, @@ -415,3 +420,11 @@ class PublicStoreFail(BaseProcessingFail): Error that should be raised when copying to public store fails """ general_message = _('Copying to public storage failed.') + + +class ProcessFileNotFound(BaseProcessingFail): + """ + Error that should be raised when an acceptable file for processing + is not found. + """ + general_message = _(u'An acceptable processing file was not found') From 7674b9c05b29178e280c9cbd19d8dc276f0e71ea Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 15 Aug 2013 09:29:11 -0700 Subject: [PATCH 103/160] for some reason, the minimum thumbnail size for videos is 100 x 100 --- mediagoblin/media_types/audio/processing.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 8f1ddcbd..42855265 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -191,7 +191,8 @@ class InitialProcessor(CommonAudioProcessor): '--thumb_size', nargs=2, metavar=('max_width', 'max_height'), - type=int) + type=int, + help='minimum size is 100 x 100') parser.add_argument( '--medium_width', @@ -259,7 +260,8 @@ class Resizer(CommonAudioProcessor): '--thumb_size', nargs=2, metavar=('max_width', 'max_height'), - type=int) + type=int, + help='minimum size is 100 x 100') parser.add_argument( '--medium_width', From 0a8c0c704d27fbff7328b94650b797ccb2383f16 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 15 Aug 2013 12:40:19 -0700 Subject: [PATCH 104/160] Keep the best quality file if there's no original --- mediagoblin/media_types/audio/processing.py | 15 ++++++++++++++- mediagoblin/media_types/pdf/processing.py | 2 +- mediagoblin/media_types/video/processing.py | 16 +++++++++++++++- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/mediagoblin/media_types/audio/processing.py b/mediagoblin/media_types/audio/processing.py index 42855265..6a506741 100644 --- a/mediagoblin/media_types/audio/processing.py +++ b/mediagoblin/media_types/audio/processing.py @@ -52,7 +52,7 @@ class CommonAudioProcessor(MediaProcessor): """ Provides a base for various audio processing steps """ - acceptable_files = ['original', 'webm_audio'] + acceptable_files = ['original', 'best_quality', 'webm_audio'] def common_setup(self): """ @@ -76,6 +76,17 @@ class CommonAudioProcessor(MediaProcessor): self.entry, self.process_filename, self.name_builder.fill('{basename}{ext}')) + def _keep_best(self): + """ + If there is no original, keep the best file that we have + """ + if not self.entry.media_files.get('best_quality'): + # Save the best quality file if no original? + if not self.entry.media_files.get('original') and \ + self.entry.media_files.get('webm_audio'): + self.entry.media_files['best_quality'] = self.entry \ + .media_files['webm_audio'] + def transcode(self, quality=None): if not quality: quality = self.audio_config['quality'] @@ -93,6 +104,8 @@ class CommonAudioProcessor(MediaProcessor): self.transcoder.discover(webm_audio_tmp) + self._keep_best() + _log.debug('Saving medium...') store_public(self.entry, 'webm_audio', webm_audio_tmp, self.name_builder.fill('{basename}.medium.webm')) diff --git a/mediagoblin/media_types/pdf/processing.py b/mediagoblin/media_types/pdf/processing.py index 6ef95a72..549def69 100644 --- a/mediagoblin/media_types/pdf/processing.py +++ b/mediagoblin/media_types/pdf/processing.py @@ -253,7 +253,7 @@ class CommonPdfProcessor(MediaProcessor): self._set_pdf_filename() def _set_pdf_filename(self): - if self.name_builder.ext == 'pdf': + if self.name_builder.ext == '.pdf': self.pdf_filename = self.process_filename elif self.entry.media_files.get('pdf'): self.pdf_filename = self.workbench.localized_file( diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index bb854ffb..a3aa9bcf 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -122,7 +122,7 @@ class CommonVideoProcessor(MediaProcessor): """ Provides a base for various video processing steps """ - acceptable_files = ['original', 'webm_640'] + acceptable_files = ['original', 'best_quality', 'webm_640'] def common_setup(self): self.video_config = mgg \ @@ -144,6 +144,18 @@ class CommonVideoProcessor(MediaProcessor): self.entry, self.process_filename, self.name_builder.fill('{basename}{ext}')) + def _keep_best(self): + """ + If there is no original, keep the best file that we have + """ + if not self.entry.media_files.get('best_quality'): + # Save the best quality file if no original? + if not self.entry.media_files.get('original') and \ + self.entry.media_files.get('webm_640'): + self.entry.media_files['best_quality'] = self.entry \ + .media_files['webm_640'] + + def transcode(self, medium_size=None, vp8_quality=None, vp8_threads=None, vorbis_quality=None): progress_callback = ProgressCallback(self.entry) @@ -189,6 +201,8 @@ class CommonVideoProcessor(MediaProcessor): dst_dimensions = self.transcoder.dst_data.videowidth,\ self.transcoder.dst_data.videoheight + self._keep_best() + # Push transcoded video to public storage _log.debug('Saving medium...') store_public(self.entry, 'webm_640', tmp_dst, From 931fa43fbce7d702eb4b2447cefeaf73dcecf7ac Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 16 Aug 2013 15:08:21 -0700 Subject: [PATCH 105/160] make sure size is a tuple --- mediagoblin/media_types/image/processing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index eaa19261..088979bc 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -100,7 +100,7 @@ def resize_tool(entry, or exif_image_needs_rotation(exif_tags): resize_image( entry, im, unicode(keyname), target_name, - new_size, + tuple(new_size), exif_tags, conversions_subdir, quality, filter) From d0708da727b72cfc95defe14dd6780d2cba0a0b7 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 7 Aug 2013 12:44:43 -0700 Subject: [PATCH 106/160] add the ability to mark all notifications read. --- mediagoblin/notifications/routing.py | 4 ++++ mediagoblin/notifications/views.py | 16 +++++++++++++++- mediagoblin/static/js/notifications.js | 13 +++++++++++++ .../fragments/header_notifications.html | 4 ++++ 4 files changed, 36 insertions(+), 1 deletion(-) diff --git a/mediagoblin/notifications/routing.py b/mediagoblin/notifications/routing.py index e57956d3..cd7bbc21 100644 --- a/mediagoblin/notifications/routing.py +++ b/mediagoblin/notifications/routing.py @@ -23,3 +23,7 @@ add_route('mediagoblin.notifications.subscribe_comments', add_route('mediagoblin.notifications.silence_comments', '/u//m//notifications/silence/', 'mediagoblin.notifications.views:silence_comments') + +add_route('mediagoblin.notifications.mark_all_comment_notifications_seen', + '/notifications/comments/mark_all_seen/', + 'mediagoblin.notifications.views:mark_all_comment_notifications_seen') diff --git a/mediagoblin/notifications/views.py b/mediagoblin/notifications/views.py index d275bc92..cda7f0af 100644 --- a/mediagoblin/notifications/views.py +++ b/mediagoblin/notifications/views.py @@ -24,7 +24,7 @@ from mediagoblin.decorators import (uses_pagination, get_user_media_entry, from mediagoblin import messages from mediagoblin.notifications import add_comment_subscription, \ - silence_comment_subscription + silence_comment_subscription, mark_comment_notification_seen from werkzeug.exceptions import BadRequest @@ -52,3 +52,17 @@ def silence_comments(request, media): ' %s.') % media.title) return redirect(request, location=media.url_for_self(request.urlgen)) + + +@require_active_login +def mark_all_comment_notifications_seen(request): + """ + Marks all comment notifications seen. + """ + for comment in request.notifications.get_notifications(request.user.id): + mark_comment_notification_seen(comment.subject_id, request.user) + + if request.GET.get('next'): + return redirect(request, location=request.GET.get('next')) + else: + return redirect(request, 'index') diff --git a/mediagoblin/static/js/notifications.js b/mediagoblin/static/js/notifications.js index 0153463a..c1c06a43 100644 --- a/mediagoblin/static/js/notifications.js +++ b/mediagoblin/static/js/notifications.js @@ -33,4 +33,17 @@ var notifications = {}; $(document).ready(function () { notifications.init(); + + var mark_all_comments_seen = document.getElementById('mark_all_comments_seen'); + + if (mark_all_comments_seen) { + mark_all_comments_seen.href = '#'; + mark_all_comments_seen.onclick = function() { + $.ajax({ + type: 'GET', + url: '/notifications/comments/mark_all_seen/', + success: function(res, status, xhr) { window.location.reload(); }, + }); + } + } }); diff --git a/mediagoblin/templates/mediagoblin/fragments/header_notifications.html b/mediagoblin/templates/mediagoblin/fragments/header_notifications.html index 70d7935a..55759a39 100644 --- a/mediagoblin/templates/mediagoblin/fragments/header_notifications.html +++ b/mediagoblin/templates/mediagoblin/fragments/header_notifications.html @@ -36,5 +36,9 @@ {% endfor %} + + {% trans %}Mark all read{% endtrans %} + {% endif %} From 1cca2a6857d529bb3927b9e4b0d41ac1534ae06b Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 7 Aug 2013 12:50:59 -0700 Subject: [PATCH 107/160] Pep 8 --- mediagoblin/notifications/views.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/mediagoblin/notifications/views.py b/mediagoblin/notifications/views.py index cda7f0af..5a67c1ba 100644 --- a/mediagoblin/notifications/views.py +++ b/mediagoblin/notifications/views.py @@ -14,19 +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.response import render_to_response, render_404, redirect +from mediagoblin.tools.response import redirect from mediagoblin.tools.translate import pass_to_ugettext as _ -from mediagoblin.decorators import (uses_pagination, get_user_media_entry, - get_media_entry_by_id, - require_active_login, user_may_delete_media, user_may_alter_collection, - get_user_collection, get_user_collection_item, active_user_from_url) - +from mediagoblin.decorators import get_user_media_entry, require_active_login from mediagoblin import messages from mediagoblin.notifications import add_comment_subscription, \ - silence_comment_subscription, mark_comment_notification_seen + silence_comment_subscription, mark_comment_notification_seen -from werkzeug.exceptions import BadRequest @get_user_media_entry @require_active_login @@ -41,6 +36,7 @@ def subscribe_comments(request, media): return redirect(request, location=media.url_for_self(request.urlgen)) + @get_user_media_entry @require_active_login def silence_comments(request, media): From 04d8ced5c620c29abd42d6892d900e620da1e5f3 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 7 Aug 2013 15:21:08 -0700 Subject: [PATCH 108/160] added test for mark all comment notifications seen --- mediagoblin/tests/test_notifications.py | 53 +++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/mediagoblin/tests/test_notifications.py b/mediagoblin/tests/test_notifications.py index d52b8d5a..e075d475 100644 --- a/mediagoblin/tests/test_notifications.py +++ b/mediagoblin/tests/test_notifications.py @@ -149,3 +149,56 @@ otherperson@example.com\n\nSGkgb3RoZXJwZXJzb24sCmNocmlzIGNvbW1lbnRlZCBvbiB5b3VyI # User should not have been notified assert len(notifications) == 1 + + def test_mark_all_comment_notifications_seen(self): + """ Test that mark_all_comments_seen works""" + + user = fixture_add_user('otherperson', password='nosreprehto') + + media_entry = fixture_media_entry(uploader=user.id, state=u'processed') + + fixture_comment_subscription(media_entry) + + media_uri_id = '/u/{0}/m/{1}/'.format(user.username, + media_entry.id) + + # add 2 comments + self.test_app.post( + media_uri_id + 'comment/add/', + { + 'comment_content': u'Test comment #43' + } + ) + + self.test_app.post( + media_uri_id + 'comment/add/', + { + 'comment_content': u'Test comment #44' + } + ) + + notifications = Notification.query.filter_by( + user_id=user.id).all() + + assert len(notifications) == 2 + + # both comments should not be marked seen + assert notifications[0].seen == False + assert notifications[1].seen == False + + # login with other user to mark notifications seen + self.logout() + self.login('otherperson', 'nosreprehto') + + # mark all comment notifications seen + res = self.test_app.get('/notifications/comments/mark_all_seen/') + res.follow() + + assert urlparse.urlsplit(res.location)[2] == '/' + + notifications = Notification.query.filter_by( + user_id=user.id).all() + + # both notifications should be marked seen + assert notifications[0].seen == True + assert notifications[1].seen == True From 4a2aa93c6abeb4831a03a9e8bd7089d0a6f2470e Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 8 Aug 2013 11:23:16 -0700 Subject: [PATCH 109/160] use urlgen and store it in a variable --- mediagoblin/static/js/notifications.js | 2 +- mediagoblin/templates/mediagoblin/base.html | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/mediagoblin/static/js/notifications.js b/mediagoblin/static/js/notifications.js index c1c06a43..78694f59 100644 --- a/mediagoblin/static/js/notifications.js +++ b/mediagoblin/static/js/notifications.js @@ -41,7 +41,7 @@ $(document).ready(function () { mark_all_comments_seen.onclick = function() { $.ajax({ type: 'GET', - url: '/notifications/comments/mark_all_seen/', + url: mark_all_comments_seen_url, success: function(res, status, xhr) { window.location.reload(); }, }); } diff --git a/mediagoblin/templates/mediagoblin/base.html b/mediagoblin/templates/mediagoblin/base.html index f7e2dff0..f9deb2ad 100644 --- a/mediagoblin/templates/mediagoblin/base.html +++ b/mediagoblin/templates/mediagoblin/base.html @@ -37,6 +37,9 @@ src="{{ request.staticdirect('/js/header_dropdown.js') }}"> + {# For clarification, the difference between the extra_head.html template # and the head template hook is that the former should be used by From 93d805ad6b0e5324c515323d2fc0a4a7ea3f1dad Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 8 Aug 2013 15:07:07 -0700 Subject: [PATCH 110/160] add user prefrence for insite notifications --- mediagoblin/db/migrations.py | 16 ++++++++++++++-- mediagoblin/db/models.py | 1 + mediagoblin/edit/forms.py | 2 ++ mediagoblin/edit/views.py | 4 +++- mediagoblin/notifications/__init__.py | 18 ++++++++++++++++-- 5 files changed, 36 insertions(+), 5 deletions(-) diff --git a/mediagoblin/db/migrations.py b/mediagoblin/db/migrations.py index 374ab4c8..d542d7b9 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -425,7 +425,7 @@ class RequestToken_v0(declarative_base()): callback = Column(Unicode, nullable=False, default=u"oob") created = Column(DateTime, nullable=False, default=datetime.datetime.now) updated = Column(DateTime, nullable=False, default=datetime.datetime.now) - + class AccessToken_v0(declarative_base()): """ Model for representing the access tokens @@ -438,7 +438,7 @@ class AccessToken_v0(declarative_base()): request_token = Column(Unicode, ForeignKey(RequestToken_v0.token)) created = Column(DateTime, nullable=False, default=datetime.datetime.now) updated = Column(DateTime, nullable=False, default=datetime.datetime.now) - + class NonceTimestamp_v0(declarative_base()): """ @@ -460,3 +460,15 @@ def create_oauth1_tables(db): NonceTimestamp_v0.__table__.create(db.bind) db.commit() + + +@RegisterMigration(15, MIGRATIONS) +def wants_notifications(db): + """Add a wants_notifications field to User model""" + metadata = MetaData(bind=db.bind) + user_table = inspect_table(metadata, "core__users") + + col = Column('wants_notifications', Boolean, default=True) + col.create(user_table) + + db.commit() diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 9cb39ff4..4341e086 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -69,6 +69,7 @@ class User(Base, UserMixin): # Intented to be nullable=False, but migrations would not work for it # set to nullable=True implicitly. wants_comment_notification = Column(Boolean, default=True) + wants_notifications = Column(Boolean, default=True) license_preference = Column(Unicode) is_admin = Column(Boolean, default=False, nullable=False) url = Column(Unicode) diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index 85c243a0..5de1bf96 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -67,6 +67,8 @@ class EditAccountForm(wtforms.Form): normalize_user_or_email_field(allow_user=False)]) wants_comment_notification = wtforms.BooleanField( description=_("Email me when others comment on my media")) + wants_notifications = wtforms.BooleanField( + description=_("Enable/Disable insite notifications")) license_preference = wtforms.SelectField( _('License preference'), [ diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 6aa2acd9..a11cb932 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -228,10 +228,12 @@ def edit_account(request): user = request.user form = forms.EditAccountForm(request.form, wants_comment_notification=user.wants_comment_notification, - license_preference=user.license_preference) + license_preference=user.license_preference, + wants_notifications=user.wants_notifications) if request.method == 'POST' and form.validate(): user.wants_comment_notification = form.wants_comment_notification.data + user.wants_notifications = form.wants_notifications.data user.license_preference = form.license_preference.data diff --git a/mediagoblin/notifications/__init__.py b/mediagoblin/notifications/__init__.py index ed9f8d78..b6f9f478 100644 --- a/mediagoblin/notifications/__init__.py +++ b/mediagoblin/notifications/__init__.py @@ -17,7 +17,8 @@ import logging from mediagoblin.db.models import Notification, \ - CommentNotification, CommentSubscription + CommentNotification, CommentSubscription, User +from mediagoblin.notifications.task import email_notification_task from mediagoblin.notifications.tools import generate_comment_message _log = logging.getLogger(__name__) @@ -121,6 +122,12 @@ NOTIFICATION_FETCH_LIMIT = 100 def get_notifications(user_id, only_unseen=True): query = Notification.query.filter_by(user_id=user_id) + wants_notifications = User.query.filter_by(id=user_id).first()\ + .wants_notifications + + # If the user does not want notifications, don't return any + if not wants_notifications: + return None if only_unseen: query = query.filter_by(seen=False) @@ -130,12 +137,19 @@ def get_notifications(user_id, only_unseen=True): return notifications + def get_notification_count(user_id, only_unseen=True): query = Notification.query.filter_by(user_id=user_id) + wants_notifications = User.query.filter_by(id=user_id).first()\ + .wants_notifications if only_unseen: query = query.filter_by(seen=False) - count = query.count() + # If the user doesn't want notifications, don't show any + if not wants_notifications: + count = None + else: + count = query.count() return count From a30d2d8b6ca0837737e92b09bac74c4504ba0182 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 20 Aug 2013 08:25:26 -0700 Subject: [PATCH 111/160] request object no longer contains notification functions --- mediagoblin/notifications/views.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mediagoblin/notifications/views.py b/mediagoblin/notifications/views.py index 5a67c1ba..cfe66b2e 100644 --- a/mediagoblin/notifications/views.py +++ b/mediagoblin/notifications/views.py @@ -19,8 +19,9 @@ from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin.decorators import get_user_media_entry, require_active_login from mediagoblin import messages -from mediagoblin.notifications import add_comment_subscription, \ - silence_comment_subscription, mark_comment_notification_seen +from mediagoblin.notifications import (add_comment_subscription, + silence_comment_subscription, mark_comment_notification_seen, + get_notifications) @get_user_media_entry @@ -55,7 +56,7 @@ def mark_all_comment_notifications_seen(request): """ Marks all comment notifications seen. """ - for comment in request.notifications.get_notifications(request.user.id): + for comment in get_notifications(request.user.id): mark_comment_notification_seen(comment.subject_id, request.user) if request.GET.get('next'): From 402f43601164e26390cf7c78a383537eb009e499 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 11 Jul 2013 16:16:41 -0700 Subject: [PATCH 112/160] maybe have change password and email on same page --- mediagoblin/edit/forms.py | 16 +++-- mediagoblin/edit/routing.py | 2 + mediagoblin/edit/views.py | 68 ++++++++++++------- .../mediagoblin/edit/change_email.html | 45 ++++++++++++ .../mediagoblin/edit/edit_account.html | 5 ++ 5 files changed, 109 insertions(+), 27 deletions(-) create mode 100644 mediagoblin/templates/mediagoblin/edit/change_email.html diff --git a/mediagoblin/edit/forms.py b/mediagoblin/edit/forms.py index 85c243a0..71f30520 100644 --- a/mediagoblin/edit/forms.py +++ b/mediagoblin/edit/forms.py @@ -61,10 +61,6 @@ class EditProfileForm(wtforms.Form): class EditAccountForm(wtforms.Form): - new_email = wtforms.TextField( - _('New email address'), - [wtforms.validators.Optional(), - normalize_user_or_email_field(allow_user=False)]) wants_comment_notification = wtforms.BooleanField( description=_("Email me when others comment on my media")) license_preference = wtforms.SelectField( @@ -111,3 +107,15 @@ class ChangePassForm(wtforms.Form): [wtforms.validators.Required(), wtforms.validators.Length(min=6, max=30)], id="password") + + +class ChangeEmailForm(wtforms.Form): + new_email = wtforms.TextField( + _('New email address'), + [wtforms.validators.Required(), + normalize_user_or_email_field(allow_user=False)]) + password = wtforms.PasswordField( + _('Password'), + [wtforms.validators.Required()], + description=_( + "Enter your password to prove you own this account.")) diff --git a/mediagoblin/edit/routing.py b/mediagoblin/edit/routing.py index 3592f708..75f5a6d8 100644 --- a/mediagoblin/edit/routing.py +++ b/mediagoblin/edit/routing.py @@ -28,3 +28,5 @@ add_route('mediagoblin.edit.pass', '/edit/password/', 'mediagoblin.edit.views:change_pass') add_route('mediagoblin.edit.verify_email', '/edit/verify_email/', 'mediagoblin.edit.views:verify_email') +add_route('mediagoblin.edit.email', '/edit/email/', + 'mediagoblin.edit.views:change_email') diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 6aa2acd9..82cec8da 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -425,30 +425,52 @@ def verify_email(request): user=user.username) -def _update_email(request, form, user): - new_email = form.new_email.data - users_with_email = User.query.filter_by( - email=new_email).count() +def change_email(request): + """ View to change the user's email """ + form = forms.ChangeEmailForm(request.form) + user = request.user - if users_with_email: - form.new_email.errors.append( - _('Sorry, a user with that email address' - ' already exists.')) + # If no password authentication, no need to enter a password + if 'pass_auth' not in request.template_env.globals or not user.pw_hash: + form.__delitem__('password') - elif not users_with_email: - verification_key = get_timed_signer_url( - 'mail_verification_token').dumps({ - 'user': user.id, - 'email': new_email}) + if request.method == 'POST' and form.validate(): + new_email = form.new_email.data + users_with_email = User.query.filter_by( + email=new_email).count() - rendered_email = render_template( - request, 'mediagoblin/edit/verification.txt', - {'username': user.username, - 'verification_url': EMAIL_VERIFICATION_TEMPLATE.format( - uri=request.urlgen('mediagoblin.edit.verify_email', - qualified=True), - verification_key=verification_key)}) + if users_with_email: + form.new_email.errors.append( + _('Sorry, a user with that email address' + ' already exists.')) - email_debug_message(request) - auth_tools.send_verification_email(user, request, new_email, - rendered_email) + if user.pw_hash and not auth.check_password( + form.password.data, user.pw_hash): + form.password.errors.append( + _('Wrong password')) + + if not form.errors: + verification_key = get_timed_signer_url( + 'mail_verification_token').dumps({ + 'user': user.id, + 'email': new_email}) + + rendered_email = render_template( + request, 'mediagoblin/edit/verification.txt', + {'username': user.username, + 'verification_url': EMAIL_VERIFICATION_TEMPLATE.format( + uri=request.urlgen('mediagoblin.edit.verify_email', + qualified=True), + verification_key=verification_key)}) + + email_debug_message(request) + auth_tools.send_verification_email(user, request, new_email, + rendered_email) + + return redirect(request, 'mediagoblin.edit.account') + + return render_to_response( + request, + 'mediagoblin/edit/change_email.html', + {'form': form, + 'user': user}) diff --git a/mediagoblin/templates/mediagoblin/edit/change_email.html b/mediagoblin/templates/mediagoblin/edit/change_email.html new file mode 100644 index 00000000..76cc4771 --- /dev/null +++ b/mediagoblin/templates/mediagoblin/edit/change_email.html @@ -0,0 +1,45 @@ +{# +# 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 title -%} + {% trans username=user.username -%} + Changing {{ username }}'s email + {%- endtrans %} — {{ super() }} +{%- endblock %} + +{% block mediagoblin_content %} +
+
+

+ {%- trans username=user.username -%} + Changing {{ username }}'s email + {%- endtrans -%} +

+ {{ wtforms_util.render_divs(form, True) }} + {{ csrf_token }} +
+ +
+
+
+{% endblock %} diff --git a/mediagoblin/templates/mediagoblin/edit/edit_account.html b/mediagoblin/templates/mediagoblin/edit/edit_account.html index 51293acb..04f9230f 100644 --- a/mediagoblin/templates/mediagoblin/edit/edit_account.html +++ b/mediagoblin/templates/mediagoblin/edit/edit_account.html @@ -48,6 +48,11 @@

{% endif %} +

+ + {% trans %}Change your email.{% endtrans %} + +

{% template_hook("edit_link") %} {{ wtforms_util.render_divs(form, True) }}
From 5a6e4e13076afddeeec31259eaee7c5af0defb2d Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 12 Jul 2013 12:27:41 -0700 Subject: [PATCH 113/160] check for form.password in the off chance that a user is logged in and the server switches the authentication method from basic_auth to openid. --- mediagoblin/edit/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 82cec8da..53a63cd0 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -444,7 +444,7 @@ def change_email(request): _('Sorry, a user with that email address' ' already exists.')) - if user.pw_hash and not auth.check_password( + if form.password and user.pw_hash and not auth.check_password( form.password.data, user.pw_hash): form.password.errors.append( _('Wrong password')) From 4710097b27a21d146a4ca8df80a5350146b9d30e Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 12 Jul 2013 12:34:35 -0700 Subject: [PATCH 114/160] fix tests to use new change_email view --- mediagoblin/tests/test_edit.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mediagoblin/tests/test_edit.py b/mediagoblin/tests/test_edit.py index d70d0478..c43a3a42 100644 --- a/mediagoblin/tests/test_edit.py +++ b/mediagoblin/tests/test_edit.py @@ -147,26 +147,26 @@ class TestUserEdit(object): # Test email already in db template.clear_test_template_context() test_app.post( - '/edit/account/', { + '/edit/email/', { 'new_email': 'chris@example.com', 'password': 'toast'}) # Check form errors context = template.TEMPLATE_TEST_CONTEXT[ - 'mediagoblin/edit/edit_account.html'] + 'mediagoblin/edit/change_email.html'] assert context['form'].new_email.errors == [ u'Sorry, a user with that email address already exists.'] # Test successful email change template.clear_test_template_context() res = test_app.post( - '/edit/account/', { + '/edit/email/', { 'new_email': 'new@example.com', 'password': 'toast'}) res.follow() # Correct redirect? - assert urlparse.urlsplit(res.location)[2] == '/u/chris/' + assert urlparse.urlsplit(res.location)[2] == '/edit/account/' # Make sure we get email verification and try verifying assert len(mail.EMAIL_TEST_INBOX) == 1 From c9f9536cdf32ef597216af0ca7ba25adee799dbb Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 12 Jul 2013 13:07:36 -0700 Subject: [PATCH 115/160] move links to the bottom of the page until we have a tabbed UI --- .../mediagoblin/plugins/openid/edit_link.html | 9 ++++--- .../mediagoblin/edit/edit_account.html | 24 +++++++++---------- 2 files changed, 15 insertions(+), 18 deletions(-) diff --git a/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html b/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html index 2e63e1f8..88b232f8 100644 --- a/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html +++ b/mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html @@ -17,9 +17,8 @@ #} {% block openid_edit_link %} -

- - {% trans %}Edit your OpenID's{% endtrans %} - -

+ + {% trans %}OpenID's{% endtrans %} + + · {% endblock %} diff --git a/mediagoblin/templates/mediagoblin/edit/edit_account.html b/mediagoblin/templates/mediagoblin/edit/edit_account.html index 04f9230f..14011daa 100644 --- a/mediagoblin/templates/mediagoblin/edit/edit_account.html +++ b/mediagoblin/templates/mediagoblin/edit/edit_account.html @@ -41,19 +41,6 @@ Changing {{ username }}'s account settings {%- endtrans -%} - {% if pass_auth is defined %} -

- - {% trans %}Change your password.{% endtrans %} - -

- {% endif %} -

- - {% trans %}Change your email.{% endtrans %} - -

- {% template_hook("edit_link") %} {{ wtforms_util.render_divs(form, True) }}
@@ -65,5 +52,16 @@ {%- trans %}Delete my account{% endtrans -%} + · + {% template_hook("edit_link") %} + + {% trans %}Email{% endtrans %} + + {% if pass_auth is defined %} + · + + {% trans %}Password{% endtrans %} + + {% endif %}
{% endblock %} From 9de4fab437558d101e801a02240ca3772c590ace Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 20 Aug 2013 10:29:38 -0700 Subject: [PATCH 116/160] rename webm_640 to webm_video since it might be a different resolution --- mediagoblin/media_types/video/__init__.py | 2 +- mediagoblin/media_types/video/migrations.py | 17 +++++++++++++++++ mediagoblin/media_types/video/models.py | 6 +++--- mediagoblin/media_types/video/processing.py | 16 ++++++++-------- .../mediagoblin/media_displays/video.html | 6 +++--- 5 files changed, 32 insertions(+), 15 deletions(-) diff --git a/mediagoblin/media_types/video/__init__.py b/mediagoblin/media_types/video/__init__.py index 03ffcb1f..0ed19d1b 100644 --- a/mediagoblin/media_types/video/__init__.py +++ b/mediagoblin/media_types/video/__init__.py @@ -34,7 +34,7 @@ class VideoMediaManager(MediaManagerBase): default_thumb = "images/media_thumbs/video.jpg" # Used by the media_entry.get_display_media method - media_fetch_order = [u'webm_640', u'original'] + media_fetch_order = [u'webm_video', u'original'] default_webm_type = 'video/webm; codecs="vp8, vorbis"' diff --git a/mediagoblin/media_types/video/migrations.py b/mediagoblin/media_types/video/migrations.py index 442bbd8d..b549ca9e 100644 --- a/mediagoblin/media_types/video/migrations.py +++ b/mediagoblin/media_types/video/migrations.py @@ -20,6 +20,7 @@ from sqlalchemy import MetaData, Column, Unicode MIGRATIONS = {} + @RegisterMigration(1, MIGRATIONS) def add_orig_metadata_column(db_conn): metadata = MetaData(bind=db_conn.bind) @@ -30,3 +31,19 @@ def add_orig_metadata_column(db_conn): default=None, nullable=True) col.create(vid_data) db_conn.commit() + + +@RegisterMigration(2, MIGRATIONS) +def webm_640_to_wemb_video(db): + metadata = MetaData(bind=db.bind) + + file_keynames = inspect_table(metadata, 'core__file_keynames') + + for row in db.execute(file_keynames.select()): + if row.name == 'webm_640': + db.execute( + file_keynames.update(). \ + where(file_keynames.c.id==row.id).\ + values(name='webm_video')) + + db.commit() diff --git a/mediagoblin/media_types/video/models.py b/mediagoblin/media_types/video/models.py index 0b52c53f..be9d258f 100644 --- a/mediagoblin/media_types/video/models.py +++ b/mediagoblin/media_types/video/models.py @@ -36,12 +36,12 @@ class VideoData(Base): - orig_metadata: A loose json structure containing metadata gstreamer pulled from the original video. This field is NOT GUARANTEED to exist! - + Likely metadata extracted: "videoheight", "videolength", "videowidth", "audiorate", "audiolength", "audiochannels", "audiowidth", "mimetype", "tags" - + TODO: document the above better. """ __tablename__ = "video__mediadata" @@ -68,7 +68,7 @@ class VideoData(Base): """ orig_metadata = self.orig_metadata or {} - if "webm_640" not in self.get_media_entry.media_files \ + if "webm_video" not in self.get_media_entry.media_files \ and "mimetype" in orig_metadata \ and "tags" in orig_metadata \ and "audio-codec" in orig_metadata["tags"] \ diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index a3aa9bcf..ee03d949 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -122,7 +122,7 @@ class CommonVideoProcessor(MediaProcessor): """ Provides a base for various video processing steps """ - acceptable_files = ['original', 'best_quality', 'webm_640'] + acceptable_files = ['original', 'best_quality', 'webm_video'] def common_setup(self): self.video_config = mgg \ @@ -151,16 +151,16 @@ class CommonVideoProcessor(MediaProcessor): if not self.entry.media_files.get('best_quality'): # Save the best quality file if no original? if not self.entry.media_files.get('original') and \ - self.entry.media_files.get('webm_640'): + self.entry.media_files.get('webm_video'): self.entry.media_files['best_quality'] = self.entry \ - .media_files['webm_640'] + .media_files['webm_video'] def transcode(self, medium_size=None, vp8_quality=None, vp8_threads=None, vorbis_quality=None): progress_callback = ProgressCallback(self.entry) tmp_dst = os.path.join(self.workbench.dir, - self.name_builder.fill('{basename}-640p.webm')) + self.name_builder.fill('{basename}.medium.webm')) if not medium_size: medium_size = ( @@ -187,8 +187,8 @@ class CommonVideoProcessor(MediaProcessor): # If there is an original and transcoded, delete the transcoded # since it must be of lower quality then the original if self.entry.media_files.get('original') and \ - self.entry.media_files.get('webm_640'): - self.entry.media_files['webm_640'].delete() + self.entry.media_files.get('webm_video'): + self.entry.media_files['webm_video'].delete() else: self.transcoder.transcode(self.process_filename, tmp_dst, @@ -205,8 +205,8 @@ class CommonVideoProcessor(MediaProcessor): # Push transcoded video to public storage _log.debug('Saving medium...') - store_public(self.entry, 'webm_640', tmp_dst, - self.name_builder.fill('{basename}-640p.webm')) + store_public(self.entry, 'webm_video', tmp_dst, + self.name_builder.fill('{basename}.medium.webm')) _log.debug('Saved medium') self.did_transcode = True diff --git a/mediagoblin/templates/mediagoblin/media_displays/video.html b/mediagoblin/templates/mediagoblin/media_displays/video.html index b0854c9f..5c52f9f0 100644 --- a/mediagoblin/templates/mediagoblin/media_displays/video.html +++ b/mediagoblin/templates/mediagoblin/media_displays/video.html @@ -62,11 +62,11 @@ {% endif %} - {% if 'webm_640' in media.media_files %} + {% if 'webm_video' in media.media_files %}
  • - {%- trans %}WebM file (640p; VP8/Vorbis){% endtrans -%} + media.media_files.webm_video) }}"> + {%- trans %}WebM file (VP8/Vorbis){% endtrans -%}
  • {% endif %} From f397ef118f8ce861ebb7c92817bd4fdddf4201c3 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 21 Aug 2013 14:19:11 -0500 Subject: [PATCH 117/160] Fixing migration name. webm not wemb :) --- mediagoblin/media_types/video/migrations.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/media_types/video/migrations.py b/mediagoblin/media_types/video/migrations.py index b549ca9e..d68e2933 100644 --- a/mediagoblin/media_types/video/migrations.py +++ b/mediagoblin/media_types/video/migrations.py @@ -34,7 +34,7 @@ def add_orig_metadata_column(db_conn): @RegisterMigration(2, MIGRATIONS) -def webm_640_to_wemb_video(db): +def webm_640_to_webm_video(db): metadata = MetaData(bind=db.bind) file_keynames = inspect_table(metadata, 'core__file_keynames') From 0cdebda7fc533384bd725412365325edcbeb038c Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 21 Aug 2013 12:38:12 -0700 Subject: [PATCH 118/160] only use the width for video thumbnails to keep the correct scaling --- mediagoblin/media_types/video/processing.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index ee03d949..ed224251 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -223,14 +223,13 @@ class CommonVideoProcessor(MediaProcessor): '{basename}.thumbnail.jpg')) if not thumb_size: - thumb_size = (mgg.global_config['media:thumb']['max_width'], - mgg.global_config['media:thumb']['max_height']) + thumb_size = (mgg.global_config['media:thumb']['max_width']) + # We will only use the width so that the correct scale is kept transcoders.VideoThumbnailerMarkII( self.process_filename, tmp_thumb, - thumb_size[0], - thumb_size[1]) + thumb_size[0]) # Push the thumbnail to public storage _log.debug('Saving thumbnail...') From e8eec575f3a1d893036ce9b3356d2f56fd15016d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 22 Aug 2013 16:04:19 -0500 Subject: [PATCH 119/160] Not sure why there wasn't a .commit() at the end of add_new_notification_tables() ... but it seems like there should be and it wouldn't hurt. This commit sponsored by Julio Claudio Matus Ramirez. 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 d542d7b9..62fb7e8d 100644 --- a/mediagoblin/db/migrations.py +++ b/mediagoblin/db/migrations.py @@ -365,6 +365,8 @@ def add_new_notification_tables(db): CommentNotification_v0.__table__.create(db.bind) ProcessingNotification_v0.__table__.create(db.bind) + db.commit() + @RegisterMigration(13, MIGRATIONS) def pw_hash_nullable(db): From 7b12cbd98b76c0b437e06e78da1406cab34996dc Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 25 Aug 2013 13:59:34 -0500 Subject: [PATCH 120/160] Removing unnecessary "setup_plugin()" calls, as pointed out by Velmont. --- mediagoblin/media_types/ascii/__init__.py | 6 ------ mediagoblin/media_types/image/__init__.py | 7 +------ mediagoblin/media_types/pdf/__init__.py | 7 +------ mediagoblin/media_types/stl/__init__.py | 7 +------ mediagoblin/media_types/video/__init__.py | 7 +------ 5 files changed, 4 insertions(+), 30 deletions(-) diff --git a/mediagoblin/media_types/ascii/__init__.py b/mediagoblin/media_types/ascii/__init__.py index b0f7551d..1ee44988 100644 --- a/mediagoblin/media_types/ascii/__init__.py +++ b/mediagoblin/media_types/ascii/__init__.py @@ -17,16 +17,11 @@ from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.ascii.processing import AsciiProcessingManager, \ sniff_handler -from mediagoblin.tools import pluginapi ACCEPTED_EXTENSIONS = ["txt", "asc", "nfo"] MEDIA_TYPE = 'mediagoblin.media_types.ascii' -def setup_plugin(): - config = pluginapi.get_config(MEDIA_TYPE) - - class ASCIIMediaManager(MediaManagerBase): human_readable = "ASCII" display_template = "mediagoblin/media_displays/ascii.html" @@ -39,7 +34,6 @@ def get_media_type_and_manager(ext): hooks = { - 'setup': setup_plugin, 'get_media_type_and_manager': get_media_type_and_manager, ('media_manager', MEDIA_TYPE): lambda: ASCIIMediaManager, ('reprocess_manager', MEDIA_TYPE): lambda: AsciiProcessingManager, diff --git a/mediagoblin/media_types/image/__init__.py b/mediagoblin/media_types/image/__init__.py index 99643409..06e0f08f 100644 --- a/mediagoblin/media_types/image/__init__.py +++ b/mediagoblin/media_types/image/__init__.py @@ -19,7 +19,7 @@ import logging from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.image.processing import sniff_handler, \ ImageProcessingManager -from mediagoblin.tools import pluginapi + _log = logging.getLogger(__name__) @@ -28,10 +28,6 @@ ACCEPTED_EXTENSIONS = ["jpg", "jpeg", "png", "gif", "tiff"] MEDIA_TYPE = 'mediagoblin.media_types.image' -def setup_plugin(): - config = pluginapi.get_config('mediagoblin.media_types.image') - - class ImageMediaManager(MediaManagerBase): human_readable = "Image" display_template = "mediagoblin/media_displays/image.html" @@ -67,7 +63,6 @@ def get_media_type_and_manager(ext): hooks = { - 'setup': setup_plugin, 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: ImageMediaManager, diff --git a/mediagoblin/media_types/pdf/__init__.py b/mediagoblin/media_types/pdf/__init__.py index bc5c373b..de70389e 100644 --- a/mediagoblin/media_types/pdf/__init__.py +++ b/mediagoblin/media_types/pdf/__init__.py @@ -17,16 +17,12 @@ from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.pdf.processing import PdfProcessingManager, \ sniff_handler -from mediagoblin.tools import pluginapi + ACCEPTED_EXTENSIONS = ['pdf'] MEDIA_TYPE = 'mediagoblin.media_types.pdf' -def setup_plugin(): - config = pluginapi.get_config(MEDIA_TYPE) - - class PDFMediaManager(MediaManagerBase): human_readable = "PDF" display_template = "mediagoblin/media_displays/pdf.html" @@ -39,7 +35,6 @@ def get_media_type_and_manager(ext): hooks = { - 'setup': setup_plugin, 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: PDFMediaManager, diff --git a/mediagoblin/media_types/stl/__init__.py b/mediagoblin/media_types/stl/__init__.py index 7170a45b..d5b56b4b 100644 --- a/mediagoblin/media_types/stl/__init__.py +++ b/mediagoblin/media_types/stl/__init__.py @@ -17,16 +17,12 @@ from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.stl.processing import StlProcessingManager, \ sniff_handler -from mediagoblin.tools import pluginapi + MEDIA_TYPE = 'mediagoblin.media_types.stl' ACCEPTED_EXTENSIONS = ["obj", "stl"] -def setup_plugin(): - config = pluginapi.get_config(MEDIA_TYPE) - - class STLMediaManager(MediaManagerBase): human_readable = "stereo lithographics" display_template = "mediagoblin/media_displays/stl.html" @@ -38,7 +34,6 @@ def get_media_type_and_manager(ext): return MEDIA_TYPE, STLMediaManager hooks = { - 'setup': setup_plugin, 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: STLMediaManager, diff --git a/mediagoblin/media_types/video/__init__.py b/mediagoblin/media_types/video/__init__.py index 0ed19d1b..c85cc0b2 100644 --- a/mediagoblin/media_types/video/__init__.py +++ b/mediagoblin/media_types/video/__init__.py @@ -17,17 +17,13 @@ from mediagoblin.media_types import MediaManagerBase from mediagoblin.media_types.video.processing import VideoProcessingManager, \ sniff_handler -from mediagoblin.tools import pluginapi + MEDIA_TYPE = 'mediagoblin.media_types.video' ACCEPTED_EXTENSIONS = [ "mp4", "mov", "webm", "avi", "3gp", "3gpp", "mkv", "ogv", "m4v"] -def setup_plugin(): - config = pluginapi.get_config(MEDIA_TYPE) - - class VideoMediaManager(MediaManagerBase): human_readable = "Video" display_template = "mediagoblin/media_displays/video.html" @@ -43,7 +39,6 @@ def get_media_type_and_manager(ext): return MEDIA_TYPE, VideoMediaManager hooks = { - 'setup': setup_plugin, 'get_media_type_and_manager': get_media_type_and_manager, 'sniff_handler': sniff_handler, ('media_manager', MEDIA_TYPE): lambda: VideoMediaManager, From e9e57e144eae2b3e09072afe6d77ed0e9205f8fb Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 26 Aug 2013 14:17:34 -0500 Subject: [PATCH 121/160] transifex.net->transifex.com --- .tx/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tx/config b/.tx/config index 711b5d94..610a6f60 100644 --- a/.tx/config +++ b/.tx/config @@ -4,5 +4,5 @@ source_file = mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po source_lang = en [main] -host = https://www.transifex.net +host = https://transifex.com From 3bc2bb1bc77a768d360122d528d83fd916ac5e6c Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 26 Aug 2013 14:18:04 -0500 Subject: [PATCH 122/160] Committing present MediaGoblin translations before pushing extracted messages --- .../i18n/bg/LC_MESSAGES/mediagoblin.po | 1251 +++++++++++++++++ .../i18n/pt_BR/LC_MESSAGES/mediagoblin.po | 119 +- .../i18n/vi/LC_MESSAGES/mediagoblin.po | 1251 +++++++++++++++++ .../i18n/vi_VN/LC_MESSAGES/mediagoblin.po | 1251 +++++++++++++++++ 4 files changed, 3813 insertions(+), 59 deletions(-) create mode 100644 mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po create mode 100644 mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po create mode 100644 mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..0ce3670c --- /dev/null +++ b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,1251 @@ +# Translations template for PROJECT. +# Copyright (C) 2013 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: http://issues.mediagoblin.org/\n" +"POT-Creation-Date: 2013-06-16 20:06-0500\n" +"PO-Revision-Date: 2013-08-26 15:12+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" +"Language: bg\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: mediagoblin/auth/forms.py:25 +msgid "Username" +msgstr "" + +#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:44 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "" + +#: mediagoblin/auth/forms.py:33 +msgid "Email address" +msgstr "" + +#: mediagoblin/auth/forms.py:40 +msgid "Username or Email" +msgstr "" + +#: mediagoblin/auth/forms.py:51 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:44 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:109 +msgid "Sorry, a user with that name already exists." +msgstr "" + +#: mediagoblin/auth/tools.py:113 +msgid "Sorry, a user with that email address already exists." +msgstr "" + +#: mediagoblin/auth/views.py:43 +msgid "Sorry, registration is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/views.py:133 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "" + +#: mediagoblin/auth/views.py:139 +msgid "The verification key or user id is incorrect" +msgstr "" + +#: mediagoblin/auth/views.py:157 +msgid "You must be logged in so we know who to send the email to!" +msgstr "" + +#: mediagoblin/auth/views.py:165 +msgid "You've already verified your email address!" +msgstr "" + +#: mediagoblin/auth/views.py:178 +msgid "Resent your verification email." +msgstr "" + +#: mediagoblin/auth/views.py:209 +msgid "" +"If that email address (case sensitive!) is registered an email has been sent" +" with instructions on how to change your password." +msgstr "" + +#: mediagoblin/auth/views.py:220 +msgid "Couldn't find someone with that username." +msgstr "" + +#: mediagoblin/auth/views.py:223 +msgid "" +"An email has been sent with instructions on how to change your password." +msgstr "" + +#: mediagoblin/auth/views.py:230 +msgid "" +"Could not send password recovery email as your username is inactive or your " +"account's email address has not been verified." +msgstr "" + +#: mediagoblin/auth/views.py:287 +msgid "You can now log in using your new password." +msgstr "" + +#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 +#: mediagoblin/user_pages/forms.py:45 +msgid "Title" +msgstr "" + +#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +msgid "Description of this work" +msgstr "" + +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +msgid "Tags" +msgstr "" + +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +msgid "Separate tags by commas." +msgstr "" + +#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +msgid "Slug" +msgstr "" + +#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +msgid "The slug can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:40 +msgid "" +"The title part of this media's address. You usually don't need to change " +"this." +msgstr "" + +#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/templates/mediagoblin/utils/license.html:20 +msgid "License" +msgstr "" + +#: mediagoblin/edit/forms.py:50 +msgid "Bio" +msgstr "" + +#: mediagoblin/edit/forms.py:56 +msgid "Website" +msgstr "" + +#: mediagoblin/edit/forms.py:58 +msgid "This address contains errors" +msgstr "" + +#: mediagoblin/edit/forms.py:63 +msgid "License preference" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "This will be your default license on upload forms." +msgstr "" + +#: mediagoblin/edit/forms.py:71 +msgid "Email me when others comment on my media" +msgstr "" + +#: mediagoblin/edit/forms.py:83 +msgid "The title can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/user_pages/forms.py:48 +msgid "Description of this collection" +msgstr "" + +#: mediagoblin/edit/forms.py:92 +msgid "" +"The title part of this collection's address. You usually don't need to " +"change this." +msgstr "" + +#: mediagoblin/edit/forms.py:99 +msgid "Old password" +msgstr "" + +#: mediagoblin/edit/forms.py:101 +msgid "Enter your old password to prove you own this account." +msgstr "" + +#: mediagoblin/edit/forms.py:104 +msgid "New password" +msgstr "" + +#: mediagoblin/edit/views.py:67 +msgid "An entry with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:85 +msgid "You are editing another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:155 +#, python-format +msgid "You added the attachment %s!" +msgstr "" + +#: mediagoblin/edit/views.py:182 +msgid "You can only edit your own profile." +msgstr "" + +#: mediagoblin/edit/views.py:188 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:204 +msgid "Profile changes saved" +msgstr "" + +#: mediagoblin/edit/views.py:240 +msgid "Account settings saved" +msgstr "" + +#: mediagoblin/edit/views.py:274 +msgid "You need to confirm the deletion of your account." +msgstr "" + +#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 +#: mediagoblin/user_pages/views.py:222 +#, python-format +msgid "You already have a collection called \"%s\"!" +msgstr "" + +#: mediagoblin/edit/views.py:314 +msgid "A collection with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:329 +msgid "You are editing another user's collection. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:348 +msgid "Wrong password" +msgstr "" + +#: mediagoblin/edit/views.py:363 +msgid "Your password was changed successfully" +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:111 +#: mediagoblin/media_types/__init__.py:155 +msgid "Sorry, I don't support that file type :(" +msgstr "" + +#: mediagoblin/media_types/pdf/processing.py:136 +msgid "unoconv failing to run, check log file" +msgstr "" + +#: mediagoblin/media_types/video/processing.py:37 +msgid "Video transcoding failed" +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/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:56 +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/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/processing/__init__.py:193 +msgid "Invalid file given for media type." +msgstr "" + +#: mediagoblin/submit/forms.py:26 +msgid "File" +msgstr "" + +#: mediagoblin/submit/views.py:49 +msgid "You must provide a file." +msgstr "" + +#: mediagoblin/submit/views.py:93 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/submit/views.py:144 +#, python-format +msgid "Collection \"%s\" added!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:67 +msgid "Verify your email!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:68 +msgid "log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:73 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 +msgid "Log in" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:82 +#, python-format +msgid "%(user_name)s's account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:89 +msgid "Change account settings" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:93 +#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/admin/panel.html:21 +#: mediagoblin/templates/mediagoblin/admin/panel.html:26 +#: 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:96 +msgid "Log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:156 +msgid "Add media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 +msgid "Create new collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/error.html:24 +msgid "Image of goblin stressing out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:29 +msgid "" +"Here you can track the state of media being processed on this instance." +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 +msgid "Media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:58 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 +msgid "No media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:61 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 +msgid "These uploads failed to process:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:90 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 +msgid "No failed entries!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:92 +msgid "Last 10 successful uploads" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 +msgid "No processed entries, yet!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 +#: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 +msgid "Set your new password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/change_fp.html:39 +msgid "Set password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:23 +#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:31 +msgid "Recover password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:34 +msgid "Send instructions" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to change your GNU MediaGoblin password, open the following URL in \n" +"your web browser:\n" +"\n" +"%(verification_url)s\n" +"\n" +"If you think this is an error, just ignore this email and continue being\n" +"a happy goblin!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:44 +msgid "Don't have an account yet?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:45 +msgid "Create one here!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:51 +msgid "Forgot your password?" +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:40 +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/frontpage_welcome.html:20 +msgid "Explore" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +msgid "Hi there, welcome to this MediaGoblin site!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +msgid "" +"This site is running MediaGoblin, an " +"extraordinarily great piece of media hosting software." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +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:27 +msgid "Don't have one yet? It's easy!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#, python-format +msgid "" +"Create an account at this site\n" +" or\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:171 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 +msgid "Attachments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:193 +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:55 +#: 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_pass.html:28 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 +#, python-format +msgid "Changing %(username)s's password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +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 "" + +#: 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:46 +msgid "Change your password." +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +msgid "Delete my account" +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/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:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:55 +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:71 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:61 +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/image.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 +#, python-format +msgid "%(formatted_time)s ago" +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 "" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +msgid "PDF file" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +msgid "Toggle Rotate" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 +msgid "Perspective" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +msgid "Front" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +msgid "Top" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +msgid "Side" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +msgid "WebGL" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +msgid "Download model" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +msgid "File Format" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +msgid "Object Height" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:44 +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:47 +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:69 +msgid "WebM file (640p; VP8/Vorbis)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/collection.html:26 +msgid "Add a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/start.html:23 +#: mediagoblin/templates/mediagoblin/submit/start.html:30 +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.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 +msgid "Delete" +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 "" + +#: 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 "" + +#: 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:95 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +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 "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:89 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:43 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:50 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:70 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 +msgid "Almost done! Your account still needs to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:58 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "In case it doesn't:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:65 +msgid "Resend verification email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:79 +#, 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/user_pages/user.html:96 +msgid "Here's a spot to tell others about yourself." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:100 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:117 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:105 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:124 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:137 +#, python-format +msgid "View all of %(username)s's media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:150 +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:162 +#: 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/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 "" + +#: 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/tags.html:20 +msgid "Tagged with" +msgstr "" + +#: mediagoblin/tools/exif.py:83 +msgid "Could not read the image file." +msgstr "" + +#: mediagoblin/tools/response.py:35 +msgid "Oops!" +msgstr "" + +#: mediagoblin/tools/response.py:36 +msgid "An error occured" +msgstr "" + +#: mediagoblin/tools/response.py:51 +msgid "Operation not allowed" +msgstr "" + +#: mediagoblin/tools/response.py:52 +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:60 +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/lib.py:58 +msgid "commented on your post" +msgstr "" + +#: mediagoblin/user_pages/views.py:169 +msgid "Sorry, comments are disabled." +msgstr "" + +#: mediagoblin/user_pages/views.py:174 +msgid "Oops, your comment was empty." +msgstr "" + +#: mediagoblin/user_pages/views.py:180 +msgid "Your comment has been posted!" +msgstr "" + +#: mediagoblin/user_pages/views.py:205 +msgid "Please check your entries and try again." +msgstr "" + +#: mediagoblin/user_pages/views.py:245 +msgid "You have to select or add a collection" +msgstr "" + +#: mediagoblin/user_pages/views.py:256 +#, python-format +msgid "\"%s\" already in collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:262 +#, python-format +msgid "\"%s\" added to collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:282 +msgid "You deleted the media." +msgstr "" + +#: mediagoblin/user_pages/views.py:289 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:296 +msgid "You are about to delete another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:370 +msgid "You deleted the item from the collection." +msgstr "" + +#: mediagoblin/user_pages/views.py:374 +msgid "The item was not removed because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:382 +msgid "" +"You are about to delete an item from another user's collection. Proceed with" +" caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:415 +#, python-format +msgid "You deleted the collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:422 +msgid "" +"The collection was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:430 +msgid "" +"You are about to delete another user's collection. Proceed with caution." +msgstr "" diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po index fecb844c..0e71a8a2 100644 --- a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po @@ -7,14 +7,15 @@ # Rafael Ferreira , 2013 # osc , 2011 # ufa , 2011 -# Canopus , 2013 +# Canopus, 2013 +# Canopus, 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" -"Last-Translator: cwebber \n" +"POT-Creation-Date: 2013-06-16 20:06-0500\n" +"PO-Revision-Date: 2013-08-24 16:27+0000\n" +"Last-Translator: Canopus\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" @@ -23,95 +24,95 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: mediagoblin/auth/forms.py:26 +#: mediagoblin/auth/forms.py:25 msgid "Username" msgstr "Nome de Usuário" -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 +#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:44 #: mediagoblin/tests/test_util.py:110 msgid "Password" msgstr "Senha" -#: mediagoblin/auth/forms.py:34 +#: mediagoblin/auth/forms.py:33 msgid "Email address" msgstr "Endereço de email" -#: mediagoblin/auth/forms.py:41 +#: mediagoblin/auth/forms.py:40 msgid "Username or Email" -msgstr "" +msgstr "Nome de usuário ou email" -#: mediagoblin/auth/forms.py:52 +#: mediagoblin/auth/forms.py:51 msgid "Username or email" msgstr "Nome de usuário ou email" -#: mediagoblin/auth/tools.py:31 +#: mediagoblin/auth/tools.py:42 msgid "Invalid User name or email address." msgstr "Nome de usuário ou email inválido." -#: mediagoblin/auth/tools.py:32 +#: mediagoblin/auth/tools.py:43 msgid "This field does not take email addresses." msgstr "Este campo não aceita endereços de email." -#: mediagoblin/auth/tools.py:33 +#: mediagoblin/auth/tools.py:44 msgid "This field requires an email address." msgstr "Este campo requer um endereço de email." -#: mediagoblin/auth/views.py:54 -msgid "Sorry, registration is disabled on this instance." -msgstr "Desculpa, o registro está desativado neste momento." - -#: mediagoblin/auth/views.py:68 +#: mediagoblin/auth/tools.py:109 msgid "Sorry, a user with that name already exists." msgstr "Desculpe, um usuário com este nome já existe." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:113 msgid "Sorry, a user with that email address already exists." msgstr "Desculpe, um usuário com esse email já está cadastrado" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:43 +msgid "Sorry, registration is disabled on this instance." +msgstr "Desculpa, o registro está desativado neste momento." + +#: mediagoblin/auth/views.py:133 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!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:139 msgid "The verification key or user id is incorrect" msgstr "A chave de verificação ou nome usuário estão incorretos." -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:157 msgid "You must be logged in so we know who to send the email to!" msgstr "Você precisa entrar primeiro para sabermos para quem mandar o email!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:165 msgid "You've already verified your email address!" msgstr "Você já verificou seu email!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:178 msgid "Resent your verification email." msgstr "O email de verificação foi enviado novamente." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:209 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Se esse endereço de email (sensível a maiúsculo/minúsculo!) estiver registrado, um email será enviado com instruções para alterar sua senha." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:220 msgid "Couldn't find someone with that username." msgstr "Não foi possível encontrar alguém com esse nome de usuário." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:223 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Um email foi enviado com instruções para trocar sua senha." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:230 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." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:287 msgid "You can now log in using your new password." msgstr "Agora você pode entrar usando sua nova senha." @@ -265,7 +266,7 @@ msgstr "Senha errada" #: mediagoblin/edit/views.py:363 msgid "Your password was changed successfully" -msgstr "" +msgstr "Sua senha foi alterada com sucesso." #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" @@ -287,7 +288,7 @@ msgstr "" #: mediagoblin/gmg_commands/assetlink.py:119 #, python-format msgid "Skipping \"%s\"; already set up.\n" -msgstr "" +msgstr "Pulando \"%s\"; já configurado.\n" #: mediagoblin/gmg_commands/assetlink.py:124 #, python-format @@ -619,7 +620,7 @@ msgid "" "Create an account at this site\n" " or\n" " Set up MediaGoblin on your own server" -msgstr "" +msgstr "Crie uma conta neste site\nou\nConfigure MediaGoblin em seu próprio servidor" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -633,13 +634,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Attachments" msgstr "Anexos" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:193 msgid "Add attachment" msgstr "Adicionar anexo" @@ -666,11 +667,11 @@ msgstr "Salvar mudanças" #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" -msgstr "" +msgstr "Alterando a senha de %(username)s" #: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 msgid "Save" -msgstr "" +msgstr "Salvar" #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format @@ -701,7 +702,7 @@ msgstr "Alterando as configurações da conta de %(username)s" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 msgid "Change your password." -msgstr "" +msgstr "Alterar sua senha." #: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 msgid "Delete my account" @@ -762,6 +763,17 @@ msgstr "Arquivo original" msgid "WebM file (Vorbis codec)" msgstr "Arquivo WebM (codec Vorbis)" +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +msgid "Created" +msgstr "Criado" + +#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "%(formatted_time)s" + #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 @@ -775,7 +787,7 @@ msgstr "Imagem para %(media_title)s" #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 msgid "PDF file" -msgstr "" +msgstr "Arquivo PDF" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 msgid "Toggle Rotate" @@ -926,20 +938,9 @@ msgstr "Adicionar um comentário" msgid "Add this comment" msgstr "Adicionar este comentário" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media.html:150 msgid "Added" -msgstr "" - -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" +msgstr "Adicionado há" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 @@ -1049,7 +1050,7 @@ msgstr "(apagar)" #: mediagoblin/templates/mediagoblin/utils/collections.html:21 msgid "Collected in" -msgstr "" +msgstr "Colecionado em" #: mediagoblin/templates/mediagoblin/utils/collections.html:40 msgid "Add to a collection" @@ -1127,27 +1128,27 @@ msgstr "Parece que não há uma página com este endereço. Desculpe!

    Se v #: mediagoblin/tools/timesince.py:62 msgid "year" -msgstr "" +msgstr "ano" #: mediagoblin/tools/timesince.py:63 msgid "month" -msgstr "" +msgstr "mês" #: mediagoblin/tools/timesince.py:64 msgid "week" -msgstr "" +msgstr "semana" #: 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 "minuto" #: mediagoblin/user_pages/forms.py:23 msgid "Comment" @@ -1186,7 +1187,7 @@ msgstr "comentou na sua publicação" #: mediagoblin/user_pages/views.py:169 msgid "Sorry, comments are disabled." -msgstr "" +msgstr "Desculpe, os comentários estão desabilitados." #: mediagoblin/user_pages/views.py:174 msgid "Oops, your comment was empty." diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..dd6525fc --- /dev/null +++ b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,1251 @@ +# Translations template for PROJECT. +# Copyright (C) 2013 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: http://issues.mediagoblin.org/\n" +"POT-Creation-Date: 2013-06-16 20:06-0500\n" +"PO-Revision-Date: 2013-08-26 15:12+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" +"Language: vi\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: mediagoblin/auth/forms.py:25 +msgid "Username" +msgstr "" + +#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:44 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "" + +#: mediagoblin/auth/forms.py:33 +msgid "Email address" +msgstr "" + +#: mediagoblin/auth/forms.py:40 +msgid "Username or Email" +msgstr "" + +#: mediagoblin/auth/forms.py:51 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:44 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:109 +msgid "Sorry, a user with that name already exists." +msgstr "" + +#: mediagoblin/auth/tools.py:113 +msgid "Sorry, a user with that email address already exists." +msgstr "" + +#: mediagoblin/auth/views.py:43 +msgid "Sorry, registration is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/views.py:133 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "" + +#: mediagoblin/auth/views.py:139 +msgid "The verification key or user id is incorrect" +msgstr "" + +#: mediagoblin/auth/views.py:157 +msgid "You must be logged in so we know who to send the email to!" +msgstr "" + +#: mediagoblin/auth/views.py:165 +msgid "You've already verified your email address!" +msgstr "" + +#: mediagoblin/auth/views.py:178 +msgid "Resent your verification email." +msgstr "" + +#: mediagoblin/auth/views.py:209 +msgid "" +"If that email address (case sensitive!) is registered an email has been sent" +" with instructions on how to change your password." +msgstr "" + +#: mediagoblin/auth/views.py:220 +msgid "Couldn't find someone with that username." +msgstr "" + +#: mediagoblin/auth/views.py:223 +msgid "" +"An email has been sent with instructions on how to change your password." +msgstr "" + +#: mediagoblin/auth/views.py:230 +msgid "" +"Could not send password recovery email as your username is inactive or your " +"account's email address has not been verified." +msgstr "" + +#: mediagoblin/auth/views.py:287 +msgid "You can now log in using your new password." +msgstr "" + +#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 +#: mediagoblin/user_pages/forms.py:45 +msgid "Title" +msgstr "" + +#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +msgid "Description of this work" +msgstr "" + +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +msgid "Tags" +msgstr "" + +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +msgid "Separate tags by commas." +msgstr "" + +#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +msgid "Slug" +msgstr "" + +#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +msgid "The slug can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:40 +msgid "" +"The title part of this media's address. You usually don't need to change " +"this." +msgstr "" + +#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/templates/mediagoblin/utils/license.html:20 +msgid "License" +msgstr "" + +#: mediagoblin/edit/forms.py:50 +msgid "Bio" +msgstr "" + +#: mediagoblin/edit/forms.py:56 +msgid "Website" +msgstr "" + +#: mediagoblin/edit/forms.py:58 +msgid "This address contains errors" +msgstr "" + +#: mediagoblin/edit/forms.py:63 +msgid "License preference" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "This will be your default license on upload forms." +msgstr "" + +#: mediagoblin/edit/forms.py:71 +msgid "Email me when others comment on my media" +msgstr "" + +#: mediagoblin/edit/forms.py:83 +msgid "The title can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/user_pages/forms.py:48 +msgid "Description of this collection" +msgstr "" + +#: mediagoblin/edit/forms.py:92 +msgid "" +"The title part of this collection's address. You usually don't need to " +"change this." +msgstr "" + +#: mediagoblin/edit/forms.py:99 +msgid "Old password" +msgstr "" + +#: mediagoblin/edit/forms.py:101 +msgid "Enter your old password to prove you own this account." +msgstr "" + +#: mediagoblin/edit/forms.py:104 +msgid "New password" +msgstr "" + +#: mediagoblin/edit/views.py:67 +msgid "An entry with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:85 +msgid "You are editing another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:155 +#, python-format +msgid "You added the attachment %s!" +msgstr "" + +#: mediagoblin/edit/views.py:182 +msgid "You can only edit your own profile." +msgstr "" + +#: mediagoblin/edit/views.py:188 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:204 +msgid "Profile changes saved" +msgstr "" + +#: mediagoblin/edit/views.py:240 +msgid "Account settings saved" +msgstr "" + +#: mediagoblin/edit/views.py:274 +msgid "You need to confirm the deletion of your account." +msgstr "" + +#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 +#: mediagoblin/user_pages/views.py:222 +#, python-format +msgid "You already have a collection called \"%s\"!" +msgstr "" + +#: mediagoblin/edit/views.py:314 +msgid "A collection with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:329 +msgid "You are editing another user's collection. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:348 +msgid "Wrong password" +msgstr "" + +#: mediagoblin/edit/views.py:363 +msgid "Your password was changed successfully" +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:111 +#: mediagoblin/media_types/__init__.py:155 +msgid "Sorry, I don't support that file type :(" +msgstr "" + +#: mediagoblin/media_types/pdf/processing.py:136 +msgid "unoconv failing to run, check log file" +msgstr "" + +#: mediagoblin/media_types/video/processing.py:37 +msgid "Video transcoding failed" +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/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:56 +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/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/processing/__init__.py:193 +msgid "Invalid file given for media type." +msgstr "" + +#: mediagoblin/submit/forms.py:26 +msgid "File" +msgstr "" + +#: mediagoblin/submit/views.py:49 +msgid "You must provide a file." +msgstr "" + +#: mediagoblin/submit/views.py:93 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/submit/views.py:144 +#, python-format +msgid "Collection \"%s\" added!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:67 +msgid "Verify your email!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:68 +msgid "log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:73 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 +msgid "Log in" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:82 +#, python-format +msgid "%(user_name)s's account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:89 +msgid "Change account settings" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:93 +#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/admin/panel.html:21 +#: mediagoblin/templates/mediagoblin/admin/panel.html:26 +#: 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:96 +msgid "Log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:156 +msgid "Add media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 +msgid "Create new collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/error.html:24 +msgid "Image of goblin stressing out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:29 +msgid "" +"Here you can track the state of media being processed on this instance." +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 +msgid "Media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:58 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 +msgid "No media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:61 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 +msgid "These uploads failed to process:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:90 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 +msgid "No failed entries!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:92 +msgid "Last 10 successful uploads" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 +msgid "No processed entries, yet!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 +#: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 +msgid "Set your new password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/change_fp.html:39 +msgid "Set password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:23 +#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:31 +msgid "Recover password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:34 +msgid "Send instructions" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to change your GNU MediaGoblin password, open the following URL in \n" +"your web browser:\n" +"\n" +"%(verification_url)s\n" +"\n" +"If you think this is an error, just ignore this email and continue being\n" +"a happy goblin!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:44 +msgid "Don't have an account yet?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:45 +msgid "Create one here!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:51 +msgid "Forgot your password?" +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:40 +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/frontpage_welcome.html:20 +msgid "Explore" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +msgid "Hi there, welcome to this MediaGoblin site!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +msgid "" +"This site is running MediaGoblin, an " +"extraordinarily great piece of media hosting software." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +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:27 +msgid "Don't have one yet? It's easy!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#, python-format +msgid "" +"Create an account at this site\n" +" or\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:171 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 +msgid "Attachments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:193 +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:55 +#: 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_pass.html:28 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 +#, python-format +msgid "Changing %(username)s's password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +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 "" + +#: 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:46 +msgid "Change your password." +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +msgid "Delete my account" +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/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:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:55 +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:71 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:61 +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/image.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 +#, python-format +msgid "%(formatted_time)s ago" +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 "" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +msgid "PDF file" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +msgid "Toggle Rotate" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 +msgid "Perspective" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +msgid "Front" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +msgid "Top" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +msgid "Side" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +msgid "WebGL" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +msgid "Download model" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +msgid "File Format" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +msgid "Object Height" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:44 +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:47 +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:69 +msgid "WebM file (640p; VP8/Vorbis)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/collection.html:26 +msgid "Add a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/start.html:23 +#: mediagoblin/templates/mediagoblin/submit/start.html:30 +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.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 +msgid "Delete" +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 "" + +#: 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 "" + +#: 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:95 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +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 "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:89 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:43 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:50 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:70 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 +msgid "Almost done! Your account still needs to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:58 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "In case it doesn't:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:65 +msgid "Resend verification email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:79 +#, 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/user_pages/user.html:96 +msgid "Here's a spot to tell others about yourself." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:100 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:117 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:105 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:124 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:137 +#, python-format +msgid "View all of %(username)s's media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:150 +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:162 +#: 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/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 "" + +#: 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/tags.html:20 +msgid "Tagged with" +msgstr "" + +#: mediagoblin/tools/exif.py:83 +msgid "Could not read the image file." +msgstr "" + +#: mediagoblin/tools/response.py:35 +msgid "Oops!" +msgstr "" + +#: mediagoblin/tools/response.py:36 +msgid "An error occured" +msgstr "" + +#: mediagoblin/tools/response.py:51 +msgid "Operation not allowed" +msgstr "" + +#: mediagoblin/tools/response.py:52 +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:60 +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/lib.py:58 +msgid "commented on your post" +msgstr "" + +#: mediagoblin/user_pages/views.py:169 +msgid "Sorry, comments are disabled." +msgstr "" + +#: mediagoblin/user_pages/views.py:174 +msgid "Oops, your comment was empty." +msgstr "" + +#: mediagoblin/user_pages/views.py:180 +msgid "Your comment has been posted!" +msgstr "" + +#: mediagoblin/user_pages/views.py:205 +msgid "Please check your entries and try again." +msgstr "" + +#: mediagoblin/user_pages/views.py:245 +msgid "You have to select or add a collection" +msgstr "" + +#: mediagoblin/user_pages/views.py:256 +#, python-format +msgid "\"%s\" already in collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:262 +#, python-format +msgid "\"%s\" added to collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:282 +msgid "You deleted the media." +msgstr "" + +#: mediagoblin/user_pages/views.py:289 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:296 +msgid "You are about to delete another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:370 +msgid "You deleted the item from the collection." +msgstr "" + +#: mediagoblin/user_pages/views.py:374 +msgid "The item was not removed because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:382 +msgid "" +"You are about to delete an item from another user's collection. Proceed with" +" caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:415 +#, python-format +msgid "You deleted the collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:422 +msgid "" +"The collection was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:430 +msgid "" +"You are about to delete another user's collection. Proceed with caution." +msgstr "" diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..c5112353 --- /dev/null +++ b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,1251 @@ +# Translations template for PROJECT. +# Copyright (C) 2013 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: http://issues.mediagoblin.org/\n" +"POT-Creation-Date: 2013-06-16 20:06-0500\n" +"PO-Revision-Date: 2013-08-26 15:12+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" +"Language: vi_VN\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: mediagoblin/auth/forms.py:25 +msgid "Username" +msgstr "" + +#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:44 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "" + +#: mediagoblin/auth/forms.py:33 +msgid "Email address" +msgstr "" + +#: mediagoblin/auth/forms.py:40 +msgid "Username or Email" +msgstr "" + +#: mediagoblin/auth/forms.py:51 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:44 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:109 +msgid "Sorry, a user with that name already exists." +msgstr "" + +#: mediagoblin/auth/tools.py:113 +msgid "Sorry, a user with that email address already exists." +msgstr "" + +#: mediagoblin/auth/views.py:43 +msgid "Sorry, registration is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/views.py:133 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "" + +#: mediagoblin/auth/views.py:139 +msgid "The verification key or user id is incorrect" +msgstr "" + +#: mediagoblin/auth/views.py:157 +msgid "You must be logged in so we know who to send the email to!" +msgstr "" + +#: mediagoblin/auth/views.py:165 +msgid "You've already verified your email address!" +msgstr "" + +#: mediagoblin/auth/views.py:178 +msgid "Resent your verification email." +msgstr "" + +#: mediagoblin/auth/views.py:209 +msgid "" +"If that email address (case sensitive!) is registered an email has been sent" +" with instructions on how to change your password." +msgstr "" + +#: mediagoblin/auth/views.py:220 +msgid "Couldn't find someone with that username." +msgstr "" + +#: mediagoblin/auth/views.py:223 +msgid "" +"An email has been sent with instructions on how to change your password." +msgstr "" + +#: mediagoblin/auth/views.py:230 +msgid "" +"Could not send password recovery email as your username is inactive or your " +"account's email address has not been verified." +msgstr "" + +#: mediagoblin/auth/views.py:287 +msgid "You can now log in using your new password." +msgstr "" + +#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 +#: mediagoblin/user_pages/forms.py:45 +msgid "Title" +msgstr "" + +#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +msgid "Description of this work" +msgstr "" + +#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 +#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" + +#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +msgid "Tags" +msgstr "" + +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +msgid "Separate tags by commas." +msgstr "" + +#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +msgid "Slug" +msgstr "" + +#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +msgid "The slug can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:40 +msgid "" +"The title part of this media's address. You usually don't need to change " +"this." +msgstr "" + +#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/templates/mediagoblin/utils/license.html:20 +msgid "License" +msgstr "" + +#: mediagoblin/edit/forms.py:50 +msgid "Bio" +msgstr "" + +#: mediagoblin/edit/forms.py:56 +msgid "Website" +msgstr "" + +#: mediagoblin/edit/forms.py:58 +msgid "This address contains errors" +msgstr "" + +#: mediagoblin/edit/forms.py:63 +msgid "License preference" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "This will be your default license on upload forms." +msgstr "" + +#: mediagoblin/edit/forms.py:71 +msgid "Email me when others comment on my media" +msgstr "" + +#: mediagoblin/edit/forms.py:83 +msgid "The title can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/user_pages/forms.py:48 +msgid "Description of this collection" +msgstr "" + +#: mediagoblin/edit/forms.py:92 +msgid "" +"The title part of this collection's address. You usually don't need to " +"change this." +msgstr "" + +#: mediagoblin/edit/forms.py:99 +msgid "Old password" +msgstr "" + +#: mediagoblin/edit/forms.py:101 +msgid "Enter your old password to prove you own this account." +msgstr "" + +#: mediagoblin/edit/forms.py:104 +msgid "New password" +msgstr "" + +#: mediagoblin/edit/views.py:67 +msgid "An entry with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:85 +msgid "You are editing another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:155 +#, python-format +msgid "You added the attachment %s!" +msgstr "" + +#: mediagoblin/edit/views.py:182 +msgid "You can only edit your own profile." +msgstr "" + +#: mediagoblin/edit/views.py:188 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:204 +msgid "Profile changes saved" +msgstr "" + +#: mediagoblin/edit/views.py:240 +msgid "Account settings saved" +msgstr "" + +#: mediagoblin/edit/views.py:274 +msgid "You need to confirm the deletion of your account." +msgstr "" + +#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 +#: mediagoblin/user_pages/views.py:222 +#, python-format +msgid "You already have a collection called \"%s\"!" +msgstr "" + +#: mediagoblin/edit/views.py:314 +msgid "A collection with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:329 +msgid "You are editing another user's collection. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:348 +msgid "Wrong password" +msgstr "" + +#: mediagoblin/edit/views.py:363 +msgid "Your password was changed successfully" +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:111 +#: mediagoblin/media_types/__init__.py:155 +msgid "Sorry, I don't support that file type :(" +msgstr "" + +#: mediagoblin/media_types/pdf/processing.py:136 +msgid "unoconv failing to run, check log file" +msgstr "" + +#: mediagoblin/media_types/video/processing.py:37 +msgid "Video transcoding failed" +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/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:56 +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/templates/mediagoblin/submit/collection.html:30 +#: mediagoblin/templates/mediagoblin/submit/start.html:34 +#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 +msgid "Add" +msgstr "" + +#: mediagoblin/processing/__init__.py:193 +msgid "Invalid file given for media type." +msgstr "" + +#: mediagoblin/submit/forms.py:26 +msgid "File" +msgstr "" + +#: mediagoblin/submit/views.py:49 +msgid "You must provide a file." +msgstr "" + +#: mediagoblin/submit/views.py:93 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/submit/views.py:144 +#, python-format +msgid "Collection \"%s\" added!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:67 +msgid "Verify your email!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:68 +msgid "log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:73 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 +msgid "Log in" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:82 +#, python-format +msgid "%(user_name)s's account" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:89 +msgid "Change account settings" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:93 +#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/admin/panel.html:21 +#: mediagoblin/templates/mediagoblin/admin/panel.html:26 +#: 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:96 +msgid "Log out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:156 +msgid "Add media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 +msgid "Create new collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/error.html:24 +msgid "Image of goblin stressing out" +msgstr "" + +#: mediagoblin/templates/mediagoblin/root.html:32 +msgid "Most recent media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:29 +msgid "" +"Here you can track the state of media being processed on this instance." +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:32 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 +msgid "Media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:58 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 +msgid "No media in-processing" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:61 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 +msgid "These uploads failed to process:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:90 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 +msgid "No failed entries!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:92 +msgid "Last 10 successful uploads" +msgstr "" + +#: mediagoblin/templates/mediagoblin/admin/panel.html:112 +#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 +msgid "No processed entries, yet!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 +#: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 +msgid "Set your new password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/change_fp.html:39 +msgid "Set password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:23 +#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:31 +msgid "Recover password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:34 +msgid "Send instructions" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to change your GNU MediaGoblin password, open the following URL in \n" +"your web browser:\n" +"\n" +"%(verification_url)s\n" +"\n" +"If you think this is an error, just ignore this email and continue being\n" +"a happy goblin!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:44 +msgid "Don't have an account yet?" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:45 +msgid "Create one here!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/auth/login.html:51 +msgid "Forgot your password?" +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:40 +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/frontpage_welcome.html:20 +msgid "Explore" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +msgid "Hi there, welcome to this MediaGoblin site!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:24 +msgid "" +"This site is running MediaGoblin, an " +"extraordinarily great piece of media hosting software." +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +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:27 +msgid "Don't have one yet? It's easy!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 +#, python-format +msgid "" +"Create an account at this site\n" +" or\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:171 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 +msgid "Attachments" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/attachments.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:193 +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:55 +#: 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_pass.html:28 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 +#, python-format +msgid "Changing %(username)s's password" +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +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 "" + +#: 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:46 +msgid "Change your password." +msgstr "" + +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +msgid "Delete my account" +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/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:65 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:55 +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:71 +#: mediagoblin/templates/mediagoblin/media_displays/video.html:61 +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/image.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 +#, python-format +msgid "%(formatted_time)s ago" +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 "" + +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +msgid "PDF file" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 +msgid "Toggle Rotate" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 +msgid "Perspective" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +msgid "Front" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +msgid "Top" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +msgid "Side" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +msgid "WebGL" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +msgid "Download model" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +msgid "File Format" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +msgid "Object Height" +msgstr "" + +#: mediagoblin/templates/mediagoblin/media_displays/video.html:44 +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:47 +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:69 +msgid "WebM file (640p; VP8/Vorbis)" +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/collection.html:26 +msgid "Add a collection" +msgstr "" + +#: mediagoblin/templates/mediagoblin/submit/start.html:23 +#: mediagoblin/templates/mediagoblin/submit/start.html:30 +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.html:56 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 +msgid "Delete" +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 "" + +#: 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 "" + +#: 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:95 +msgid "Add a comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +msgid "Add this comment" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +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 "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:31 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:89 +#, python-format +msgid "%(username)s's profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:43 +msgid "Sorry, no such user found." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:50 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:70 +msgid "Email verification needed" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 +msgid "Almost done! Your account still needs to be activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:58 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "In case it doesn't:" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:65 +msgid "Resend verification email" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" activated." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:79 +#, 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/user_pages/user.html:96 +msgid "Here's a spot to tell others about yourself." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:100 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:117 +msgid "Edit profile" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:105 +msgid "This user hasn't filled in their profile (yet)." +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:124 +msgid "Browse collections" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:137 +#, python-format +msgid "View all of %(username)s's media" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:150 +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:162 +#: 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/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 "" + +#: 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/tags.html:20 +msgid "Tagged with" +msgstr "" + +#: mediagoblin/tools/exif.py:83 +msgid "Could not read the image file." +msgstr "" + +#: mediagoblin/tools/response.py:35 +msgid "Oops!" +msgstr "" + +#: mediagoblin/tools/response.py:36 +msgid "An error occured" +msgstr "" + +#: mediagoblin/tools/response.py:51 +msgid "Operation not allowed" +msgstr "" + +#: mediagoblin/tools/response.py:52 +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:60 +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/lib.py:58 +msgid "commented on your post" +msgstr "" + +#: mediagoblin/user_pages/views.py:169 +msgid "Sorry, comments are disabled." +msgstr "" + +#: mediagoblin/user_pages/views.py:174 +msgid "Oops, your comment was empty." +msgstr "" + +#: mediagoblin/user_pages/views.py:180 +msgid "Your comment has been posted!" +msgstr "" + +#: mediagoblin/user_pages/views.py:205 +msgid "Please check your entries and try again." +msgstr "" + +#: mediagoblin/user_pages/views.py:245 +msgid "You have to select or add a collection" +msgstr "" + +#: mediagoblin/user_pages/views.py:256 +#, python-format +msgid "\"%s\" already in collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:262 +#, python-format +msgid "\"%s\" added to collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:282 +msgid "You deleted the media." +msgstr "" + +#: mediagoblin/user_pages/views.py:289 +msgid "The media was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:296 +msgid "You are about to delete another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:370 +msgid "You deleted the item from the collection." +msgstr "" + +#: mediagoblin/user_pages/views.py:374 +msgid "The item was not removed because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:382 +msgid "" +"You are about to delete an item from another user's collection. Proceed with" +" caution." +msgstr "" + +#: mediagoblin/user_pages/views.py:415 +#, python-format +msgid "You deleted the collection \"%s\"" +msgstr "" + +#: mediagoblin/user_pages/views.py:422 +msgid "" +"The collection was not deleted because you didn't check that you were sure." +msgstr "" + +#: mediagoblin/user_pages/views.py:430 +msgid "" +"You are about to delete another user's collection. Proceed with caution." +msgstr "" From 567c09f02ce1a88ffee462116d6603501b50e5a1 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 26 Aug 2013 14:19:44 -0500 Subject: [PATCH 123/160] Committing extracted and compiled translations --- .../i18n/ar/LC_MESSAGES/mediagoblin.mo | Bin 28177 -> 34293 bytes .../i18n/ar/LC_MESSAGES/mediagoblin.po | 725 ++++++++++++----- .../i18n/bg/LC_MESSAGES/mediagoblin.mo | Bin 0 -> 24290 bytes .../i18n/ca/LC_MESSAGES/mediagoblin.mo | Bin 25199 -> 31346 bytes .../i18n/ca/LC_MESSAGES/mediagoblin.po | 723 ++++++++++++----- .../i18n/da/LC_MESSAGES/mediagoblin.mo | Bin 24330 -> 30478 bytes .../i18n/da/LC_MESSAGES/mediagoblin.po | 717 ++++++++++++----- .../i18n/de/LC_MESSAGES/mediagoblin.mo | Bin 25811 -> 31927 bytes .../i18n/de/LC_MESSAGES/mediagoblin.po | 733 ++++++++++++----- .../i18n/en/LC_MESSAGES/mediagoblin.po | 730 ++++++++++++----- .../i18n/eo/LC_MESSAGES/mediagoblin.mo | Bin 25211 -> 31336 bytes .../i18n/eo/LC_MESSAGES/mediagoblin.po | 729 ++++++++++++----- .../i18n/es/LC_MESSAGES/mediagoblin.mo | Bin 25994 -> 32134 bytes .../i18n/es/LC_MESSAGES/mediagoblin.po | 731 ++++++++++++----- .../i18n/fa/LC_MESSAGES/mediagoblin.mo | Bin 25146 -> 31294 bytes .../i18n/fa/LC_MESSAGES/mediagoblin.po | 717 ++++++++++++----- .../i18n/fr/LC_MESSAGES/mediagoblin.mo | Bin 26152 -> 32279 bytes .../i18n/fr/LC_MESSAGES/mediagoblin.po | 723 ++++++++++++----- .../i18n/he/LC_MESSAGES/mediagoblin.mo | Bin 27529 -> 33619 bytes .../i18n/he/LC_MESSAGES/mediagoblin.po | 731 ++++++++++++----- .../i18n/ia/LC_MESSAGES/mediagoblin.mo | Bin 24326 -> 30474 bytes .../i18n/ia/LC_MESSAGES/mediagoblin.po | 719 ++++++++++++----- .../i18n/is_IS/LC_MESSAGES/mediagoblin.mo | Bin 26342 -> 32482 bytes .../i18n/is_IS/LC_MESSAGES/mediagoblin.po | 761 ++++++++++++------ .../i18n/it/LC_MESSAGES/mediagoblin.mo | Bin 25279 -> 31419 bytes .../i18n/it/LC_MESSAGES/mediagoblin.po | 723 ++++++++++++----- .../i18n/ja/LC_MESSAGES/mediagoblin.mo | Bin 24944 -> 31092 bytes .../i18n/ja/LC_MESSAGES/mediagoblin.po | 717 ++++++++++++----- .../i18n/ko_KR/LC_MESSAGES/mediagoblin.mo | Bin 26202 -> 32323 bytes .../i18n/ko_KR/LC_MESSAGES/mediagoblin.po | 723 ++++++++++++----- .../i18n/nl/LC_MESSAGES/mediagoblin.mo | Bin 24753 -> 30887 bytes .../i18n/nl/LC_MESSAGES/mediagoblin.po | 719 ++++++++++++----- .../i18n/nn_NO/LC_MESSAGES/mediagoblin.mo | Bin 23771 -> 29907 bytes .../i18n/nn_NO/LC_MESSAGES/mediagoblin.po | 731 ++++++++++++----- .../i18n/pl/LC_MESSAGES/mediagoblin.mo | Bin 25584 -> 31701 bytes .../i18n/pl/LC_MESSAGES/mediagoblin.po | 733 ++++++++++++----- .../i18n/pt_BR/LC_MESSAGES/mediagoblin.mo | Bin 25166 -> 31334 bytes .../i18n/pt_BR/LC_MESSAGES/mediagoblin.po | 737 ++++++++++++----- .../i18n/ro/LC_MESSAGES/mediagoblin.mo | Bin 25911 -> 32063 bytes .../i18n/ro/LC_MESSAGES/mediagoblin.po | 731 ++++++++++++----- .../i18n/ru/LC_MESSAGES/mediagoblin.mo | Bin 32200 -> 38290 bytes .../i18n/ru/LC_MESSAGES/mediagoblin.po | 729 ++++++++++++----- .../i18n/sk/LC_MESSAGES/mediagoblin.mo | Bin 25686 -> 31797 bytes .../i18n/sk/LC_MESSAGES/mediagoblin.po | 737 ++++++++++++----- .../i18n/sl/LC_MESSAGES/mediagoblin.mo | Bin 24504 -> 30652 bytes .../i18n/sl/LC_MESSAGES/mediagoblin.po | 717 ++++++++++++----- .../i18n/sq/LC_MESSAGES/mediagoblin.mo | Bin 25789 -> 31904 bytes .../i18n/sq/LC_MESSAGES/mediagoblin.po | 725 ++++++++++++----- .../i18n/sr/LC_MESSAGES/mediagoblin.mo | Bin 24362 -> 30510 bytes .../i18n/sr/LC_MESSAGES/mediagoblin.po | 717 ++++++++++++----- .../i18n/sv/LC_MESSAGES/mediagoblin.mo | Bin 24592 -> 30740 bytes .../i18n/sv/LC_MESSAGES/mediagoblin.po | 717 ++++++++++++----- .../i18n/te/LC_MESSAGES/mediagoblin.mo | Bin 24563 -> 30711 bytes .../i18n/te/LC_MESSAGES/mediagoblin.po | 719 ++++++++++++----- .../i18n/tr_TR/LC_MESSAGES/mediagoblin.mo | Bin 24771 -> 30906 bytes .../i18n/tr_TR/LC_MESSAGES/mediagoblin.po | 725 ++++++++++++----- .../i18n/vi/LC_MESSAGES/mediagoblin.mo | Bin 0 -> 30432 bytes .../i18n/vi/LC_MESSAGES/mediagoblin.po | 725 ++++++++++++----- .../i18n/vi_VN/LC_MESSAGES/mediagoblin.mo | Bin 0 -> 24298 bytes .../i18n/zh_CN/LC_MESSAGES/mediagoblin.mo | Bin 23615 -> 29782 bytes .../i18n/zh_CN/LC_MESSAGES/mediagoblin.po | 733 ++++++++++++----- .../zh_TW.Big5/LC_MESSAGES/mediagoblin.mo | Bin 24306 -> 30454 bytes .../zh_TW.Big5/LC_MESSAGES/mediagoblin.po | 717 ++++++++++++----- .../i18n/zh_TW/LC_MESSAGES/mediagoblin.mo | Bin 23703 -> 29880 bytes .../i18n/zh_TW/LC_MESSAGES/mediagoblin.po | 731 ++++++++++++----- 65 files changed, 16537 insertions(+), 6708 deletions(-) create mode 100644 mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo create mode 100644 mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo create mode 100644 mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo index 543830c8c1b9be63d23cdf7d4d45a27fe32b9e0d..442c84e548ace3ba7ca759dc17cb1d96808f33e8 100644 GIT binary patch delta 10402 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 diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po index 1f086613..03fb88e2 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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,250 +23,280 @@ 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/auth/forms.py:26 -msgid "Username" -msgstr "اسم المستخدم" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "كلمة السر" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "عنوان البريد الإلكتروني" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "اسم المستخدم او الايميل" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "اسم مستخدم او ايميل غير صحيح." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "هذا الحقل لا يأخذ ايميل." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "هذا الحقل يحتاج ايميل." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "عفوًا، التسجيل غير متاح هنا." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "اسم المستخدم او الايميل" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "اسم مستخدم او ايميل غير صحيح." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "هذا الحقل لا يأخذ ايميل." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "هذا الحقل يحتاج ايميل." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "عذرًا، لقد اختار مستخدم آخر هذا الاسم." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "عذرًا، لقد اختار مستخدم آخر هذا الايميل." -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "مفتاح التحقق أو معرف المستخدم خاطئ" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "لقد قمت بالفعل بالتحقق من عنوان البريد الإلكتروني الخاص بك!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "أعدنا إرسال رسالة التحقق." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "إذا كان هذا الايميل(حساس للحروف الكبيرة والصغيرة!) مُسجل, فقد تم إرسال ايميل به تعليمات عن كيفية تغيير رقمك السري." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "لم نتمكن من العثور على أحد له أسم المستخدم هذا." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "لقد تم إرسال ايميل به تعليمات عن كيفية تغيير رقمك السري." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "تعذر إرسال رسالة استعادة كلمة السر لأن اسم المستخدم معطل أو لأننا لم نتحقق من بريدك الإلكتروني." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "تستطيع الآن الدخول باستخدام رقمك السري الجديد." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "العنوان" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "وصف هذا العمل." -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "بامكانك استخدام ⏎\n⏎\nMarkdown للإدراج." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "الوسوم" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "قم بفصل المحددات بفصلة." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "المسار" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "لا يمكن ترك المسار فارغًا" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "ترخيص" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "السيرة" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "الموقع الإلكتروني" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "العنوان يحتوي على اخطاء" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "تفضيل رخصة" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "سوف تكون هذه رخصتك المبدئية في نماذج التحميل." - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "ارسل لي رسالة عندما يقوم الاخرون بالتعليق على الميديا خاصتي" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "لا يمكن ترك العنوان فارغًا" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "وصف هذه المجموعة" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "مقدمة عنوان هذه المجموعة, غالبا لن تحتاج لتغيره." -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr " كلمة السر القديمة" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "قم بإدخال رقمك السري القديم حتى تثبت انك صاحب هذا الحساب." -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "رقم سري جديد" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "كلمة السر" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "أنت تحرّر وسائط مستخدم آخر. كن حذرًا أثناء العملية." -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "لقد قمت بإضافة مرفقة %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "يمكنك فقط تعديل حسابك الخاص" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "أنت تحرّر ملف مستخدم آخر. كن حذرًا أثناء العملية." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "تم حفظ تغيرات حسابك" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "تم حفظ خصائص حسابك" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "يجب عليك تأكيد إلغاء حسابك." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "أنت لديك مجموعة تدعى \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "توجد مجموعة اخرى بهذا المسار لهذا المستخدم." -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "أنت تعدل مجموعة مستخدم آخر. كن حذرًا أثناء العملية." -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "كلمة سر خاطئة" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "لم يتم ربط الثيم... لاتوجد مجموعة ثيمات\n" @@ -301,19 +331,62 @@ msgid "" "domain." msgstr "CSRF كوكيز غير موجودة, وهذا من الممكن ان يكون نتيجة لمانع الكوكيز او شئ من هذا القبيل.
    تأكد من أنك قمت بالسماح لخصائص الكوكيز لهذا الميدان." -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "فشل في تحويل الفيديو" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "اسم المستخدم" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "المكان" @@ -377,7 +450,7 @@ msgstr "الرابط الموجه للبرنامج, هذا الحقل\n msgid "This field is required for public clients" msgstr "هذا الحقل مطلوب لجمهور العملاء" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "العميل {0} تم تسجيله!" @@ -390,59 +463,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "اضف" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "الملف المعطى لهذا النوع من الميديا غير صحيح." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "الملف" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "يجب أن تضع ملفًا." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "يا سلام! نُشرَت!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "تم إضافة المجموعة \"%s\"!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "تأكد من بريدك الإلكترونى!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "تسجيل خروج" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "تسجيل دخول" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "%(user_name)s's حساب" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "تغيير خصائص الحساب" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -450,16 +673,16 @@ msgstr "تغيير خصائص الحساب" msgid "Media processing panel" msgstr "لوحة معالجة الوسائط" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "تسجيل خروج" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "أضف وسائط" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "إنشاء مجموعة جديدة" @@ -506,6 +729,59 @@ msgstr "آخر 10 تحويلات ناجحة" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -538,19 +814,15 @@ msgid "" "a happy goblin!" msgstr "مرحبًا يا %(username)s،\n\nإن أردت تغيير كلمة سرك في غنو ميدياغوبلن فافتح الوصلة التالية في متصفحك:\n\n%(verification_url)s\n\nإن كنت ترى أن هذه الرسالة وصلتك خطأً فتجاهلها واستمتع بحياتك!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "فشل الولوج!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "ألا تملك حسابًا بعد؟" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "أنشئ حسابًا هنا!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "أنسيت كلمة سرك؟" @@ -559,7 +831,7 @@ msgstr "أنسيت كلمة سرك؟" msgid "Create an account!" msgstr "أنشئ حسابًا!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "أنشئ" @@ -593,7 +865,7 @@ msgstr "تم النشر وفقا ل MediaGoblin, وهو برنامج استضافة ميديا فائق الروعة." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -633,13 +910,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "مرفقات" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "أضف مرفقة" @@ -656,22 +933,29 @@ msgstr "ألغِ" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -699,14 +983,14 @@ msgstr "تحرير %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "نغيير %(username)s خصائص الحساب" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "" - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "إلغِ حسابي" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -718,6 +1002,36 @@ msgstr "تحرير %(collection_title)s" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -728,8 +1042,7 @@ 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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "تحميل" @@ -753,7 +1066,7 @@ msgid "" msgstr "تستطيع الحصول على متصفح حديث ⏎\n»يمكنه تشغيل الصوت في ⏎\n» http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "ملف أصلي" @@ -762,6 +1075,10 @@ msgstr "ملف أصلي" msgid "WebM file (Vorbis codec)" msgstr "ملف WebM (Vorbic كوديك)" +#: 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 @@ -773,47 +1090,39 @@ msgstr "ملف WebM (Vorbic كوديك)" msgid "Image for %(media_title)s" msgstr "صورة ل%(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "تبديل التدوير" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "منظور" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "مقدمة" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "أعلى" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "جانب" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "تحميل نموذج" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "بنية الملف" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "طول الكائن" @@ -832,8 +1141,8 @@ msgid "" msgstr "تستطيع الحصول على متصفح حديث ⏎\n»يمكنه تشغيل هذا الفيديو في ⏎\n» http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "WebM ملف (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -859,11 +1168,6 @@ msgstr "%(collection_title)s بواسطة %(username)s< msgid "Edit" msgstr "تعديل" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "إلغاء" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -918,29 +1222,22 @@ msgstr "وسائط %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ اختيار الميديا بواسطة %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "أضف تعليق" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "اضف هذا التعليق" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1099,26 +1396,34 @@ msgstr "تحدد ب" msgid "Could not read the image file." msgstr "لم نستطيع قراءة هذه الصورة." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "ويحي!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "حدث خطأ" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "غير مسموح بهذه العملية" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1155,10 +1460,9 @@ msgstr "تعليق" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "بامكانك استخدام Markdown للإدراج." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1180,77 +1484,80 @@ msgstr "-- إختار --" msgid "Include a note" msgstr "إدراج ملاحظة" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "قام بالتعليق على مشاركتك" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "عذرا, لقد قمت بادخال تعليق فارغ." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "لقد تم إرسال تعليقك!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "من فضلك قم بفحص المداخل وقم بالمحاولة مرة أخرى." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "يجب عليك إختيار أو إضافة مجموعة" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" توجد بالفعل في المجموعة \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" أُضيفت للمجموعة \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "لقد قمت بإلغاء الميديا." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "لم يتم إلغاء الميديا لأنك لم تقم بإختيار انك متأكد من ذلك." -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "أنت على وشك حذف وسائط مستخدم آخر. كن حذرًا أثناء العملية." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "لقد قمت بإلغاء المادة من المجموعة." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "لم يتم إلغاء المادة لأنك لم تقم بإختيار انك متأكد من ذلك." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "أنت على وشك حذف مادة من مجموعة مستخدم آخر. كن حذرا." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "لقد قمت بإلغاء المجموعة \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "لم يتم إلغاء المجموعة لأنك لم تقم بإختيار انك متأكد من ذلك." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 new file mode 100644 index 0000000000000000000000000000000000000000..3dff58f12157b25f4acd3772f9cf434921d948d1 GIT binary patch literal 24290 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 Nd-rVN;{R*h{{m&q6Dt4! literal 0 HcmV?d00001 diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo index ec01d7f704a98297d3498376e438ec88c01beed6..7c80ee7864df5bb47ac9a7ef9c4cc5de9ed041b7 100644 GIT binary patch delta 10401 zcmdtm34B%6oxt()*b_)tlaPevCV(N^O9*Q~mcV0?HH2*d1#aHENv^!y8{T_Kj1`_^ zU0ameTU&7KIM_w19jWu&>N1FRicCcj$0=&-XB?~OjQhtfirV@8@4W${v1(hVGtDO- zzW3aB?^*umf6hDPjfVqozY|D4H>B5fil5m5rAFYebSa(w88A$#Hi{WI6)(kHydOv6 zzvF0p2P<({7Ioo#%*M+w4{tyoQFr_IAH{x3CDjXD(6)LN2jJ^ig(q<`2C1b2Be(&- zfmiUt8(2-beYn@q?bws@Bbbkm;vjq(Gw@xM4)mq>QXYYsw699INaIE|$_w*wD6V!N zP^t-wDYs*9-0OdSvtPasr*Quumg4Vl5sqcpi?JDHAorlu|2hWo_n1ceDoA(x<200> zg^{Poi_+2E$gHYcQ6h10 z6!Dh^j`F$3lKg~;@(1|<3_i9}cJ@jt%iO@{NpIwDazjS+0TK)~TJu78HcA7lu?XWRIq-KVQ?(Z*r2A1CK8|DXZIqnI zrqU{0hBDBLQ5wDyWdK(vxsZ_TL8*AZ|G}NOkn%w+!!#yzJ5Ir$;~iL!J87*H-@p$s zf2=npdCU`IQ7dp7+PDMvVFwnSn(7FF}dmRoEB5kMi7YC=ok|($3>Zjo6*FjG?eK5x^t}!xIsP8$ zw7LbQfhX~De8n%fF!56Hi1U&tDkkuSu2T#h+-J`Tf6{QKWpLi{thk>ZAA=Rq8VM^RpQ9;GAiVismB^>Seh zN+_41%>63thf$Q|Y{gQ%9qF6;CCL?e|^OsN> zco!v5`mC?idvjA%Dz;;q;V z??nv{pybSd_~jEQbJ~x6I|~Q<7NI2TOw7gADD7E(`HCbL^5R~UhHml8KSs&YhkPHy zvnfA=(m>8;?<`o3GU7W>BKUKZE%#ll#?=;^q%1Ez4 zSq%=lNry5ePhlRug2S*^z1M+Ul=sfY(O82LAsxw6)r8-}f5u9Tgxvup)pcCRayf=m z@qL_ylSt`B7)M!F_v1)>6DMP);eEY^u$1zb@B+LUsX}QDUPLcNdCx(K=xbmUpzu}xm`G~;&eUxqc<)AW*bKFVCzBYCVY!j*X3 zzh82`_jiF1meao4#l>EHKyKjXt=?hrYLuSei^X^xtFTAZ%i_t%9-=nl75F2ZgwvY& zqXRbck39b@_Q6ccyPt(UDSsK0y}7u8ivf5w%5u6MCCPq>lD!Y1bmVC)#NXmsm}h&d zp$01`*Q3<;b(HsZqeNmq_QS&{IdlvqcV4oIzf^pZ8zV5c#XA~JK@weU!diR)mtf{L zZ-g6g5#?PdS$-U)!XYv5ELenBQN9c>!+~)x64&7v%8%f3d^Jw|Z{lJ`f<(jTuodh0 zCxnlnbReV68|fw-PdSM)!hKkd2T+#hYbYZwY4=u52qib#a0=dorT7L8!TcmCTf{{W zC*WF?<#Q#D!+prKs>e{Co6+HgK8)Fvzk)LIy(n{f7pCF8*b5)VzIYfV2cAHgqT?u2 zGVM7o(z!T+GN*5&yqJ5T=O~oi7=tpBN>u5Z=Db&3=G?z-z@V6+M-oj-UcC4|& zSvb8cjR(9R=SX$QC{43tN=w+99u6DvxYl8}#^l;=wGy+n)cXUA1F7Ca{;fw=tr3gc zmaZAix*65JN&aq+B`&rtG7Q;FxwFZ-NyB^mp zJE1jDcSO}VkB?g9jLLS(TUw%KSWlR?71!F$L{n#1=+v3L(ZaelU32zl=d7t|O*Gjt z^FsF})up7(vzuF@M#A{W?FFV~#tFr#+lHE}N3=R)TdNUIsJW)?e0BC6&i0%|{Y|UE zjy1b=JCEhe?d^`3t6XQ$@VRT6n++?W)y9lA(`Z-o?3NBqw<21L9#0rrqREVFrq$W= zaMa}C>F!e!2JW}C)-zfyp0HzjqoFkrOd}FZtr)&CFkaWX4YCRuG9a4i4D{~YZ8;Jf zLP}p`^8A1pn$suG9O=ca+scf%bAH|>&P#c#3uKZiLT22ZEYpgcw88wC4V|;$OwF%O zvl2$ktuM78|6h6}&9e0LbuyRSk4V#PM$ByJVB~tj?UEidv~lBG<3`NVn~malP&=o= zk4qd4rZH}m$(5z0GgFkvh-lPqcR!7q)>f_FaEqrZchkT!+BGBN%Q7hMSfQ zG0Zyh;_okv0_Os4(};)2dUELrLtDwtKyT2 z<|ehM-AF9l)#<%ipjO1ryz3|1M{n!0Fx>IDpTvwtlXVjNSWR6&IHNL?c6DcT;rgM( zR#KqZh?qLVmbr5dEWI-ILE&wI3d2oNmfoqQtBp5;jWQdu_muIP8PUr$BM}Y;gT<+R zW7B&inRtIfHI}U&m5G!HczyKJ+s$il$U(Krj>S64B#l1XdtFxG$6jB|+U>qwH_mR$ zU25pubx+qsezC!rVdw3$N}b5c9Ov*^YYUAt^M+Wnmq#P+@~D@k#^&o}6+M_-mC!q6 z1{)cuX{lAM_3?1btoMf9nWUO+k!S^KweCJA9h2+0S}p6{Pa*~(i|?a>ld*YUBth@- zE`!n;aJ5_50jltGYOGA9wq^daKfo6sd5&S6gz`TM>r3zxiU4R^yMB-zhHHR zzjex{5;mf2?P{&;kDa&e2BPV2`qQ~|W(0Sojs{nfi|k;hCWG`=>)D#TZH@bER(vZ< z+9k|3Lz6xQwOViU4BJ+M``*wxSY6FTw%Oac$Y^;(b}x4ib>}0&ZX~tK#@EQ^p=-@{ zs(ivLfq_~=k8x*a;pY0NZf$k4Ce}DVsX99NBlinuIl+lzlWeRJ@0-c3+qT#~{ES#r zw^VDjqW*zGYtrfT>8*enNObm~yGpv`$*DB?XnmPoD@^U5I5d!Ci|F#T1Q@40H8OO;G55A^)=9vRn8namSl|@alzcJAMrXzFDXC;l?dLc;9-6x&H{>3yNwtq19z*jI zWi`P?6WqMV;F`EPiF?d4B7Rz|uk<1gx1`AppnftuBXcKU)^>i*;Kfg@=K=PT-mG`W_$vF`0pNejMNXNEbq>;T=c+B$ i>zUD5=bHTUo-+?_DR4$i9_Kv2<$+H)YdYW7kNpqOtF=l1 delta 4966 zcmciEiFcIM8OQNEfq)5%kc~h{G6{qwKoUX{2(kqTL;@i~1O!k$Zg{*fnVZ;H*7-l$j#xg9xN=(C6T#Nfr8%yu)On4(|A(g0kmSRXNZ=s=qet}xq z4kRmP7wUm0u_OKwwX-9riH;+4n9otU@60b<&qU?C1eJnmsON7%ZDbLu)>if*{%p={ z<$@mEg9GspDwpR`k+_7+VbW5ZRE$C`*pC{x3AM2GsGV&^rE+)V`hJ{B|5+T0mvIAT z^(FrA(b&gws&O5qJ_OI8LK@4e(s4YF!o|1|cVY|n;zKR$9@Hs$5>;HUp>}>6`{8Gp zi9Os-q(-1NP!Xb`5YIt{%!f)r1L}qr)aRQ}1K*3v{o}}(<`61{AD~k91u7y@8BVA> zqb5#3jWZJU{4^w}Cgh=^9Ii)&{65r*_n~t2Csb9xiwfx()K1T#LLJ5ET6i+*`HVJL04gF+pvM1watp*@O8TmNUPJW%N>rsbTr^Jui z$sITw_h1EHL@j7iHt!HzjX4-cCA+Z%HC{Dxs|iJX0z+)hyhEc3zr~+p1*7Q|d>ohH zRm{gF!<-thxQPBPRL(DB2kgYG+F>kShu5Q0kQ^}^RfJ46gYM?gMz=u(xejj7-G%DohQ4#tKJK;rCB)^a7DsuXr zQR8((Jr^p7G>TCJj>EB7hHtw#tC&H5?kL9=WK7eBIn?RSQ96 zII{ucF@zt0u{4OL2@od@{3wzxa|-8USMqZgPu3u}noDEIBj&P7?X(JYIu>9829Vdg z*@~)>{iydy7 z-(m(vbEZ;pAojsh)b%B(`!=IeupO1E2l0B`k2UJ)q;XhG3h?(r@*LUO}a}9Tnk|SfL`iN`pEw6|)`hN4=>&L{;f!RPGzAod0+%E};KwWDXO< zYDv3UfP3*#9EN3coc{|NQN_6rweXiQA3w!wfB)0wI)DEs;~jjk3kxt~o-wO%4(frU zs0e)%x&9+|qhEK6Q*>)l#k&!^;uh?Q_h2IKLxuhz4!~2lkbgIg4!r1du|H~nD%6VS zV{dFm<$MRmV;d&mGpPHHq9XJW4#cat2nP}-vSn^Z>esx7+E~9^ok-8SmG~EPVJ{c9 z;Yn;o@4`rkP`OHDH0sMt!~oudUW{JsoQ9P+i2j|Jgug?j;0+vu-=Q`#a*6W-x(SES zzb!-~j>a>Xj)$=hKSJ$frpF0Y6Kco1u>*!t#q>O?>R(2^FOH#7^cE_TCs2_)iLrPN z75WRP=lUj9JB<`n&fHjn!!UdzVX$lD(mGEdFgCM#O)%)MU+h^L^g*q!rnZisV5Yma z!Ml8HX4aqvZ;dYy^foMB(@-}!kZI3O$?o89h_yWuhGsPRR{C;Qd6)S-HU8>4Uww|h zp(eM?vvj4ezNXCI6!hDtrVO=*rly9IlU|InpC^y7xxL@8XS1f*Reh|@O-Z!BOt~7f znw2#98~1ZmcHEfb8oPZx+`pQMp1ZEMq5-kC95GS z$-gFOru%DZn9c30cQ5z&>b%P`>{|ot(C+=Gb$2&-JMC)YN#Fxtn~!T0=V!ZqDECvSkJD z+M>dtHovG>__4y(9lF%i)Op>r{6SC9YZHpc*w*50or((bR^Q+bcOQLIl#LJc3tt-Z z7nfZzeuHbAeL0vKesV%jmo1!FV&9%P&K6ACWS{Mq6#i(E+Z9_lEPteX_=wSk1-5Hx zTBJLQZn&Uym@Aw;b^QN1Yc@IQe0ar;pSWz^)Fiv9e55^A{;54Z{e5LFJiTIw>%UUB zd1m>J)C}9TGCRDz@-~+(nbm09X9eu?*-iH2*#Wz@sxo|~sy!`aZFfS5#cf%6luG{@<)@t}nA!>vzSKG&K9xxaWGSXSfGNGPKX{j|#Uo zJm<1!g29+de=y))6Yw\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/mediagoblin/language/ca/)\n" "MIME-Version: 1.0\n" @@ -21,250 +21,280 @@ msgstr "" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Nom d'usuari" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Contrasenya" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Adreça electrònica" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Nom d'usuari o correu" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Ho sentim, el registre està desactivat en aquest cas." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Nom d'usuari o correu" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Lamentablement aquest usuari ja existeix." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Ja s'ha verificat la vostra adreça electrònica. Ara podeu entrar, editar el vostre perfil i penjar imatge!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "La clau de verificació o la identificació de l'usuari no són correctes." -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Has d'estar conectat per saber a qui hem d'enviar el correu!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Ja has verificat la teva adreça de correu!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Torna'm a enviar el correu de verificació" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "S'ha enviat un correu amb instruccions de com cambiar la teva contrasenya" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "No hem pogut enviar el correu de recuperació de contrasenya perquè el teu nom d'usuari és inactiu o bé l'adreça electrònica del teu compte no ha sigut verificada." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Ara et pots conectar amb la teva nova contrasenya." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Títol" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Descripció d'aquest treball." -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Pots utilitzar⏎ ⏎ Markdown per donar-li format" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Etiquetes" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Separa els tags amb comes." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Llimac" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "El llimac no pot ésser buit" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Llicència" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Biografia" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Lloc web" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Aquesta adreça conté errors" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "Envia'm correu quan d'altres comentin al meu mitjà" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "El títol no pot ser buit" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descripció d'aquesta col.lecció" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Contrasenya antiga" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nova contrasenya" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Contrasenya" + +#: mediagoblin/edit/forms.py:122 +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 "Ja existeix una entrada amb aquest llimac per aquest usuari" -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Els canvis al perfil s'han guardat" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Els detalls del compte s'han guardat" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Ja tens una col.lecció anomenada \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 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:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Contrasenya errònia" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "No es pot enllaçar el tema... no hi ha tema establert\n" @@ -299,19 +329,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Ho sento, no puc manegar aquest tipus d'arxiu :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "La transformació del vídeo ha fallat" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "comentat al teu post" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Nom d'usuari" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Adreça electrònica" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Ubicació" @@ -375,7 +448,7 @@ msgstr "La URI de redirecció per les aplicacions, aquest camp\n és msgid "This field is required for public clients" msgstr "Aquest camp és requeriment per a clients públics" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "El client {0} ha sigut enregistrat!" @@ -388,59 +461,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Afegir" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Esborrar" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Entra" + +#: 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!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Aquest tipus de fitxer no és vàlid." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Fitxer" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Heu d'escollir un fitxer." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Visca! S'ha enviat!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "S'ha afegit la col.leccio \"%s\"!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Verifica el teu correu electrònic" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Entra" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Modificar els ajustaments del compte" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -448,16 +671,16 @@ msgstr "Modificar els ajustaments del compte" msgid "Media processing panel" msgstr "Quadre de processament de fitxers" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Tots els fitxers" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -504,6 +727,59 @@ msgstr "Les últimes 10 pujades correctes" msgid "No processed entries, yet!" msgstr "Encara no hi ha entrades processades!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -536,19 +812,15 @@ msgid "" "a happy goblin!" msgstr "Hola %(username)s,⏎ ⏎ per cambiar la teva contrasenya de GNU MediaGoblin, obre la següent URL al ⏎ teu navegador:⏎ ⏎ %(verification_url)s⏎ ⏎ Si creus que hi ha un error, ignora el correu i continua essent⏎ un goblin feliç!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Inici de sessió ha fallat!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Encara no teniu un compte?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Creeu-ne un aquí!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Has oblidat la teva contrasenya?" @@ -557,7 +829,7 @@ msgstr "Has oblidat la teva contrasenya?" msgid "Create an account!" msgstr "Creeu un compte!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Crea" @@ -591,7 +863,7 @@ msgstr "Alliberat segons la MediaGoblin, una gran i extraordinària peça de software per allotjar mitjans." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "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:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -631,13 +908,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -654,22 +931,29 @@ msgstr "Cancel·la" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Desa els canvis" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -697,12 +981,12 @@ msgstr "Edició %(media_title)s " msgid "Changing %(username)s's account settings" msgstr "Modificant els detalls del compte de %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -716,6 +1000,36 @@ msgstr "Editant %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Editant 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 "" + +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -726,8 +1040,7 @@ msgstr "Mitjà marcat amb: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Descarregar" @@ -751,7 +1064,7 @@ msgid "" msgstr "Pots obtenir un navegador web modern que \n »podrà reproduir l'àudio, a \n » http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Arxiu original" @@ -760,6 +1073,10 @@ msgstr "Arxiu original" msgid "WebM file (Vorbis codec)" msgstr "Arxiu WebM (Vorbis codec)" +#: 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 @@ -771,47 +1088,39 @@ msgstr "Arxiu WebM (Vorbis codec)" msgid "Image for %(media_title)s" msgstr "Imatge per %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -830,8 +1139,8 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "Arxiu WebM (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -857,11 +1166,6 @@ msgstr "%(collection_title)s per a %(username)s" msgid "Edit" msgstr "Editar" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Esborrar" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -916,29 +1220,22 @@ msgstr "%(username)s's media" msgid "❖ Browsing media by %(username)s" msgstr "❖ Navegant mitjà per a %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Afegeix un comentari" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Afegir aquest comentari" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1097,26 +1394,34 @@ msgstr "" msgid "Could not read the image file." msgstr "No s'ha pogut llegir l'arxiu d'imatge" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Ups!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1153,10 +1458,9 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Pots usar Markdown per donar format." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1178,77 +1482,80 @@ msgstr "-- Sel.leccionar --" msgid "Include a note" msgstr "Incluir una nota" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "comentat al teu post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Uups, el teu comentari era buit." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "El teu comentari s'ha publicat!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Si et plau, comprova les teves entrades i intenta-ho de nou." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Has de sel.leccionar o afegir una col.lecció" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" ja és a la col.lecció \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" afegir a la col.lecció \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Has esborrat el mitjà" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Ets a punt d'esborrar el mitjà d'un altre usuari. Prossegueix amb cautela." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Has esborrat l'element de la col.lecció" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "L'element no s'ha eliminat perque no has marcat que n'estiguessis segur." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Ets a punt d'esborrar un element de la col.lecció d'un altre usuari. Prossegueix amb cautela." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Has esborrat la col.lecció \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "La col.lecció no s'ha esborrat perquè no has marcat que n'estiguessis segur." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Ets a punt d'esborrar la col.lecció d'un altre usuari. Prossegueix amb cautela." diff --git a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo index 53e3fedf393de44133cddd6144eebdd0e87ded4d..a9111c301ccce1674168c92e98cf926e64e2e912 100644 GIT binary patch literal 30478 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 delta 4942 zcmciDdr;M79>?+L-~~ldyl_*2171ILu>V-MyxGiW4oVIg+H*1!#$0{w?Eo$HTc z9-hHj7)ums=s^wq7;2(}*bQGn1$Y99-TVdj;92a9&5_0=Fu!S~!LNCoe~fKj#$k90 z-FOw1vgjz%h(nMuOfm*z9;V`4jKwxwi%+5!78mVII1?4fT+}?}=u_k^G&ImwRAjr6 zs+c{f2cE@_coem=*H9CkLgp}EplTn?KV45i)qE)WFTC!0tw^?0!@!9}Qf85_9Pv#3a0m>v8Y^ z^8Y@KCkUqu*Rj<{;5k%ELx?I4r(gyy!&ZD4TQHIj71%D+DR~yPxlW>1eijGfWlX>@ zx09){s09@GXeh-+sFZn7C1^n1(1QAW18U%hP_;jRjA@RcN_ZYsvae7X35s`89gLc| zFKV1|sOM)PNj1Jw8mi&lsFb&(B7Oo@t2a@*`aM)i&!JX&5tZs7MpxibsORGY{m}t4 zP^FoQD&-v9j7`Y%K68VH0_el6*_eb%bscJD2T*~$j63iIDnmtsoYa?~GSQ4$`L9v; zKZ450)2Q)}1g^h_3j6|g)cOB`h6cEP>jFD-urasOkH@F51r>SR5a+z-p*B$~-l{n& zl_xP7FJdu94CRR7ou~|)!H#$VS%di}<}<$uVe}bTggN*K>UeyDwWvd^Q&NXo$$hv0 z_hA8EK?O8zINu>ykE5_RJK2p>QR9^%w;Er-r_sma%xM}6@khJ|3m8pb!KZLJ-ozAK zKGN9(7MIfBgR1#e?0}t_RVxg^F4z-Qf~bJQQJZiQY9WQA$iJIL6&Ez&7VLyCqar>Q zxbY(lrvDvkfE(BY!+1y~h(p~!8Ckq3#@nzB^Y9-y4F`?k1Yi|r;l45Cekea+P|WX*EM7tnBIJeOu+G|6?;*8!$MjBAz=u%- ze}S6lCU(QFq(=dUqe>i&doT$#?g1a;g}P=OaBZ&Xu>@wgFH^QTZHcmcK9UPUe7IO_Sgv#GxZ_?!zd7&Og!|GQCv z<)JoP5k}*EsPp?cD&P;X171J{_9<#*U!zJHJl(k-in;WoaVVDJdfYOd{J*aoDQp>@ z$KjZrL7fn7l@paSR>J6HzP8Mx}Z=cEKjp^S(g;LDWKig(}UXI1Hb` z&3GDl-e-#QodD{QZD6*bQvDWcWu0a_yFUVV&>x5j#E)9RE2vF(2DS1ZP^rI;%1F04 zPKjc$JNWhW%XJ@i!@{{vfJ;yrUXHik|C?yA@60=xgAwzbjFez4{U+2Y`4qL;ZXk1;$oUL_ zD{&OQgpcEeK!4)`=lkO&RG_CZ5x>S{?7xu34yG}O2EV3}fA`>@aWu}njVQ4NQ}FND z2}6sFS%rNt6kD+aK7cC0P7J|z?1lR<0$;*DcoMbe&K6OBH;wPPpa~<%yC%p*eL>7Y z-M9+1nKq(oxD9*a!>E-VK;3@=wZc!3SWW06=lx%f)962kWAG~+hw+O!|LHUqFLvJl zJF$&^C1i$kytr{i;h>tCZ%-=%~X z7EbWd=uM*vwUTvMfqPH`-$V@*x6~Op2bJm)?24tRlvkrNRF66xccC)r3)mKL8*02= zsOJV84m4gx4R{n4jSG%mV-0OiVPi0jNf8GRlRYS$f z$q9ppHB?l38od<_%hoj1BsM14k8_51sA~wZVSSV0n?2Q@QL8IfcuFhl%4$5dqv{$e zN9UE6S9@wJ^Xi(tb@thuB)cIm#$TPcC&(U(inrPMW9`QL2kepPEPG*aj$Pf)+R^>P z?fE%}Z0>*pyLM5C{ia~*?wD+Qsc^o%9CO`9#d+-BxRrLGd%gXgyTC@pr~5a=?+xl#*A*AkDtcS*i&NzAlacZAzhcf{KE;aN7j zWShTf!~vIo?#N(bDvPvbV~Xse^52IoEUm1pSmAE=c&iNUM*m$Y+g&y<^*x)OmSj`X zBmMi+>N|9+tgNYU&#&{AdMj+-@sn)Z_${5&Q^(X#bo+Zum>1-KchYw*yK2gMSEl_k zGv5DVR;bISWly!aYcg%>v<>#)zzDm%=>@xUdP7Ls$dqyJDcv4L&|U4QC~ zB$q!ici8{GQb&RUReHmEXP;4Z{O9KcyZ);*{!4|6T+}7j?wXfpzn!;=+9cb9^Yg81 z!9v@zAj5xgLA&a6)Me8bKOd-3&w|pXT2s*CuC7~A@pFY93{Wao|y_y1|x zbr+Rc_rI%hdBs+jJ-qUy-CLQWs@VN$ANW77dOqkEm3gQ-(+1b<2vo-Qn2_i{RudXz n-<@>RX4bdcraR9$1+p(@ZL<3sx7+>R9BLG8H?MjAKQ;O{d;9@4 diff --git a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po index c78c08ac..54ec9491 100644 --- a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+0000\n" "Last-Translator: cwebber \n" "Language-Team: Danish (http://www.transifex.com/projects/p/mediagoblin/language/da/)\n" "MIME-Version: 1.0\n" @@ -21,250 +21,280 @@ msgstr "" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Brugernavn" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Kodeord" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Email adresse" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Brugernavn eller email" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Desværre, registrering er ikke muligt på denne instans" -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Brugernavn eller email" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Desværre, det brugernavn er allerede brugt" -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Din email adresse er blevet bekræftet. Du kan nu logge på, ændre din profil, og indsende billeder!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Bekræftelsesnøglen eller brugerid er forkert" -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Du er nødt til at være logget ind, så vi ved hvem vi skal emaile!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Du har allerede bekræftet din email adresse!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Email til godkendelse sendt igen." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "En email er blevet sendt med instruktioner til at ændre dit kodeord." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Vi kunne ikke sende en kodeords nulstillings email da dit brugernavn er inaktivt, eller din konto's email adresse er ikke blevet godkendt." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Du kan nu logge ind med dit nye kodeord." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Beskrivelse af arbejdet" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Du kan bruge\n \n Markdown til formattering." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Tags" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Separer tags med kommaer." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licens" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Websted" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Denne adresse indeholder fejl" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "Email mig når andre kommenterer på mine medier" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "Titlen kan ikke være tom" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Beskrivelse af denne samling" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Gammelt kodeord" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Ny kodeord" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Kodeord" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Profilændringer gemt" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Kontoindstillinger gemt" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Du har allerede en samling ved navn \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 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:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Forkert kodeord" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Kan ikke linke til tema... intet tema sat\n" @@ -299,19 +329,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Desværre, jeg understøtter ikke den filtype :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Brugernavn" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Email adresse" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -375,7 +448,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "Dette felt er nødvendigt for offentlige klienter" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "Klienten {0} er blevet registreret!" @@ -388,59 +461,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Log ind" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Forkert fil for medietypen." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Fil" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Du må give mig en fil" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Juhuu! Delt!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Bekræft din email!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Log ind" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -448,16 +671,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -504,6 +727,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -536,19 +812,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Har du endnu ikke en konto?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Opret en her!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -557,7 +829,7 @@ msgstr "" msgid "Create an account!" msgstr "Opret en konto!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -591,7 +863,7 @@ msgstr "" msgid "Explore" msgstr "Udforsk" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Hey, velkommen til denne MediaGoblin side!" @@ -601,22 +873,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "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:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -631,13 +908,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -654,22 +931,29 @@ msgstr "Afbryd" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Gem ændringer" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -697,12 +981,12 @@ msgstr "" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -716,6 +1000,36 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "Redigerer %(username)s profil" +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -726,8 +1040,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -751,7 +1064,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -760,6 +1073,10 @@ msgstr "" 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 @@ -771,47 +1088,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -830,7 +1139,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -857,11 +1166,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -916,29 +1220,22 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1097,26 +1394,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Hovsa!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1153,9 +1458,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1178,77 +1482,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo index e2fcf85db38e1f0bcc77ff465a9071cea399b80a..7be0f35ec28fc8a3e2b3fe1ba6793a053ee82146 100644 GIT binary patch delta 10488 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 Ok`7;YMqgX^-ai0{8$Rm* diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po index e2147070..6b75198b 100644 --- a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po @@ -15,15 +15,15 @@ # Elrond , 2011 # Art O. Pal , 2011 # spaetz , 2012 -# Vinzenz Vietzke , 2012 -# Vinzenz Vietzke , 2011 +# vinzv Vietzke , 2012 +# vinzv Vietzke , 2011 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-28 10:43+0000\n" -"Last-Translator: Elrond \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -32,250 +32,280 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Benutzername" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Passwort" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "E-Mail-Adresse" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Benutzername oder E-Mail-Adresse" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Benutzername oder E-Mail-Adresse" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Ungültiger Benutzername oder E-Mail-Adresse." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Dieses Feld akzeptiert keine E-Mail-Adressen." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "Dieses Feld benötigt eine E-Mail-Adresse." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Benutzerregistrierung ist auf diesem Server leider deaktiviert." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Benutzername oder E-Mail-Adresse" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Ungültiger Benutzername oder E-Mail-Adresse." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Dieses Feld akzeptiert keine E-Mail-Adressen." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Dieses Feld benötigt eine E-Mail-Adresse." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Leider gibt es bereits einen Benutzer mit diesem Namen." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Dein GNU MediaGoblin Konto wurde hiermit aktiviert. Du kannst dich jetzt anmelden, dein Profil bearbeiten und Medien hochladen." -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Der Aktivierungsschlüssel oder die Nutzerkennung ist falsch." -#: mediagoblin/auth/views.py:206 +#: 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." -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Deine E-Mail-Adresse wurde bereits aktiviert." -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Aktivierungsmail wurde erneut versandt." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Falls jemand mit dieser E-Mail-Adresse (Groß- und Kleinschreibung wird unterschieden!) registriert ist, wurde eine E-Mail mit Anleitungen verschickt, wie Du Dein Passwort ändern kannst." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Es konnte niemand mit diesem Benutzernamen gefunden werden." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Es wurde eine E-Mail mit der Anleitung zur Änderung des Passwortes an Dich gesendet." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Die E-Mail zur Wiederherstellung des Passworts konnte nicht verschickt werden, weil dein Benutzername inaktiv oder deine E-Mail-Adresse noch nicht aktiviert wurde." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Du kannst dich jetzt mit deinem neuen Passwort anmelden." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Beschreibung des Werkes" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Die Texte lassen sich durch Markdown formatieren." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Schlagwörter" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Kommaseparierte Schlagwörter" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Kurztitel" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Bitte gib einen Kurztitel ein" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Lizenz" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Biographie" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Webseite" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Diese Adresse ist fehlerhaft" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Bevorzugte Lizenz" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "Dies wird Deine Standardlizenz in den Upload-Forumularen sein." - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "Mir eine E-Mail schicken, wenn andere meine Medien kommentieren" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +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." + +#: mediagoblin/edit/forms.py:87 msgid "The title can't be empty" msgstr "Der Titel kann nicht leer sein" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Beschreibung dieser Sammlung" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Altes Passwort" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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." -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Neues Passwort" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Passwort" + +#: mediagoblin/edit/forms.py:122 +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 "Diesen Kurztitel hast du bereits vergeben." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Sie haben den Anhang %s hinzugefügt!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Du kannst nur dein eigenes Profil bearbeiten." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Das Profil wurde aktualisiert" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Kontoeinstellungen gespeichert" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Du musst die Löschung deines Kontos bestätigen." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: 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«!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 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:329 +#: mediagoblin/edit/views.py:336 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:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Falsches Passwort" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Theme kann nicht verknüpft werden … Kein Theme gesetzt\n" @@ -310,19 +340,62 @@ 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:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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." -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Videokonvertierung fehlgeschlagen" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "hat dein Medium kommentiert" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Benutzername" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "E-Mail-Adresse" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Benutzername oder E-Mail-Adresse" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Aufnahmeort" @@ -386,7 +459,7 @@ msgstr "Die Weiterleitungs-URI für die Anwendung, dieses Feld\n ist msgid "This field is required for public clients" msgstr "Dieses Feld ist Pflicht für öffentliche Clients" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "Client {0} wurde registriert!" @@ -399,59 +472,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Hinzufügen" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Löschen" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Anmelden" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Anmeldevorgang fehlgeschlagen!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Die Datei stimmt nicht mit dem gewählten Medientyp überein." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Datei" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Du musst eine Datei angeben." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "JAAA! Geschafft!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "Sammlung »%s« hinzugefügt!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Bitte bestätige Deine E-Mail-Adresse!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "abmelden" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Anmelden" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "%(user_name)ss Konto" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Kontoeinstellungen ändern" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -459,16 +682,16 @@ msgstr "Kontoeinstellungen ändern" msgid "Media processing panel" msgstr "Medienverarbeitung" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Abmelden" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Medien hinzufügen" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Neues Album erstellen" @@ -515,6 +738,59 @@ msgstr "Die letzten zehn erfolgreichen Uploads" msgid "No processed entries, yet!" msgstr "Noch keine verarbeiteten Einträge!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -547,19 +823,15 @@ msgid "" "a happy goblin!" msgstr "Hallo %(username)s,\n\num dein GNU-MediaGoblin-Passwort zu ändern, öffne folgende URL\nin deinem Webbrowser:\n\n%(verification_url)s\n\nWenn du denkst, dass es sich hierbei um einen Fehler handelt,\nignoriere einfach diese E-Mail und bleib ein glücklicher Goblin!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Anmeldevorgang fehlgeschlagen!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Hast du noch keines?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Registriere dich einfach hier!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Passwort vergessen?" @@ -568,7 +840,7 @@ msgstr "Passwort vergessen?" msgid "Create an account!" msgstr "Neues Nutzerkonto registrieren!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Registrieren" @@ -602,7 +874,7 @@ msgstr "Veröffentlicht unter der MediaGoblin ein, eine großartige Software für Medienhosting." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "Registriere dich auf dieser Seite oder Installiere MediaGoblin auf deinem eigenen Server" +"\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 @@ -642,13 +919,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Anhänge" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Anhang hinzufügen" @@ -665,22 +942,29 @@ msgstr "Abbrechen" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Änderungen speichern" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -708,14 +992,14 @@ msgstr "%(media_title)s bearbeiten" msgid "Changing %(username)s's account settings" msgstr "%(username)ss Kontoeinstellungen ändern" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "" - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Mein Konto löschen" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -727,6 +1011,36 @@ msgstr "Bearbeite %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "%(username)ss Profil bearbeiten" +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -737,8 +1051,7 @@ msgstr "Medien mit Schlagwort: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Download" @@ -762,7 +1075,7 @@ msgid "" msgstr "Hol dir auf http://getfirefox.com einen modernen Webbrowser, der dieses Audiostück abspielen kann!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Originaldatei" @@ -771,6 +1084,10 @@ msgstr "Originaldatei" msgid "WebM file (Vorbis codec)" msgstr "WebM-Datei (Vorbis-Codec)" +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +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 @@ -782,47 +1099,39 @@ msgstr "WebM-Datei (Vorbis-Codec)" msgid "Image for %(media_title)s" msgstr "Bild für %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "PDF-Datei" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "Perspektive" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Vorderseite" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Modell herunterladen" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Dateiformat" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Objekthöhe" @@ -841,8 +1150,8 @@ msgid "" msgstr "Hol dir auf http://getfirefox.com einen modernen Webbrowser, der dieses Video abspielen kann!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "WebM-Datei (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -868,11 +1177,6 @@ msgstr "%(collection_title)s von %(username)s" msgid "Edit" msgstr "Bearbeiten" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Löschen" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -927,29 +1231,22 @@ msgstr "%(username)ss Medien" msgid "❖ Browsing media by %(username)s" msgstr "❖ Medien von %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Einen Kommentar schreiben" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Kommentar absenden" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Hinzugefügt" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Originaldatum" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1108,26 +1405,34 @@ msgstr "Schlagwörter" msgid "Could not read the image file." msgstr "Die Bilddatei konnte nicht gelesen werden." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Hoppla!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Ein Fehler trat auf" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Funktion nicht erlaubt" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1164,10 +1469,9 @@ msgstr "Kommentar" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Die Texte lassen sich durch Markdown formatieren." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1189,77 +1493,80 @@ msgstr "-- Auswählen --" msgid "Include a note" msgstr "Notiz anfügen" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "hat dein Medium kommentiert" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Hoppla, der Kommentartext fehlte." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Dein Kommentar wurde angenommen!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Bitte prüfe deinen Einträge und versuche erneut." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Du musst eine Sammlung auswählen oder hinzufügen" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "»%s« ist bereits in der Sammlung »%s«" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "»%s« zur Sammlung »%s« hinzugefügt" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Du hast das Medium gelöscht." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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." -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Du versuchst Medien eines anderen Nutzers zu löschen. Sei bitte vorsichtig." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Du hast das Objekt aus der Sammlung gelöscht." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "Das Objekt wurde nicht aus der Sammlung entfernt, weil du nicht bestätigt hast, dass du dir sicher bist." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 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." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Du hast die Sammlung »%s« gelöscht" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "Die Sammlung wurde nicht gelöscht, weil du nicht bestätigt hast, dass du dir sicher bist." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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." diff --git a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po index 1b22b786..992588b9 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: 2013-06-16 20:06-0500\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,110 +17,117 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 0.9.6\n" -#: mediagoblin/auth/forms.py:25 -msgid "Username" -msgstr "" - -#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:44 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "" - -#: mediagoblin/auth/forms.py:33 -msgid "Email address" -msgstr "" - -#: mediagoblin/auth/forms.py:40 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:51 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:42 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:43 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:44 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/tools.py:109 -msgid "Sorry, a user with that name already exists." -msgstr "" - -#: mediagoblin/auth/tools.py:113 -msgid "Sorry, a user with that email address already exists." -msgstr "" - -#: mediagoblin/auth/views.py:43 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/auth/views.py:133 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 +msgid "Sorry, a user with that name already exists." +msgstr "" + +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +msgid "Sorry, a user with that email address already exists." +msgstr "" + +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:139 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "" -#: mediagoblin/auth/views.py:157 +#: 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:165 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:178 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "" -#: mediagoblin/auth/views.py:209 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been " "sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:220 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:223 +#: mediagoblin/auth/views.py:251 msgid "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:230 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or " "your account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:287 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -295,19 +325,62 @@ msgid "" "this domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -375,7 +448,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -388,59 +461,208 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a " +"password set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -448,16 +670,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -503,6 +725,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +810,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -556,7 +827,7 @@ msgstr "" msgid "Create an account!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -591,7 +862,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -601,25 +872,29 @@ msgid "" "an extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an " -"account at this site\n" -" or\n" -" Set up MediaGoblin on " -"your own server" +"\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 @@ -634,13 +909,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:193 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -657,22 +932,29 @@ msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -700,12 +982,12 @@ msgstr "" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -719,6 +1001,38 @@ msgstr "" msgid "Editing %(username)s's profile" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -729,8 +1043,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -754,7 +1067,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -767,13 +1080,6 @@ msgstr "" msgid "Created" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#, python-format -msgid "%(formatted_time)s ago" -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 @@ -785,47 +1091,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -844,7 +1142,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -871,11 +1169,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -931,15 +1224,19 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" @@ -1099,26 +1396,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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 " @@ -1156,8 +1461,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" "You can use Markdown " -"for formatting." +"href=\"http://daringfireball.net/projects/markdown/basics\" " +"target=\"_blank\">Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1180,78 +1485,83 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed " "with caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were " "sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 645af16b65b9011974bc79cd2c248e923c6417c9..7f674ff668119f921bbc995cc15bddb8813c18b9 100644 GIT binary patch delta 10504 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 Z+#9#%*x55D*gxNT&sQCFTLZ&={{yQK(J24` delta 5060 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 diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po index 873869f0..ddbd1262 100644 --- a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-06-01 21:16+0000\n" -"Last-Translator: aleksejrs \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -22,250 +22,280 @@ msgstr "" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Uzantnomo" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Pasvorto" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Retpoŝtadreso" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Uzantonomo aŭ retpoŝtadreso" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Salutnomo aŭ retpoŝtadreso" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Nevalida ensalutnomo aŭ retpoŝtadreso." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Ĉi tiu kampo ne akceptas retpoŝtadresojn." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "Ĉi tiu kampo postulas retpoŝtadreson." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Bedaŭrinde, registrado estas malaktivigita en tiu ĉi instalaĵo." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Salutnomo aŭ retpoŝtadreso" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Nevalida ensalutnomo aŭ retpoŝtadreso." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Ĉi tiu kampo ne akceptas retpoŝtadresojn." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Ĉi tiu kampo postulas retpoŝtadreson." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Bedaŭrinde, uzanto kun tiu nomo jam ekzistas." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Via retpoŝtadreso estas konfirmita. Vi povas nun ensaluti, redakti vian profilon, kaj alŝuti bildojn!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "La kontrol-kodo aŭ la uzantonomo ne estas korekta" -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Vi devas esti ensalutita, por ke ni sciu, al kiu sendi la retleteron!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Vi jam konfirmis vian retpoŝtadreson!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Resendi vian kontrol-mesaĝon." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Se tiu retpoŝtadreso (majuskloj gravas!) estas registrita, tien senditas retletero kun instrukcio pri kiel ŝanĝi vian pasvorton." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Trovitas neniu kun tiu ensalutnomo." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Senditas retletero kun instrukcio pri kiel ŝanĝi vian pasvorton." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Ni ne povas sendi pasvortsavan retleteron, ĉar aŭ via konto estas neaktiva, aŭ ĝia retpoŝtadreso ne estis konfirmita." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Nun vi povas ensaluti per via nova pasvorto." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titolo" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Priskribo de ĉi tiu verko" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Vi povas uzi por markado la lingvon\n «\n Markdown»." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Etikedoj" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Dividu la etikedojn per komoj." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "La distingiga adresparto" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "La distingiga adresparto ne povas esti malplena" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Permesilo" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Retejo" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Ĉi tiu adreso enhavas erarojn" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Permesila prefero" - -#: mediagoblin/edit/forms.py:69 -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:71 +#: mediagoblin/edit/forms.py:65 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:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Permesila prefero" + +#: mediagoblin/edit/forms.py:75 +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:87 msgid "The title can't be empty" msgstr "La titolo ne povas malpleni." -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Priskribo de la kolekto" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "La malnova pasvorto" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "La nova pasvorto" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Pasvorto" + +#: mediagoblin/edit/forms.py:122 +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 "Ĉi tiu uzanto jam havas dosieron kun tiu distingiga adresparto." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "Vi priredaktas dosieron de alia uzanto. Agu singardeme." -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Vi aldonis la kundosieron %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Vi povas redakti nur vian propran profilon." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "Vi redaktas profilon de alia uzanto. Agu singardeme." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Profilŝanĝoj estis konservitaj" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Kontagordoj estis konservitaj" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Vi bezonas konfirmi la forigon de via konto." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Vi jam havas kolekton kun la nomo «%s»!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 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:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "Vi redaktas kolekton de alia uzanto. Agu singardeme." -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Malĝusta pasvorto" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Via pasvorto estas sukcese ŝanĝita" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Alligo de etoso ne eblas… ne estas elektita ekzistanta etoso\n" @@ -300,19 +330,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Mi pardonpetas, mi ne subtenas tiun dosiertipon :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Malsukcesis transkodado de filmo" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "komentis je via afiŝo" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Uzantnomo" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Retpoŝtadreso" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Uzantonomo aŭ retpoŝtadreso" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Loko" @@ -376,7 +449,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -389,59 +462,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Aldoni" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Forigi" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Ensaluti" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Ensaluto malsukcesis!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "La provizita dosiero ne konformas al la informtipo." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Dosiero" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Vi devas provizi dosieron." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Hura! Alŝutitas!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "Kolekto «%s» aldonitas!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Konfirmu viecon de la retpoŝtadreso!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "elsaluti" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Ensaluti" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "Konto de %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Ŝanĝi kontagordojn" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -449,16 +672,16 @@ msgstr "Ŝanĝi kontagordojn" msgid "Media processing panel" msgstr "Kontrolejo pri dosierpreparado." -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Elsaluti" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Aldoni dosieron" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Krei novan kolekton" @@ -505,6 +728,59 @@ msgstr "La dek lastaj sukcesaj alŝutoj" msgid "No processed entries, yet!" msgstr "Ankoraŭ ne ekzistas eroj prilaboritaj!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -537,19 +813,15 @@ msgid "" "a happy goblin!" msgstr "Saluton, %(username)s,\n\npor ŝanĝi vian pasvorton ĉe GNUa MediaGoblin, sekvu la jenan retadreson per via TTT-legilo:\n\n%(verification_url)s\n\nSe vi pensas, ke ĉi tiu retletero estas sendita erare, simple ignoru ĝin kaj plu restu feliĉa koboldo!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Ensaluto malsukcesis!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Ĉu ankoraŭ sen konto?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Kreu ĝin ĉi tie!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Ĉu vi forgesis vian pasvorton?" @@ -558,7 +830,7 @@ msgstr "Ĉu vi forgesis vian pasvorton?" msgid "Create an account!" msgstr "Kreu konton!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Krei" @@ -592,7 +864,7 @@ msgstr "Disponigita laŭ la permesilo MediaGoblin, eksterordinare bonega programaro por gastigado de aŭd‐vid‐dosieroj." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "Por aldoni viajn proprajn dosierojn, afiŝi komentariojn ktp, vi povas ensaluti je via MediaGoblina konto." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -632,13 +909,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Kundosieroj" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Aldoni kundosieron" @@ -655,22 +932,29 @@ msgstr "Nuligi" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Konservi ŝanĝojn" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Konservi" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "Ŝanĝado de pasvorto de %(username)s" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Konservi" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -698,14 +982,14 @@ msgstr "Priredaktado de %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Ŝanĝado de kontagordoj de %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Ŝanĝi la pasvorton" - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Forigi mian konton." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -717,6 +1001,36 @@ msgstr "Redaktado de %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Redaktado de l’profilo 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 "" + +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "antaŭ %(formatted_time)s" + +#: 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 @@ -727,8 +1041,7 @@ msgstr "Dosieroj kun etikedo: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Elŝuti" @@ -752,7 +1065,7 @@ msgid "" msgstr "Vi povas akiri modernan TTT-legilon, kapablan \n\tsonigi la registraĵon ĉe \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "originalan dosieron" @@ -761,6 +1074,10 @@ msgstr "originalan dosieron" msgid "WebM file (Vorbis codec)" msgstr "WebMan dosieron (kun Vorbisa kodaĵo)" +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +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 @@ -772,47 +1089,39 @@ msgstr "WebMan dosieron (kun Vorbisa kodaĵo)" msgid "Image for %(media_title)s" msgstr "Bildo de «%(media_title)s»" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "PDF-dosiero" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Deantaŭe" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "Desupre" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Deflanke" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Elŝuti la modelon" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Informaranĝo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Alto de la objekto" @@ -831,8 +1140,8 @@ msgid "" msgstr "Vi povas elŝuti modernan TTT-legilon, kapablan \n montri la filmon, de \n http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "la WebM-dosieron (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -858,11 +1167,6 @@ msgstr "%(collection_title)s de %(username)s" msgid "Edit" msgstr "Ŝanĝi" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Forigi" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -917,29 +1221,22 @@ msgstr "Dosieroj de %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Просмотр файлов пользователя %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Aldoni komenton" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Aldoni ĉi tiun komenton" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "antaŭ %(formatted_time)s" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Aldonita" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Kreita" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1098,26 +1395,34 @@ msgstr "Markita per" msgid "Could not read the image file." msgstr "Malsukcesis lego de la bildodosiero" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Oj!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Okazis eraro" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1154,10 +1459,9 @@ msgstr "Komenti" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Vi povas uzi por markado la lingvon «Markdown»." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1179,77 +1483,80 @@ msgstr "-- Elektu --" msgid "Include a note" msgstr "Rimarko" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "komentis je via afiŝo" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Ve, komentado estas malebligita." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Oj, via komento estis malplena." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Via komento estis afiŝita!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Bonvolu kontroli vian enigitaĵon kaj reprovi." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Necesas elekti aŭ aldoni kolekton" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "«%s» jam estas en la kolekto «%s»" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "«%s» estis aldonita al la kolekto «%s»" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Vi forigis la dosieron." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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:296 +#: mediagoblin/user_pages/views.py:321 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:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Vi forigis la dosieron el la kolekto." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 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:382 +#: mediagoblin/user_pages/views.py:407 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:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Vi forigis la kolekton «%s»" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 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:430 +#: mediagoblin/user_pages/views.py:455 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 c5e50f53b45560f8a971e82a418bf21653067547..85015ad9a49a9bf9bd816beeeac5617c82ab75b7 100644 GIT binary patch delta 10465 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 delta 5142 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 diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po index 8c2f046f..efb19196 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po @@ -19,9 +19,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-06-02 21:23+0000\n" -"Last-Translator: larjona \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -30,250 +30,280 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Nombre de usuario" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Contraseña" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Dirección de correo electrónico" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Nombre de usuario o correo electrónico" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Nombre de usuario o email" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Nombre de usuario o correo electrónico inválido." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Este campo no acepta direcciones de correo." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "Este campo requiere una dirección de correo." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Lo sentimos, el registro está deshabilitado en este momento." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Nombre de usuario o email" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Nombre de usuario o correo electrónico inválido." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Este campo no acepta direcciones de correo." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Este campo requiere una dirección de correo." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Lo sentimos, ya existe un usuario con ese nombre." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "Lo sentimos, ya existe un usuario con esa dirección de email." -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Tu dirección de correo electrónico ha sido verificada. ¡Ahora puedes iniciar sesión, editar tu perfil, y enviar imágenes!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "La clave de verificación o la identificación de usuario son incorrectas" -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "¡Debes iniciar sesión para que podamos saber a quién le enviamos el correo electrónico!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "¡Ya has verificado tu dirección de correo!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Se reenvió tu correo electrónico de verificación." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Si esa dirección de correo (¡sensible a mayúsculas y minúsculas!) está registrada, se ha enviado un correo con instrucciones para cambiar la contraseña." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "No se ha podido encontrar a nadie con ese nombre de usuario." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Un correo electrónico ha sido enviado con instrucciones sobre cómo cambiar tu contraseña." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "No se pudo enviar un correo electrónico de recuperación de contraseñas porque tu nombre de usuario está inactivo o la dirección de su cuenta de correo electrónico no ha sido verificada." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Ahora tu puedes iniciar sesión usando tu nueva contraseña." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Título" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Descripción de esta obra" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Puedes usar\n \n Markdown para el formato." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Etiquetas" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Separa las etiquetas por comas." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Ficha" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "La ficha no puede estar vacía" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licencia" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Sitio web" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "La dirección contiene errores" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Preferencias de licencia" - -#: mediagoblin/edit/forms.py:69 -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:71 +#: mediagoblin/edit/forms.py:65 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:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Preferencias de licencia" + +#: mediagoblin/edit/forms.py:75 +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:87 msgid "The title can't be empty" msgstr "El título no puede estar vacío" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descripción de esta colección" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Vieja contraseña" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "Escriba la anterior contraseña para demostrar que esta cuenta te pertenece." -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nueva contraseña" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Contraseña" + +#: mediagoblin/edit/forms.py:122 +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 "Una entrada con esa ficha ya existe para este usuario." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "¡Has añadido el adjunto %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Sólo puedes editar tu propio perfil." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Los cambios de perfil fueron salvados" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "las configuraciones de cuenta fueron salvadas" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Necesitas confirmar el borrado de tu cuenta." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "¡Ya tienes una colección llamada \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 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:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "Estás editando la colección de otro usuario/a. Ten cuidado." -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Contraseña incorrecta" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Se ha cambiado la contraseña correctamente" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "No se puede enlazar al tema... no hay un tema seleccionado\n" @@ -308,19 +338,62 @@ 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:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Lo sentidos, No soportamos ese tipo de archivo :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: 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)" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Ha fallado la conversión de vídeo" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "comentó tu publicación" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Nombre de usuario" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Dirección de correo electrónico" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Nombre de usuario o correo electrónico" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Locación" @@ -384,7 +457,7 @@ msgstr "La URI para redireccionar las aplicaciones, este campo es requer msgid "This field is required for public clients" msgstr "Este campo es requerido para los clientes públicos" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "¡El cliente {0} ha sido registrado!" @@ -397,59 +470,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Añadir " -#: mediagoblin/processing/__init__.py:193 +#: 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 "Borrar" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Iniciar sesión" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "¡Hubo un fallo al iniciar sesión!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Archivo inválido para el formato seleccionado." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Archivo" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Debes proporcionar un archivo." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "¡Yuju! ¡Enviado!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "¡Colección \"%s\" añadida!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "¡Verifica tu email!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "cerrar sesión" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Iniciar sesión" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "Cuenta de %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Cambiar la configuración de la cuenta" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -457,16 +680,16 @@ msgstr "Cambiar la configuración de la cuenta" msgid "Media processing panel" msgstr "Panel de procesamiento de contenido" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Cerrar sesión" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Añadir contenido" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Crear nueva colección" @@ -513,6 +736,59 @@ msgstr "Últimos 10 envíos con éxito" msgid "No processed entries, yet!" msgstr "¡Aún no hay entradas procesadas!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -545,19 +821,15 @@ msgid "" "a happy goblin!" msgstr "Hola %(username)s,\n\nPara cambiar tu contraseña de GNU MediaGoblin, abre la siguiente URL en un navegador:\n\n%(verification_url)s \n\nSi piensas que esto es un error, simplemente ignora este mensaje y sigue siendo un duende feliz." -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "¡Hubo un fallo al iniciar sesión!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "¿No tienes una cuenta?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "¡Crea una aquí!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "¿Olvidaste tu contraseña?" @@ -566,7 +838,7 @@ msgstr "¿Olvidaste tu contraseña?" msgid "Create an account!" msgstr "¡Crea una cuenta!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Crear" @@ -600,7 +872,7 @@ msgstr "Publicado bajo la MediaGoblin, un extraordinario programa libre para alojar, gestionar y compartir contenido multimedia." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 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:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "Crear una cuenta en este sitio\n o\n Instalar MediaGoblin en tu propio servidor" +"\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 @@ -640,13 +917,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Adjuntos" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Agregar adjunto" @@ -663,22 +940,29 @@ msgstr "Cancelar" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Guardar 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 "" + +#: mediagoblin/templates/mediagoblin/edit/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Guardar" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "Cambiando la contraseña de %(username)s" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Guardar" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -706,14 +990,14 @@ msgstr "Editando %(media_title)s " msgid "Changing %(username)s's account settings" msgstr "Cambio de %(username)s la configuración de la cuenta " -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Cambiar tu contraseña." - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Borrar mi cuenta" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -725,6 +1009,36 @@ msgstr "Editando %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Editando el 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 "" + +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "hace %(formatted_time)s" + +#: 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 @@ -735,8 +1049,7 @@ msgstr "Contenido 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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Descargar" @@ -760,7 +1073,7 @@ msgid "" msgstr "Tú puedes obtener un navegador más moderno que \n\tpueda reproducir el audio \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Archivo original" @@ -769,6 +1082,10 @@ msgstr "Archivo original" msgid "WebM file (Vorbis codec)" msgstr "Archivo 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 @@ -780,47 +1097,39 @@ msgstr "Archivo WebM (códec Vorbis)" msgid "Image for %(media_title)s" msgstr "Imágenes para %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "Fichero PDF" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "Alternar Rotar" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "Perspectiva" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Frente" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "Arriba" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Lateral" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Descargar modelo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Formato de Archivo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Altura del Objeto" @@ -839,8 +1148,8 @@ msgid "" msgstr "¡Puedes conseguir un navegador moderno \n que pueda reproducir este vídeo en \n http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "Archivo WebM (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -866,11 +1175,6 @@ msgstr "%(collection_title)s por %(username)s" msgid "Edit" msgstr "Editar" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Borrar" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -925,29 +1229,22 @@ msgstr "Contenido de %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Explorando contenido de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Añadir un comentario" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Añade un comentario " -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "hace %(formatted_time)s" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Agregado" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Creado" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1106,26 +1403,34 @@ msgstr "Marcado con" msgid "Could not read the image file." msgstr "No se pudo leer el archivo de imagen." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "¡Ups!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Ha ocurrido un error" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Operación no permitida" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "¡Lo siento Dave, no puedo permitir que hagas eso!

    Has intentado realizar una operación no permitida. ¿Has vuelto a intentar borrar todas las cuentas de usuario?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1162,10 +1467,9 @@ msgstr "Comentario" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Puedes usar Markdown para el formato." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1187,77 +1491,80 @@ msgstr "-- Selecciona --" msgid "Include a note" msgstr "Incluir una nota" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "comentó tu publicación" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Lo siento, los comentarios están desactivados." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Ups, tu comentario estaba vacío." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "¡Tu comentario ha sido publicado!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Por favor, revisa tus entradas e inténtalo de nuevo." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Tienes que seleccionar o añadir una colección" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "%s\" ya está en la colección \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" añadido a la colección \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Eliminaste el contenido" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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:296 +#: mediagoblin/user_pages/views.py:321 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:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Borraste el ítem de la colección." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 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:382 +#: mediagoblin/user_pages/views.py:407 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:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Borraste la colección \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 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:430 +#: mediagoblin/user_pages/views.py:455 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/fa/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo index 3422ad979e1993332f2f17acc88b7fba2178ed71..028c52ba1e6cfa8516953e96bff9197d6b0dadf6 100644 GIT binary patch literal 31294 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 diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po index 08e73e1a..cdd0844c 100644 --- a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+0000\n" "Last-Translator: cwebber \n" "Language-Team: Persian (http://www.transifex.com/projects/p/mediagoblin/language/fa/)\n" "MIME-Version: 1.0\n" @@ -19,250 +19,280 @@ msgstr "" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "نام کاربری" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "گذرواٰژه" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "آدرس ایمیل" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "متاسفانه،ثبتنام به طور موقت غیر فعال است." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "متاسفانه کاربری با این نام کاربری وجود دارد." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "این کد تاییدیه یا شناسه کاربری صحیح نیست." -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "ایمیل تاییدیه باز ارسال شد." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "عنوان" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "برچسب" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "زندگینامه" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "وبسایت" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "گذرواٰژه" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "شما در حال ویرایش رسانه کاربر دیگری هستید.با احتیاط عمل کنید" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "شما در حال ویرایش نمایه کاربر دیگری هستید.با احتیاط عمل کنید." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -297,19 +327,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "نام کاربری" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -373,7 +446,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -386,59 +459,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "فایلی نا معتبر برای نوع رسانه داده شده." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "فایل" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "شما باید فایلی ارايه بدهید." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "هورا!ثبت شد!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "ورود" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -446,16 +669,16 @@ msgstr "" msgid "Media processing panel" msgstr "پنل رسیدگی به رسانه ها" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -502,6 +725,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -534,19 +810,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "ورود با خطا انجام شد!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "آیا حساب کاربری ندارید؟" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "در اینجا یکی بسازید!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -555,7 +827,7 @@ msgstr "" msgid "Create an account!" msgstr "ساخت یک حساب کاربری!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "ساختن" @@ -589,7 +861,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -599,22 +871,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -629,13 +906,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -652,22 +929,29 @@ msgstr "انصراف" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -695,12 +979,12 @@ msgstr "ویرایش %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -714,6 +998,36 @@ msgstr "" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -724,8 +1038,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -749,7 +1062,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -758,6 +1071,10 @@ msgstr "" 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 @@ -769,47 +1086,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -828,7 +1137,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -855,11 +1164,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,29 +1218,22 @@ msgstr "%(username)s's رسانه های" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1095,26 +1392,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "اوه" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1151,9 +1456,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1176,77 +1480,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 7bc860a0fd5b08527090f0b09bf279bdfbdfee9f..034a3ddeda1a3ccebe82475b84c963d0fd8e9aa5 100644 GIT binary patch delta 10440 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 SZ_{*rc~c7Q<2r52xqks{(J>tW diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po index 6103c439..7ce92b58 100644 --- a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po @@ -17,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+0000\n" "Last-Translator: cwebber \n" "Language-Team: French (http://www.transifex.com/projects/p/mediagoblin/language/fr/)\n" "MIME-Version: 1.0\n" @@ -28,250 +28,280 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Nom d'utilisateur" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Mot de passe" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Adresse e-mail" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Nom d'utilisateur ou email" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Nom d'utilisateur ou adresse de courriel invalide." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "L'inscription n'est pas activée sur ce serveur, désolé." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Nom d'utilisateur ou email" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Nom d'utilisateur ou adresse de courriel invalide." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Un utilisateur existe déjà avec ce nom, désolé." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "Désolé, il existe déjà un utilisateur ayant cette adresse e-mail." -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Votre adresse e-mail a bien été vérifiée. Vous pouvez maintenant vous identifier, modifier votre profil, et soumettre des images !" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "La clé de vérification ou le nom d'utilisateur est incorrect." -#: mediagoblin/auth/views.py:206 +#: 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 !" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Votre adresse e-mail a déjà été vérifiée !" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "E-mail de vérification renvoyé." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Nom d'utilisateur introuvable." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 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é" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 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." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Vous pouvez maintenant vous connecter avec votre nouveau mot de passe." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titre" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Descriptif pour ce travail" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Vous pouvez utiliser\n \n Markdown pour le formattage." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Tags" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Séparez les champs avec des virgules." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Légende" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "La légende ne peut pas être laissée vide." -#: mediagoblin/edit/forms.py:40 +#: 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" -#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licence" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Site web" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Cette adresse contiens des erreurs" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: 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" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "Le titre ne peut être vide" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Description de cette collection" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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." -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Ancien mot de passe." -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nouveau mot de passe" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Mot de passe" + +#: mediagoblin/edit/forms.py:122 +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 "Une entrée existe déjà pour cet utilisateur avec la même légende." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Vous avez ajouté la pièce jointe %s !" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Vous ne pouvez modifier que votre propre profil." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Les changements apportés au profile ont étés sauvegardés" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Les changements des préférences du compte ont étés sauvegardés" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Vous devez confirmer la suppression de votre compte." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: 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\" !" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "Vous éditez la collection d'un autre utilisateurs. Faites attention." -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Mauvais mot de passe" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: 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" @@ -306,19 +336,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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 :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "L'encodage de la vidéo à échoué" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "a commenté votre post" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Nom d'utilisateur" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Adresse e-mail" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Position" @@ -382,7 +455,7 @@ msgstr "L'URI de redirection pour l'application, ce champ est requis%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Changer les paramètres du compte" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -455,16 +678,16 @@ msgstr "Changer les paramètres du compte" msgid "Media processing panel" msgstr "Panneau pour le traitement des médias" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Ajouter des médias" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Créer une nouvelle collection" @@ -511,6 +734,59 @@ msgstr "10 derniers envois terminés" msgid "No processed entries, yet!" msgstr "Aucune entrée traitée jusqu'à présent !" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -543,19 +819,15 @@ msgid "" "a happy goblin!" msgstr "Bonjour %(username)s,\n\nPour changer votre mot de passe GNU MediaGoblin, ouvrez l'URL suivante dans \nvotre navigateur internet :\n\n%(verification_url)s\n\nSi vous pensez qu'il s'agit d'une erreur, ignorez simplement cet email et restez\nun goblin heureux !" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "La connexion a échoué!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Pas encore de compte ?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Créez-en un ici !" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Vous avez oublié votre mot de passe ?" @@ -564,7 +836,7 @@ msgstr "Vous avez oublié votre mot de passe ?" msgid "Create an account!" msgstr "Créer un compte !" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Créer" @@ -598,7 +870,7 @@ msgstr "Disponible sous la licence MediaGoblin, un logiciel d'hébergement de média extraordinairement génial." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -638,13 +915,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "Éditer les pièces jointes de %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Pièces jointes" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Ajouter une pièce jointe" @@ -661,22 +938,29 @@ msgstr "Annuler" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Enregistrer les modifications" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -704,12 +988,12 @@ msgstr "Modification de %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Changement des préférences du compte de %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -723,6 +1007,36 @@ msgstr "Modification de %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Modification du profil 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 "" + +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -733,8 +1047,7 @@ msgstr "Médias taggés avec : %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Télécharger" @@ -758,7 +1071,7 @@ msgid "" msgstr "Vous pouvez obtenir un navigateur à jour capable de lire cette vidéo sur \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Fichier original" @@ -767,6 +1080,10 @@ msgstr "Fichier original" msgid "WebM file (Vorbis codec)" msgstr "fichier WebM (codec Vorbis)" +#: 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 @@ -778,47 +1095,39 @@ msgstr "fichier WebM (codec Vorbis)" msgid "Image for %(media_title)s" msgstr "Image de %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -837,8 +1146,8 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "fichier WebM (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -864,11 +1173,6 @@ msgstr "%(collection_title)s de %(username)s" msgid "Edit" msgstr "Éditer" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Effacer" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -923,29 +1227,22 @@ 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:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Ajouter un commentaire" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Ajouter ce commentaire" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1104,26 +1401,34 @@ msgstr "Taggé avec" msgid "Could not read the image file." msgstr "Impossible de lire l'image." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Zut !" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Une erreur est survenue" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Opération non autorisée" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "Je regrette Dave, cela m'est malheureusement impossible !

    Vous avez essayé d'effectuer une action pour laquelle vous n'avez pas de permission. Avez-vous tenté de supprimer tous les comptes utilisateur à nouveau ?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1160,10 +1465,9 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Vous pouvez utilisez les Balises pour la mise en page." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1185,77 +1489,80 @@ msgstr "-- Sélectionner --" msgid "Include a note" msgstr "Inclure une note" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "a commenté votre post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Oups, votre commentaire était vide." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Votre commentaire a été posté !" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Veuillez vérifier vos entrées et réessayer." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Vous devez sélectionner ou ajouter une collection" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" est déjà dans la collection \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" as été ajouté à la collection \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Vous avez supprimé le media." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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." -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 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." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Vous avez supprimé cet élément de la collection." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 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." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 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." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Vous avez supprimé la collection \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 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" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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." diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo index 09412b0a9eb53eef86fcacccb355d6cd1d30fd4f..205fe4be01fce80fee4f8adaa8b8f631256e8acd 100644 GIT binary patch delta 10556 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 diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po index 4a5c2b52..7925c1a2 100644 --- a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-06-01 07:11+0000\n" -"Last-Translator: GenghisKhan \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -21,250 +21,280 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "שם משתמש" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "סיסמה" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "כתובת דוא״ל" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "שם משתמש או דוא״ל" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "שם משתמש או דוא״ל" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "שם משתמש או דוא״ל שגוי." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "שדה זה לא לוקח כתובות דוא״ל." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "שדה זה מצריך כתובת דוא״ל." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "צר לי, רישום הינו מנוטרל על שרת זה." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "שם משתמש או דוא״ל" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "שם משתמש או דוא״ל שגוי." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "שדה זה לא לוקח כתובות דוא״ל." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "שדה זה מצריך כתובת דוא״ל." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "צר לי, משתמש עם שם זה כבר קיים." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "צר לי, משתמש עם דוא״ל זה כבר קיים." -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "מפתח האימות או זהות משתמש הינם שגויים" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "כבר אימתת את כתובת הדוא״ל שלך!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "שלח שוב את דוא״ל האימות שלך." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "במידה וכתובת הדוא״ל הזו (תלוי רישיות!) רשומה דוא״ל נשלח עם הוראות בנוגע לכיצד לשנות את סיסמתך." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "לא היה ניתן למצוא מישהו עם שם משתמש זה." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "דוא״ל נשלח בצירוף הוראות בנוגע לכיצד ניתן לשנות את סיסמתך." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "לא היה ניתן לשלוח דוא״ל לשחזור סיסמה מאחר ושם המשתמש שלך אינו פעיל או שכתובת הדוא״ל של חשבונך לא אומתה." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "כעת ביכולתך להתחבר באמצעות סיסמתך החדשה." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "כותרת" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "תיאור של מלאכה זו" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "ביכולתך להשתמש בתחביר\n \n Markdown לעיצוב." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "תגיות" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "הפרד תגיות בעזרת פסיקים." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "חשופית" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "החשופית לא יכולה להיות ריקה" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "רשיון" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "ביו" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "אתר רשת" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "כתובת זו מכילה שגיאות" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "עדיפות רשיון" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "זה יהיה הרשיוןן המשתמט (ברירת מחדל) שלך בטופסי העלאה." - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "שלח לי דוא״ל כאשר אחרים מגיבים על המדיה שלי" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "הכותרת לא יכולה להיות ריקה" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "תיאור אוסף זה" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "אזור הכותרת של כתובת אוסף זה. לרוב אין הכרח לשנות את חלק זה." -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "סיסמה ישנה" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "הזן את סיסמתך הישנה כדי להוכיח שאתה הבעלים של חשבון זה." -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "סיסמה חדשה" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "סיסמה" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "אתה עורך מדיה של משתמש אחר. המשך בזהירות." -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "הוספת את התצריף %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "באפשרותך לערוך רק את הדיוקן שלך." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "אתה עורך דיוקן של משתמש. המשך בזהירות." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "שינויי דיוקן נשמרו" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "הגדרות חשבון נשמרו" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "עליך לאמת את המחיקה של חשבונך." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "כבר יש לך אוסף שקרוי בשם \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "אוסף עם חשופית זו כבר קיים עבור משתמש זה." -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "אתה עורך אוסף של משתמש אחר. המשך בזהירות." -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "סיסמה שגויה" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "סיסמתך שונתה בהצלחה" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "לא ניתן לקשר אל מוטיב... לא הוגדר מוטיב\n" @@ -299,19 +329,62 @@ msgid "" "domain." msgstr "עוגיית CSRF לא נוכחת. זה קרוב לוודאי נובע משום חוסם עוגייה או משהו בסגנון.
    הבטח קביעה של עוגיות עבור תחום זה." -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv נכשל לפעול, בדוק קובץ יומן" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "המרת וידאו נכשלה" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "שם משתמש" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "מיקום" @@ -375,7 +448,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "שדה זה הינו דרוש עבור לקוחות פומביים" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "הלקוח {0} נרשם!" @@ -388,59 +461,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "הוסף" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "ניתן קובץ שגוי עבור טיפוס מדיה." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "קובץ" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "עליך לספק קובץ." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "הידד! נשלח!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "אוסף \"%s\" התווסף!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "אמת את הדוא״ל שלך!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "התנתקות" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "התחברות" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "החשבון של %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "שנה הגדרות חשבון" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -448,16 +671,16 @@ msgstr "שנה הגדרות חשבון" msgid "Media processing panel" msgstr "לוח עיבוד מדיה" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "התנתקות" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "הוספת מדיה" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "צור אוסף חדש" @@ -504,6 +727,59 @@ msgstr "10 העלאות מוצלחות אחרונות" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -536,19 +812,15 @@ msgid "" "a happy goblin!" msgstr "שלום %(username)s,\n\nבכדי לשנות את סיסמתך אצל GNU MediaGoblin, עליך לפתוח את הכתובת הבאה \nבתוך דפדפן הרשת שלך:\n\n%(verification_url)s\n\nבמידה ואתה חושב שמדובר בשגיאה, פשוט התעלם מן דוא״ל זה והמשך להיות\nגובלין מאושר!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "התחברות נכשלה!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "אין לך חשבון עדיין?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "צור חשבון כאן!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "שכחת את סיסמתך?" @@ -557,7 +829,7 @@ msgstr "שכחת את סיסמתך?" msgid "Create an account!" msgstr "צור חשבון!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "צור" @@ -591,7 +863,7 @@ msgstr "משוחרר תחת הרשיון MediaGoblin, חתיכת תוכנת אירוח מדיה יוצאת מן הכלל." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "צור חשבון באתר זה\n או\n התקן את MediaGoblin על שרתך" +"\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 @@ -631,13 +908,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "תצריפים" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "הוספת תצריף" @@ -654,22 +931,29 @@ msgstr "ביטול" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "שמור" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "משנה כעת את הסיסמה של %(username)s'" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "שמור" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -697,14 +981,14 @@ msgstr "ערוך %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "שינוי הגדרות חשבון עבור %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "שנה את סיסמתך." - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "מחק את החשבון שלי" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -716,6 +1000,36 @@ msgstr "עריכת %(collection_title)s" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "מלפני %(formatted_time)s" + +#: 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 @@ -726,8 +1040,7 @@ 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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "הורד" @@ -751,7 +1064,7 @@ msgid "" msgstr "ביכולתך להשיג דפדפן רשת מודרני \n\tשכן מסוגל לנגן את אודיו זה אצל \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "קובץ מקורי" @@ -760,6 +1073,10 @@ msgstr "קובץ מקורי" msgid "WebM file (Vorbis codec)" msgstr "קובץ WebM (קודק Vorbis)" +#: 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 @@ -771,47 +1088,39 @@ msgstr "קובץ WebM (קודק Vorbis)" msgid "Image for %(media_title)s" msgstr "תמונה עבור %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "קובץ PDF" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "החלף סיבוב" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "נקודת מבט" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "לפנים" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "ראש" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "צד" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "הורד מודל" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "פורמט קובץ" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "גובה אובייקט" @@ -830,8 +1139,8 @@ msgid "" msgstr "ביכולתך להשיג דפדפן רשת מודרני \n שכן מסוגל לנגן את וידאו זה אצל \n http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "קובץ WebM ‫(640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -857,11 +1166,6 @@ msgstr "%(collection_title)s מאת %(username)s" msgid "Edit" msgstr "ערוך" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "מחק" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -916,29 +1220,22 @@ msgstr "המדיה של %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ עיון במדיה מאת %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "הוסף תגובה" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "הוסף את תגובה זו" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "מלפני %(formatted_time)s" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "התווסף" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "נוצר" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1097,26 +1394,34 @@ msgstr "מתויגת עם" msgid "Could not read the image file." msgstr "לא היה ניתן לקרוא את קובץ התמונה." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "אופס!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "אירעה שגיאה" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "פעולה לא מורשית" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1153,10 +1458,9 @@ msgstr "תגובה" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "ביכולתך לעשות שימוש בתחביר Markdown לעיצוב." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1178,77 +1482,80 @@ msgstr "-- בחר --" msgid "Include a note" msgstr "הכללת פתק" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "הגיב/ה על פרסומך" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "מצטערים, תגובות מנוטרלות." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "אופס, תגובתך היתה ריקה." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "תגובתך פורסמה!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "אנא בדוק את רשומותיך ונסה שוב." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "עליך לבחור או להוסיף אוסף" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" כבר קיים באוסף \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" התווסף אל האוסף \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "מחקת את מדיה זו." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "המדיה לא נמחקה מכיוון שלא סימנת שאתה בטוח." -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "בחרת למחוק מדיה של משתמש אחר. המשך בזהירות." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "מחקת את הפריט מן אוסף זה." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "הפריט לא הוסר מכיוון שלא סימנת שאתה בטוח." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "בחרת למחוק פריט מן אוסף של משתמש אחר. המשך בזהירות." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "מחקת את האוסף \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "האוסף לא הוסר מכיוון שלא סימנת שאתה בטוח." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "בחרת למחוק אוסף של משתמש אחר. המשך בזהירות." diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo index d22f6ee62ee08e646cde4817937d168aaf8876c7..51c2fba029140caa5e04ab7229ae2dcbad38ddee 100644 GIT binary patch literal 30474 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 delta 4863 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 B*02Bo diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po index c9f814fc..8151c9e2 100644 --- a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po @@ -4,13 +4,13 @@ # # Translators: # Aleksandr Brezhnev , 2012 -# Emilio Sepúlveda , 2011 +# Emilio Sepúlveda, 2011 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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,250 +20,280 @@ msgstr "" "Language: ia\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Nomine de usator" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Contrasigno" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Adresse de e-posta" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titulo" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Etiquettas" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Sito web" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Contrasigno" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -298,19 +328,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Nomine de usator" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Adresse de e-posta" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -374,7 +447,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -387,59 +460,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Initiar session" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "File" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Initiar session" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +670,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -503,6 +726,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +811,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -556,7 +828,7 @@ msgstr "" msgid "Create an account!" msgstr "Crear un conto!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -590,7 +862,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -600,22 +872,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -630,13 +907,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -653,22 +930,29 @@ msgstr "Cancellar" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,12 +980,12 @@ msgstr "" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -715,6 +999,36 @@ msgstr "" msgid "Editing %(username)s's profile" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -725,8 +1039,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -750,7 +1063,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -759,6 +1072,10 @@ msgstr "" 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 @@ -770,47 +1087,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -829,7 +1138,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -856,11 +1165,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1219,22 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1393,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,9 +1457,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1177,77 +1481,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 596ab843d571958cb9cd98b2d8b9a4e6f22d68ee..35db081438b50bee81bbfb3b76495638bbbd6cec 100644 GIT binary patch delta 10973 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 a?CdFH?H>Bk%&xyz6#Je9g?8_T*Zv!>s;G$o delta 5496 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 GeDE(tr{U}X diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po index 77896b87..791ed227 100644 --- a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po @@ -3,15 +3,17 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: +# Sveinn í Felli , 2013 # tryggvib , 2012 # tryggvib , 2013 +# tryggvib , 2012-2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-06-05 22:51+0000\n" -"Last-Translator: tryggvib \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -20,253 +22,283 @@ msgstr "" "Language: is_IS\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Notandanafn" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Lykilorð" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Netfang" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Notandanafn eða tölvupóstur" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Notandanafn eða netfang" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Ógilt notandanafn eða netfang" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Þessi reitur tekur ekki við netföngum." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "í þennan reit verður að slá inn netfang." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Því miður er nýskráning ekki leyfð á þessu svæði." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Notandanafn eða netfang" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Ógilt notandanafn eða netfang" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Þessi reitur tekur ekki við netföngum." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "í þennan reit verður að slá inn tölvupóstfang." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Því miður er nú þegar til notandi með þetta nafn." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Netfangið þitt hefur verið staðfest. Þú getur núna innskráð þig, breytt kenniskránni þinni og sent inn efni!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Staðfestingarlykillinn eða notendaauðkennið er rangt" -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Þú verður að hafa innskráð þig svo við vitum hvert á að senda tölvupóstinn!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Þú hefur staðfest netfangið þitt!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Endursendi staðfestingartölvupóst" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Ef þetta netfang (há- og lágstafir skipta máli) er skráð hjá okkur hefur tölvupóstur verið sendur með leiðbeiningum um hvernig þú getur breytt lykilorðinu þínu." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Gat ekki fundið neinn með þetta notandanafn." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Tölvupóstur hefur verið sendur með leiðbeiningum um hvernig þú átt að breyta lykilorðinu þínu." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Gat ekki sent tölvupóst um endurstillingu lykilorðs því notandanafnið þitt er óvirkt eða þá að þú hefur ekki staðfest netfangið þitt." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Þú getur núna innskráð þig með nýja lykilorðinu þínu." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titill" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Lýsing á þessu efni" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Þú getur notað\n \n Markdown til að stílgera textann." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Efnisorð" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Aðskildu efnisorðin með kommum." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Vefslóðarormur" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Vefslóðarormurinn getur ekki verið tómur" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" -msgstr "Leyfi" +msgstr "Notkunarleyfi" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Lýsing" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Vefsíða" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Þetta netfang inniheldur villur" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Leyfiskjörstilling" - -#: mediagoblin/edit/forms.py:69 -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:71 +#: mediagoblin/edit/forms.py:65 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:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Stilling á notkunarleyfi" + +#: mediagoblin/edit/forms.py:75 +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:87 msgid "The title can't be empty" msgstr "Þessi titill getur verið innihaldslaus" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Lýsing á þessu albúmi" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Gamla lykilorðið" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nýtt lykilorð" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Lykilorð" + +#: mediagoblin/edit/forms.py:122 +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 "Efni merkt með þessum vefslóðarormi er nú þegar til fyrir þennan notanda." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Þú bættir við viðhenginu %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Þú getur bara breytt þinni eigin kenniskrá." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Breytingar á kenniskrá vistaðar" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Aðgangsstillingar vistaðar" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 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:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Þú hefur nú þegar albúm sem kallast \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 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:329 +#: mediagoblin/edit/views.py:336 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:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" -msgstr "Vitlaust lykilorð" +msgstr "Rangt lykilorð" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Það tókst að breyta lykilorðinu þínu" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" -msgstr "Get ekki hlekkjað í þema... ekkert þema stillt\n" +msgstr "Get ekki tengt þema... ekkert þema stillt\n" #: mediagoblin/gmg_commands/assetlink.py:73 msgid "No asset directory for this theme\n" @@ -274,12 +306,12 @@ msgstr "Engin eignamappa fyrir þetta þema\n" #: mediagoblin/gmg_commands/assetlink.py:76 msgid "However, old link directory symlink found; removed.\n" -msgstr "Fann samt gamlan táknrænan tengil á möppu; fjarlægður.\n" +msgstr "Fann samt gamlan tákntengil á möppu; fjarlægður.\n" #: mediagoblin/gmg_commands/assetlink.py:112 #, python-format msgid "Could not link \"%s\": %s exists and is not a symlink\n" -msgstr "Gat ekki tengt \"%s\": %s er til og er ekki sýndartengill\n" +msgstr "Gat ekki tengt \"%s\": %s er til og er ekki tákntengill\n" #: mediagoblin/gmg_commands/assetlink.py:119 #, python-format @@ -296,20 +328,63 @@ 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 smygildi ekki til staðar. Þetta er líklegast orsakað af smygildishindrara eða einhverju þess háttar.
    Athugaðu hvort þú leyfir ekki alveg örugglega smygildi fyrir þetta lén." +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:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Ég styð því miður ekki þessa gerð af skrám :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: 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á" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" -msgstr "Myndbandsþverkótun mistókst" +msgstr "Þverkóðun myndskeiðs mistókst" + +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "skrifaði athugasemd við færsluna þína" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Notandanafn" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Tölvupóstfang" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Notandanafn eða tölvupóstur" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" @@ -330,7 +405,7 @@ msgstr "Banna" #: mediagoblin/plugins/oauth/forms.py:34 msgid "Name" -msgstr "Nafn" +msgstr "Heiti" #: mediagoblin/plugins/oauth/forms.py:35 msgid "The name of the OAuth client" @@ -374,7 +449,7 @@ msgstr "Áframsendingarvefslóðin fyrir forritin, þessi reitur\n er msgid "This field is required for public clients" msgstr "Þessi reitur er nauðsynlegur fyrir opinbera biðlara" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "Biðlarinn {0} hefur verið skráður!" @@ -387,59 +462,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Bæta við" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Eyða" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Innskrá" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Mistókst að skrá þig inn." + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Ógild skrá gefin fyrir þessa margmiðlunartegund." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Skrá" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Þú verður að gefa upp skrá." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Jibbí jei! Það tókst að senda inn!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "Albúmið \"%s\" var búið til!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Staðfestu netfangið þitt!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "útskrá" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Innskrá" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "Notandaaðgangur: %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Breyta stillingum notandaaðgangs" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +672,16 @@ msgstr "Breyta stillingum notandaaðgangs" msgid "Media processing panel" msgstr "Margmiðlunarvinnsluskiki" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Skrá út" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Senda inn efni" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Búa til nýtt albúm" @@ -503,6 +728,59 @@ msgstr "Síðustu 10 árangursríku innsendingarnar" msgid "No processed entries, yet!" msgstr "Ekkert fullunnið efni enn!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +813,15 @@ msgid "" "a happy goblin!" msgstr "Hæ %(username)s,\n\ntil að breyta GNU MediaGoblin lykilorðinu þínu opnar þú eftirfarandi vefslóð í \nvafranum þínum:\n\n%(verification_url)s\n\nEf þú heldur að það sé einhver vitleysa í gangi husnar þú bara þennan póst og heldur áfram að vera\nánægður durtur!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Mistókst að skrá þig inn." - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Ertu ekki með notendaaðgang?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Búðu til aðgang hérna!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Gleymdirðu lykilorðinu þínu?" @@ -556,7 +830,7 @@ msgstr "Gleymdirðu lykilorðinu þínu?" msgid "Create an account!" msgstr "Búðu til nýjan aðgang!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Búa til" @@ -590,7 +864,7 @@ msgstr "Gefið út undir MediaGoblin sem er ótrúlega frábær hugbúnaður til að geyma margmiðlunarefni." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "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:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "Búa til aðgang á þessari síðu\neða\nSettu upp þinn eigin margmiðlunarþjón" +"\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 @@ -630,13 +909,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Viðhengi" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Bæta við viðhengi" @@ -653,22 +932,29 @@ 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:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Vista breytingar" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Vista" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "Breyti lykilorði fyrir notandann: %(username)s" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Vista" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,14 +982,14 @@ msgstr "Breyti %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Breyti notandaaðgangsstillingum fyrir: %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Breyta lykilorðinu þínu." - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Eyða aðganginum mínum" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -715,6 +1001,36 @@ msgstr "Breyti %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Breyti kenniskrá notandans: %(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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "Fyrir %(formatted_time)s" + +#: 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 @@ -725,11 +1041,10 @@ msgstr "Efni merkt með: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" -msgstr "Sækja af Netinu" +msgstr "Sækja" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 msgid "Original" @@ -750,7 +1065,7 @@ msgid "" msgstr "Þú getur náð í nýlegan vafra sem \n\tgetur spilað hljóðskrár á \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Upphaflega skráin" @@ -759,6 +1074,10 @@ msgstr "Upphaflega skráin" msgid "WebM file (Vorbis codec)" msgstr "WebM skrá (Vorbis víxlþjöppun)" +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +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 @@ -770,47 +1089,39 @@ msgstr "WebM skrá (Vorbis víxlþjöppun)" msgid "Image for %(media_title)s" msgstr "Mynd fyrir %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "PDF skrá" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "Stilla snúning af eða á" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" -msgstr "Sjónhorf" +msgstr "Fjarvídd" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Framhlið" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "Toppur" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Hlið" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Hala niður líkani" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Skráarsnið" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Hæð hlutar" @@ -819,18 +1130,18 @@ msgid "" "Sorry, this video will not work because\n" " your web browser does not support HTML5 \n" " video." -msgstr "Því miður mun þetta myndband ekki virka því\n vafrinn þinn styður ekki HTML5 \n myndbönd." +msgstr "Því miður mun þetta myndskeið ekki virka því\n vafrinn þinn styður ekki HTML5 \n myndbönd." #: mediagoblin/templates/mediagoblin/media_displays/video.html:47 msgid "" "You can get a modern web browser that \n" " can play this video at \n" " http://getfirefox.com!" -msgstr "Þú getur náð í nýlegan vafra sem \n sem getur spilað myndbandið á \n http://getfirefox.com!" +msgstr "Þú getur náð í nýlegan vafra sem \n sem getur spilað myndskeiðið á \n http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "WebM skrá (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -856,11 +1167,6 @@ msgstr "%(collection_title)s sem %(username)s bjó msgid "Edit" msgstr "Breyta" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Eyða" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1221,22 @@ 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:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Bæta við athugasemd" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Senda inn þessa athugasemd" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "Fyrir %(formatted_time)s" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Bætt við" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Skapað" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1395,34 @@ msgstr "Merkt með" msgid "Could not read the image file." msgstr "Gat ekki lesið myndskrána." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Obbosí!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Villa kom upp" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Aðgerð ekki leyfileg" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "Fyrirgefðu Davíð. Ég get ekki leyft þér að gera þetta!

    Þú hefur reynt að framkvæma aðger sem þú hefur ekki leyfi til. Varstu að reyna að eyða öllum notendunum aftur?" +msgstr "Fyrirgefðu Davíð. Ég get ekki leyft þér að gera þetta!

    Þú reyndir að framkvæma aðgerð sem þú hefur ekki leyfi til að gera. Varstu að reyna að eyða öllum notendareikningum aftur?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,10 +1459,9 @@ msgstr "Athugasemd" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Þú getur notað Markdown til að stílgera textann" +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1177,77 +1483,80 @@ msgstr "-- Velja --" msgid "Include a note" msgstr "Bæta við minnispunktum" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "skrifaði athugasemd við færsluna þína" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Því miður, athugasemdir eru óvirkar." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Obbosí! Athugasemdin þín var innihaldslaus." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Athugasemdin þín var skráð!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." -msgstr "Vinsamlegast kíktu á innsendingarnar þínar og reyndu aftur." +msgstr "Vinsamlegast kíktu á færslurnar þínar og reyndu aftur." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Þú verður að velja eða búa til albúm" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" er nú þegar í albúminu \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" sett í albúmið \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Þú eyddir þessu efni." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Þú ert í þann mund að fara að eyða efni frá öðrum notanda. Farðu mjög varlega." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Þú tókst þetta efni úr albúminu." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "Þetta efni var ekki fjarlægt af því að þú merktir ekki við að þú værir viss." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Þú ert í þann mund að fara að eyða efni úr albúmi annars notanda. Farðu mjög varlega." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Þú eyddir albúminu \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "Þessu albúmi var ekki eytt vegna þess að þu merktir ekki við að þú værir viss." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Þú ert í þann mund að fara að eyða albúmi annars notanda. Farðu mjög varlega." diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo index 62575b62824640850203412533f503ec7a80ca0e..2f0001eecc9ca2b73e94f7833ae8e4058281037a 100644 GIT binary patch delta 10416 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 Qlc)dSQ!b#+qx#YR0Hw~kJOBUy delta 5070 zcmciDdvH|M9l-Ik8%Q9$@*p7rLT-Wq5+K=-2jLY+kUU5TfrRjgkSt`gtl4B^vP+C$ z*0cmf%lJ5;A{23aL`TO*w-wM%v1)N}s!-8kECq|kYFn#T1hESC`^&wZ>P-JGL-IN2 z=HB!8{eI`(moC|k{mvFVA2VdH;@>rXCh{|KnDqYp@4GQdCDFZ#$v7cODF@EOh3Lh2 zd>Y5&t2h?VTh}k53>g`%lnrBXB*x+UN(EIajagi<$0(JDd6s<5XwZ);Rt*YWr4?$wW~L9AD+W->>8(3D)Xxz8vIue^NX?7 zQJjV+(ZDMxAxlgkj5q}uLuF$GmSHYd<0S0ETkuhojU^|V6PBYaq#9+OO&FAwchiu8 z?m$`Dy+~HnK9mQZ!Xfw@l%2hbGSNw74)qyI?j!gm*Hck)UWAf@r6|v@McK#(lv-;U zPyE@Ox}6L1;31rf$53+lF-jyZA#~@q?9<;7Mily|Q z!x?x5Z^g8U#QzM9M_A5A+)AlW$MYy5jbv5HxDX4l0ekQP?8b5YQ5JR&$|-pYrMOO@ z?ED-~#!oR7qYN`rIVc;b3eu1e*P(>WgOY*{lpDHH{@#l+@E(-hKY@&?j-jOReUy}a zff5mWiW%w%l!?cpj58bM`K3ruRnSR8a<~m8fYdl^a*_26L6Q9^kFvvB~|Vf<8%7~X^ufp>8TUO@Js{(=?EuObYZEJ7J?BXX+>T0V(EHm6S0sKsya zHmqVac?F-uM*JRUVdG4*1~hJ=)#H|vv!_G3GE+Hj@P$H8K@Xu zB6D#L%8vagHL@FJ{9{2HF*N>;vXg5lp`Dm#4!jj*p#3NVzk(9#_i#9#LkaoEC=vP; z!|^MWNPcT+%QyQGDC3Pnc`lf1HRhlUScnU-3{TlOt0)UwU0^OKfCNkJ#f5kr<1u`W zc?yz{6RiqRinbo57CMpP)HWQ6J@~$y|2t_AP1Qo2SgbmTvVeDR9mbF!`Tn;ex2j9? z&8p7gCKu-WwJNzTM_FhU$~+Ai977{OLk8-z z+>H{ty(l^CM;YK4j=)-C<}|bp8R4O%DLWxwfHc~1eb9LUPD<}*b*~hV^FH!fiht}da)FF6{uh0 zb{tqj{QpM7Q=*g`YfH_A{2C>spP+$BW#&hz5PRr%p${*k)Jk)?c}i|WDXxPkJO2ev z#@{0KtUf}CoUzp0z``I6DUMPcj_Xj)ZTb=cljxl6`x0$*iOldu{ad3LjyBVil_o*;ZBs4 zwcs$^YPlUp(BF+R@jl#vuOJH!s`6!K(Rh$LQgi@cVy)1_i0&YPf*)C_C%NHhc}` z80Jv=lBx>il4?RJ+9N0nG*+44{}ni&{zc3|N1eIACQPT_XZb7+e*fR2;o=Y9RgKi(ev;j|o_VQdC})0RuP&ccKh@Kg#{T!VG*H*}S@nWmr>hzDEwAr0^fO z2(xbB{F7eQeuGjPU&cPHU2mTMKceJn%m%Y2a_~X=yRj9gHJG(?A4+InK-uA+aSDEo zB{-?kEIJov(+}cwd|nzcG|r)%(=Sj4j&+*v@?MmI`Y{pTLJ9RJD97$ol#pM>2>ceq zF>Iq5$w(YYKgu!*WxNcO=O(VO8g&@Og?gkOl^1n-=?D67TGHIA zGFx3u9;e&4(d%i;^mVwi%AA{8JZd-Mnh+OO?D6UKRnO?siB-efSyh*>qbXA#npk{qQnBu-&I!GlG{L45l0ABV za+5ngX@7=OXE*eP+NVEb3sujI zu1^BoH^ZT=WoPW#RykJxq#{+1svM?YthlBJD$hmxeXT~b%hjZcyk3`^NQY{w zVr@T2^i9iGk?2rQb)!v>UfHf6SlL066LoVf>xB`f6v2K3o6OSTnZ)-xlW&v%8hdR_JHeSN^Z;9^TLt%5JE$hmJb4B(vl6#U`h| z&2@S(yH3B)*yL*)%x);#t!\n" "Language-Team: Italian (http://www.transifex.com/projects/p/mediagoblin/language/it/)\n" "MIME-Version: 1.0\n" @@ -23,250 +23,280 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Nome utente" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Password" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Indirizzo email" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Nome utente o indirizzo email" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Spiacente, la registrazione è disabilitata su questa istanza." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Nome utente o indirizzo email" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Spiacente, esiste già un utente con quel nome." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Il tuo indirizzo email è stato verificato. Ora puoi accedere, modificare il tuo profilo e caricare immagini!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "La chiave di verifica o l'id utente è sbagliato" -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Devi effettuare l'accesso così possiamo sapere a chi inviare l'email!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Hai già verificato il tuo indirizzo email!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Rispedisci email di verifica" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Ti è stata inviata un'email con le istruzioni per cambiare la tua password." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Impossibile inviare l'email di recupero password perchè il tuo nome utente è inattivo o il tuo indirizzo email non è stato verificato." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Ora puoi effettuare l'accesso con la nuova password." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titolo" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Descrizione di questo lavoro" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Puoi usare il\n \n Markdown per la formattazione." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Tags" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Separa le tags con la virgola." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 msgid "" "The title part of this media's address. You usually don't need to change " "this." msgstr "Il titolo è parte dell'indirizzo del file. Nella maggior parte dei casi non c'è bisogno di cambiarlo." -#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licenza" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Biografia" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Sito web" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Questo indirizzo contiene errori" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "Inviami messaggi email quando altre persone commentano i miei files multimediali" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Password vecchia" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nuova password" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Password" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "Stai modificando files multimediali di un altro utente. Procedi con attenzione." -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Cambiamenti del profilo salvati" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Impostazioni del profilo salvate" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Password errata" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -301,19 +331,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Mi dispiace, non supporto questo tipo di file :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Transcodifica video fallita" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "ha commentato il tuo post" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Nome utente" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Indirizzo email" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Posizione" @@ -377,7 +450,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -390,59 +463,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Aggiungi" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Elimina" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Accedi" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Accesso fallito!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "File non valido per il tipo di file multimediale indicato." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "File" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Devi specificare un file." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Evviva! Caricato!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Verifica la tua email!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Accedi" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Cambia le impostazioni dell'account" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -450,16 +673,16 @@ msgstr "Cambia le impostazioni dell'account" msgid "Media processing panel" msgstr "Pannello di elaborazione files multimediali" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Aggiungi files multimediali" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -506,6 +729,59 @@ msgstr "Ultimi 10 caricamenti riusciti" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -538,19 +814,15 @@ msgid "" "a happy goblin!" msgstr "Ciao %(username)s,\n\nper cambiare la tua password MediaGoblin apri il seguente URL nel\ntuo browser web:\n\n%(verification_url)s\n\nSe pensi che questo sia un errore, ignora semplicemente questa email e continua ad essere \nun goblin felice!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Accesso fallito!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Non hai ancora un account?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Creane uno qui!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Hai dimenticato la tua password?" @@ -559,7 +831,7 @@ msgstr "Hai dimenticato la tua password?" msgid "Create an account!" msgstr "Crea un account!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Crea" @@ -593,7 +865,7 @@ msgstr "Rilasciato con licenza Mediagoblin, un ottimo programma per caricare e condividere files multimediali." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "Per aggiungere i tuoi file multimediali, scrivere commenti e altro puoi accedere con il tuo account MediaGoblin." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 msgid "Don't have one yet? It's easy!" msgstr "Non ne hai già uno? E' semplice!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -633,13 +910,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Allegati" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Aggiungi allegato" @@ -656,22 +933,29 @@ msgstr "Annulla" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Salva i cambiamenti" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -699,12 +983,12 @@ msgstr "Stai modificando %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Stai cambiando le impostazioni dell'account di %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -718,6 +1002,36 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "Stai modificando il profilo di %(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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -728,8 +1042,7 @@ msgstr "File taggato 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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Scarica" @@ -753,7 +1066,7 @@ msgid "" msgstr "Puoi scaricare un browser web moderno,\n\t in grado di leggere questo file audio, qui \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "File originario" @@ -762,6 +1075,10 @@ msgstr "File originario" msgid "WebM file (Vorbis codec)" msgstr "File WebM (codec Vorbis)" +#: 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 @@ -773,47 +1090,39 @@ msgstr "File WebM (codec Vorbis)" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -832,8 +1141,8 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "File WebM (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -859,11 +1168,6 @@ msgstr "" msgid "Edit" msgstr "Modifica" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Elimina" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -918,29 +1222,22 @@ msgstr "Files multimediali di %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "❖ Stai guardando i files multimediali di %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Aggiungi un commento" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Aggiungi questo commento" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1099,26 +1396,34 @@ msgstr "Taggato con" msgid "Could not read the image file." msgstr "Impossibile leggere il file immagine." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Oops!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1155,10 +1460,9 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Puoi usare il Markdown per la formattazione." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1180,77 +1484,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "ha commentato il tuo post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Oops, il tuo commento era vuoto." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Il tuo commento è stato aggiunto!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Hai eliminato il file." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Stai eliminando un file multimediale di un altro utente. Procedi con attenzione." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo index 3c82d1ff45089e708fe94b0fdaef27525257353a..ea328a9ba92e36d265357ad75f1078f568ce1ada 100644 GIT binary patch literal 31092 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 delta 5039 zcmciDdvKK18OQOnNhA<%A%qYhA)6p1Ud(?u-@Niq%m^bOcmTYk^Wx>t(71FE|42_s9D>t?j>^W|Dl)Is3ln zJm-1NyYDw=Jzu}%37<@ex!dq_iN6&7dUaRtUq2W68k0)*BBtSxcw@%mB%F$^n1uUq zFush5c+wp|hnh03pD`ZnkG*gJo-!tEGHB#65S3s|Ar|5oT#k$JKHSWm-{A!M8<<@S zK8MkG7+J%-gT3(#@@vlWuMfr!Fs274p|0~{f6T=`tZ&L`jAWn&ufPrN1-H2Uomj;9 zgII~ja0U(~ib4#aCVmLD(0=TR&!Yl-6^Y#(!d-X*yJ6=*V=`FZY@orfd6<99Z4O`- z9!4*oN2P2~GHJvS$Q&jYW3dtoa1IW|O}G{xMQto?kh9=5s6ghR)@i`7B40y86Kz99 zb|+F5vkP^@lNf_9pmz2$YN5l(8s=}P+Q;%w;~A)$m!L{819ks(sEsT`owenI$v>Mj zTNu!ddoU9ZqH6gmDihx#YnY)!oKlQO1sp_8+=&Wo9cpJ=P^Em(9e)%n=FXh&VJ2KD*PsEO}F)&2=&PIC}d!c(Y{eT~XURJxPu zSk%IasCmYr?w^4q)r5UCRKshR=XK*nlW%7vO4X6wp!x%h`?7@73RjhB~n7teq;B>qn^>}=QZK#J>Pe~B9 zlg&6E_h2=Cg9@l@6yG7Z5_2$tlkCM3)O_{Gr6%mU7sG7MyhEb~f544c&20J#K8$tv z56r{5(assLxQzZTRL#$0GwwrVvKD{v*=iO*pZR^>Zq=V?@GkD?y0ACY5V68I9Ch!apd4x!G- zcGUa_!!#0Te1Y1@B~)rt3Z02>LQQlZYT}nrsr~?a;0aX9KSgEeOYDZC@cze=ZF@-!(V@TQLi}(2Gx^CVCU~{{H}# z@-wKK|A-tL6J6rGMaSb>`U_DTdmELh3phmA@inV;(lD&Z3TbGfO4NmOupcf&eI7s^ zmUXC|-HbzVJ0{~ke!_a*bpsRUP{=ADQNpak`}E-j<}8d%GKCb$Q6Xbzzw zJd4Ui_p6=n`ds8ZnkrPlU8u}#Lj`s(>i$PirF_F3KZ+IfPhd6a^k4!YTk8}Ki9BlJR676pM)7$i-WNX zWATA74W;Ta?2gZ&cJv4Lg16kykE2fQXQO!#R8fsFIaq3@${?b3JO|0BW7v zQ1?HC3MBk24b|`{>hbv;74do01SwU{sUC?+X+CPF6Hp~uhzfiK>i!$u{w=6ez8!nw z1DJ(-@m72rxj$^Ko9P4)M9z)bf=cxpsK+X1mJ`STyq$gq>M%WnO7#KE#AB$PU&LM* zRqbS?FKUD7sPT!Yz$@_b`+q47rLrD-U>EASz6~G4GpNY7&33+^BG^FxGgKyK&2iqI z%dw9Bi>NQIbiO2X-8xhT{)`IzOH_u>;pO-Lzrgw{ ziTs+U`A2N#iW=u7R)Y`IzXNkH?^@^k!-tx$3rFHZuCL?e_y0K>++zkUFlHmR;TZf1 z>oARU6AFq!dQAQja>|A!6T?c zX0CH0?uNQ>7)Ik{?2FT|56(fApcb{m^*9Q5BYQHhU?mQr9%a~w0ek|dVZsug{{|ZK zmpJeL-{2cz+=mnK9n8l* zwa)v$6tAKm3e!-k_MmnWL5oK*4V&tmi8i4o-iOM>%c#Tp8Y<;SQC}#>u^XO5W%6U! zFI@kQBN+c4bzjO*pVJtInlKBCF%Kih5=VN*HMIIVI*K#uSA{~swpw39C;%-1e@iQW zp$uN>f3Uta z(3TTy_m8RcH7pOb`748+p`cxqm~C^CQX|Pp&qvw1s(kx!)tmP8@acBNU~9(=84z6> z2-@Q6r))(^b&r)q)ER7V%&~h?O7Bc9jqFaX_SodKfW0rR*$(rrw~u?PZE|{%-BA-8 z*^+)&RHSxMFHaK-y+P9*~R5x{ce_Fu) zIxApvMs7`L_i5YSwqVHXYi$j7HZ|JNC|{&x*~cDxB)d8?XLM|o{j_1AtslF~ceqQY#OS2Qs4tHPDhJ^lXHChxpp z$QNp|i4!Ki>0-E2=UNV2c4e#+i)b$eXl=)7^>-291!1-4iDP`5jtZls_*(-S$K80E1e zD#!hQ3v82e}6@mu&gmB^20i=gzyI0uQoT^HVH_qqDP;1-Iidwj0Iz`R2@2yzv7B(`w?a}`%YNTvcmdCB=Ap1h+hd)*HpZ@C~ A1^@s6 diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po index 97d68127..2477ccd7 100644 --- a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+0000\n" "Last-Translator: cwebber \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/mediagoblin/language/ja/)\n" "MIME-Version: 1.0\n" @@ -20,250 +20,280 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "ユーザネーム" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "パスワード" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "メールアドレス" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "申し訳ありませんが、このインスタンスで登録は無効になっています。" -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "申し訳ありませんが、その名前を持つユーザーがすでに存在しています。" -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "検証キーまたはユーザーIDが間違っています" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "検証メールを再送しました。" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "タイトル" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "タグ" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "スラグ" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "スラグは必要です。" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "自己紹介" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "URL" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "パスワード" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "あなたは、他のユーザーのメディアを編集しています。ご注意ください。" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "あなたは、他のユーザーのプロファイルを編集しています。ご注意ください。" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -298,19 +328,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "ユーザネーム" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -374,7 +447,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -387,59 +460,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "追加" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "ファイル" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "ファイルを提供する必要があります。" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "投稿終了!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "ログイン" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +670,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -503,6 +726,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +811,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "まだアカウントを持っていませんか?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "ここで作成!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "パスワードを忘れましたか?" @@ -556,7 +828,7 @@ msgstr "パスワードを忘れましたか?" msgid "Create an account!" msgstr "アカウントを作成!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -590,7 +862,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "こんにちは、このMediaGoblinサイトへようこそ!" @@ -600,22 +872,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -630,13 +907,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -653,22 +930,29 @@ msgstr "キャンセル" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,12 +980,12 @@ msgstr "%(media_title)sを編集中" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -715,6 +999,36 @@ msgstr "" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -725,8 +1039,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "ダウンロード" @@ -750,7 +1063,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -759,6 +1072,10 @@ msgstr "" 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 @@ -770,47 +1087,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -829,7 +1138,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -856,11 +1165,6 @@ msgstr "" msgid "Edit" msgstr "編集" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "削除" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1219,22 @@ msgstr "%(username)sさんのコンテンツ" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1393,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,9 +1457,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1177,77 +1481,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 7d37ab7c9c3ac463f56729f1eb8f1d0e56dbe00e..68d041e4bd6320e49ae863dee26bd75b50d7de94 100644 GIT binary patch delta 10450 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 AlmGw# delta 4995 zcmcK6k6)G59l-H(FTVuQNZ^Vf@&Jiq3Wz`={s0LjP()KpGw>o;xB*_eU}Pyb3(_`9 z=fNiank`K&3)bz2R*TnbHmzQzt8^<{Hl4E{K$|YNTG{sb`aIiS`vb-c?)#i`pXdDe ze$ROxj(%@D^N!7Tc39w6#m^7?jpQ$UkktPB^Zj*7#Z$eC2^bflR0ihZ46H{79>Q2W zicxshYX2)rmtof{Wy44e$7uXiDW6KBkV%7mm{Qr8jpp~P#@qByny_w%X|#QkZ7es(SdTEfsr^7hcdn@qL50%LJY!I>w-3`z72C|-;Kq1 z8cT2#v&cp_O2L|5ks&Tv#=aTVLRT3dr=maFv1-07Lj3a>Fwih_9op>?q1WCy_DKS17p;;X~S!P;y>?l7bSH`XYdJ>=!2jO)nDTuKghq4K$qAX-y8u2$M)Y2dW zK7v7b1ZBp()`h>v5b9S@I=G5MF@l>U1qmqEPeT^3mf|98$71{#3-N{wP5{u>2CT zBHoU&ATP>Z*o<_ix-cAf;HPr_4^SYQY9n!Cvg%bN2h1QJkkUW^j4a^$3{c6=P4M_Je{JXU2wO*jhgLm8(FeTfvhDM&}}p3gMEc9JW!1IN~U(T)l zW^?mQ1bt}W+gOBsC>>6uB2GpL{R}j)6oarHWk4^^#tk?cPvXz^w4QWxK_E{}Tlo(T)|E8xDF+CJ5V;`aZJY3 zC@K3E4NNLEBVOpEAe*BUWhE6DiZ1H{4<=G?K}kgy%DbQk*+=S4l=}zG;pv8PDE;K4 zTt6E*NU8$mx-OImA3{l??-Yd?3V%kK@gTOk%-Df)Or~HMmSG4k!6bB|Y@#-l0k`82 zd;$kyH-_V39E`ul8}U7S7_TA`@u{{lbLP(?`%Jx$q(?>1GbeC|r3W|B{t!xpBFoK? z$73q>JPbq^%7pGhS-{;W5p1{W`%xzHDqeg4e?~!eV?WAF!{?jN_88npy%l9bH!Lt; zyLTb`PrZ(k^MG5;2U8+SsPDjs@Nry$u?x+}w4zL`17!jl=dk}&F9r6I3SVRnuo&f3 zJdLaHIF7@d#pdpHB7Lh3$gS#Qlw+5{e=Sd71M*Z>*WGSz+G3Olbf84)IV`{r@!I=8 zc8R&G^HEmZi?X>~OL^zxKFq{mj)bfr7dK!&4#77u0Do(Je+DC{pF??$Ttu{!4co5-in?lEUCh;x8ALR+QGXaw*D<4Y(OMp@D|Wd|wx!M5-18a5GAX zJ24RVp&ZYrQBw3g2H_E_-fMXbQ)qt|<-U<$TZL~?Li_`kW9Uky{HLQ*ZMtz*RB~ml zyQa3Dzvd*P*6Uh1Eot;vudBx0)a>$BuJ+caHYMptqs9ezykR;bYJ6ggyUv}~;Hq{z zYdlr;?p0|XZ%ul!b48tdRZX#{rP-sqXN}isj(C5J;}yI9DrS;SAMuVpH+q(Ch}Akh zE;?YQ+oLPXp3}2OmJMojHZ`?)yw$pAUaUScGIdM*Ox;;N$^UMAoJ}uTFjyxiROlTE zD|NE5PCsRo>6pYE|N6uoc7NPxuifEU-K^$#YHAqVaIZ2}I^FfI>O_5FjOY3?XM;4Dsw(w@yoaL|0cv>y~j9x_)`PzwyTBZ2s~IA$GlM<#1hrK%DV>u&UT5YE*SqUC`qOhhw-2tVsdpI*Jk8E#myXJvs@roP z3C_vNXv{PGL#NEQ>np31{a2>GZ_{_pSf|h5o8<4#A7azlGYj-@W=_{xh3j=svcrGA z(6EJNPsqHr|N(HK;KIb_-`*uvW5OTq-nZ+UeT8LL>)@XI?K08%4+nP1)cgqXO!N1 z>sp<%aE(5?aF&1SqD2Az%}WOCdi$~zePY@Ekp5jS^gY$4bn871ed*3EWTsSKte8u7 zBK4(8m%o0w*Y1y4(IuJb(2Ht5j~aMr=a(-ZHv0E$?eo8&%$h&Jz1OCL>i(fe)aOfP z{JZN51OF#0XB+40<##_jbfBZ7f7ffqSSve`-Z$<3vejSM^qH2P$bn6V`VQ_N=xFcX z)n@eXY#Z46f}SvA`tZ3(E~w Sen4lq<8{^A5B2\n" "Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/mediagoblin/language/ko_KR/)\n" "MIME-Version: 1.0\n" @@ -19,250 +19,280 @@ msgstr "" "Language: ko_KR\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "사용자 이름" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "비밀번호" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "email 주소" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "사용자 이름 또는 email" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "죄송합니다. 지금은 가입 하실 수 없습니다." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "사용자 이름 또는 email" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "죄송합니다. 해당 사용자 이름이 이미 존재 합니다." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "죄송합니다. 사용자와 해당 이메일은 이미 등록되어 있습니다." -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "해당 email 주소가 이미 인증 되어 있습니다. 지금 로그인하시고 계정 정보를 수정하고 사진을 전송해 보세요!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "인증 키 또는 사용자 ID가 올바르지 않습니다." -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "이미 인증받은 email 주소를 가지고 있습니다!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "인증 메일을 다시 보내 주세요." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "비밀번호를 변경하는 방법에 대한 설명서가 메일로 전송 되었습니다." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "사용자의 이름이 존재하지 않거나, 사용자의 email 주소가 인증되지 않아 비밀번호 복구 메일을 보낼 수 없습니다." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "이제 새로운 비밀번호로 로그인 하실 수 있습니다." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "제목" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "이 작업에 대한 설명" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "포멧팅을 사용하려면\n \n Markdown 링크를 참고 하세요." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "태그" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "태그는 , 로 구분 됩니다." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "'슬러그'" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "'슬러그'는 공백일 수 없습니다." -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "License" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "소개" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "웹 주소" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "주소에 에러가 있습니다." -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "제 미디어에 대한 컨텍을 원한다면, 메일을 보내주세요." -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "제목은 공백일 수 없습니다." -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "모음집에 대한 설명" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "예전 비밀번호" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "계정 확인을 위해, 이전 비밀 번호를 입력해 주세요." -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "새로운 비밀번호" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "비밀번호" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "다른 사용자의 미디어를 수정하고 있습니다. 조심해서 수정하세요." -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "사용자의 계정 정보를 수정하고 있습니다. 조심해서 수정하세요." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "계정 정보가 저장 되었습니다." -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "계정 설정이 저장 되었습니다." -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "\"%s\" 모음집을 이미 가지고 있습니다!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "다른 유저의 모음집을 수정 중 입니다. 주의하세요." -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "잘못된 비밀번호" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "테마에 연결할 수 없습니다... 테마 셋이 없습니다.\n" @@ -297,19 +327,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "비디오 변환에 실패 했습니다." +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "사용자 이름" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "email 주소" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "장소" @@ -373,7 +446,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "이 항목은 공개 사용자들을 위해 꼭 필요 합니다." -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "사용자 {0}님이 등록 되었습니다!" @@ -386,59 +459,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "추가" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "알수없는 미디어 파일 입니다." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "파일" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "파일을 등록하셔야 합니다." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "이햐!! 등록했습니다!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "\"%s\" 모음집이 추가되었습니다!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "메일을 확인하세요!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "로그인" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "계정 설정 변경" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -446,16 +669,16 @@ msgstr "계정 설정 변경" msgid "Media processing panel" msgstr "미디어 작업 패널" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "미디어 추가" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -502,6 +725,59 @@ msgstr "지난 10개의 업로드 목록" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -534,19 +810,15 @@ msgid "" "a happy goblin!" msgstr "안녕하세요 %(username)s,\n\nGNU MediaGoblin의 사용자 계정 비밀번호를 바꾸시려면, 인터넷 창을 여시고 아래 URL을 통해 접속 하세요. :\n\n%(verification_url)s\n\n오류라고 생각 된다면, 이 메일을 무시하시고 고블린을 즐기세요!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "로그인에 실패 했습니다!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "아직 계정이 없으세요?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "이곳에서 새로 만드세요!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "비밀번호를 잊으셨나요?" @@ -555,7 +827,7 @@ msgstr "비밀번호를 잊으셨나요?" msgid "Create an account!" msgstr "계정을 새로 만듭니다!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "생성" @@ -589,7 +861,7 @@ msgstr "Released under the MediaGoblin으로 작동 중입니다. 이는 특이한 미디어 호스팅 소프트웨어중 하나 입니다." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -629,13 +906,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "첨부" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "첨부 추가" @@ -652,22 +929,29 @@ msgstr "취소" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -695,12 +979,12 @@ msgstr "%(media_title)s 편집중..." msgid "Changing %(username)s's account settings" msgstr "%(username)s'의 계정 설정 변경중..." -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -714,6 +998,36 @@ msgstr "%(collection_title)s 편집 중" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -724,8 +1038,7 @@ 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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "다운로드" @@ -749,7 +1062,7 @@ msgid "" msgstr "사운드 파일을 재생 하시려면\n\t이곳에서 최신의 브라우져를 다운받으세요! \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "원본 파일" @@ -758,6 +1071,10 @@ msgstr "원본 파일" msgid "WebM file (Vorbis codec)" msgstr "WebM 파일 (Vorbis 코덱)" +#: 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 @@ -769,47 +1086,39 @@ msgstr "WebM 파일 (Vorbis 코덱)" msgid "Image for %(media_title)s" msgstr "%(media_title)s 이미지" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -828,8 +1137,8 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "WebM 파일 (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -855,11 +1164,6 @@ msgstr "%(username)s의 %(collection_title)s" msgid "Edit" msgstr "수정" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "삭제" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,29 +1218,22 @@ msgstr "%(username)s의 미디어" msgid "❖ Browsing media by %(username)s" msgstr "❖ %(username)s의 미디어를 보고 있습니다." -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "덧글 달기" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "덧글 추가" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1095,26 +1392,34 @@ msgstr "태그 정보" msgid "Could not read the image file." msgstr "이미지 파일을 읽을 수 없습니다." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "웁스!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1151,10 +1456,9 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "포멧팅을 위해 Markdown 을 사용할 수 있습니다.." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1176,77 +1480,80 @@ msgstr "-- 선택 --" msgid "Include a note" msgstr "노트 추가" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "게시물에 덧글이 달렸습니다." +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "오우, 댓글이 비었습니다." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "댓글이 등록 되었습니다!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "확인을 하시고 다시 시도하세요." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "모음집을 추가하거나 기존 모음집을 선택하세요." -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" 모음집이 이미 존재 합니다. \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" 모음집을 추가했습니다. \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "미디어를 삭제 했습니다." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "확인 체크를 하지 않았습니다. 미디어는 삭제되지 않았습니다." -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "다른 사람의 미디어를 삭제하려고 합니다. 다시 한번 확인하세요." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "모음집에 있는 항목을 삭제 했습니다." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "확인을 하지 않았습니다. 항목은 삭제하지 않았습니다." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "다른 사용자의 모음집에 있는 항목을 삭제하였습니다. 주의하세요." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "\"%s\" 모음집을 삭제하셨습니다." -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "확인을 하지 않았습니다. 모음집은 삭제하지 않았습니다." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 4e6e51ce1809030467c75beb68db3412d93469de..09b42b99217628d6d02f12ba35d1c98269c336cf 100644 GIT binary patch delta 10357 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 delta 5048 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\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/mediagoblin/language/nl/)\n" "MIME-Version: 1.0\n" @@ -20,250 +20,280 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Gebruikersnaam" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Wachtwoord" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "E-mail adres" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Gebruikersnaam of email-adres" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Sorry, registratie is uitgeschakeld op deze instantie." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Gebruikersnaam of email-adres" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Sorry, er bestaat al een gebruiker met die naam." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "Sorry, een gebruiker met dat e-mailadres bestaat al." -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Uw e-mailadres is geverifieerd. U kunt nu inloggen, uw profiel bewerken, en afbeeldingen toevoegen!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "De verificatie sleutel of gebruikers-ID is onjuist" -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Je moet ingelogd zijn, anders weten we niet waar we de e-mail naartoe moeten sturen!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Je hebt je e-mailadres al geverifieerd!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Verificatie e-mail opnieuw opgestuurd." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Een e-mail met instructies om je wachtwoord te veranderen is verstuurd." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 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." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Je kunt nu inloggen met je nieuwe wachtwoord." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Beschrijving van dit werk" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Voor opmaak kun je Markdown gebruiken." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Etiket" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Hou labels gescheiden met komma's." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Slug" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "De slug kan niet leeg zijn" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licentie" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Website" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Dit adres bevat fouten" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Oud wachtwoord" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nieuw wachtwoord" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Wachtwoord" + +#: mediagoblin/edit/forms.py:122 +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 "Er bestaat al een met die slug voor deze gebruiker." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Profielaanpassingen opgeslagen" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Accountinstellingen opgeslagen" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Verkeerd wachtwoord" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -298,19 +328,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Sorry, dat bestandstype wordt niet ondersteunt." -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Gebruikersnaam" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "E-mail adres" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Locatie" @@ -374,7 +447,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -387,59 +460,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Voeg toe" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Verwijderen" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Inloggen" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Inloggen is mislukt!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Verkeerd bestandsformaat voor mediatype opgegeven." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Bestand" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "U moet een bestand aangeven." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Mooizo! Toegevoegd!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Verifieer je e-mailadres!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Inloggen" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Accountinstellingen aanpassen" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +670,16 @@ msgstr "Accountinstellingen aanpassen" msgid "Media processing panel" msgstr "Mediaverwerkingspaneel" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Voeg media toe" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -503,6 +726,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +811,15 @@ msgid "" "a happy goblin!" msgstr "Hoi %(username)s,\n\nOm je wachtwoord voor GNU MediaGoblin te veranderen, moet je dit adres in je webbrowser openen:\n\n%(verification_url)s\n\nAls je denkt dat dit niet klopt, kun je deze e-mail gewoon negeren." -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Inloggen is mislukt!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Heeft u nog geen account?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Maak er hier een!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Wachtwoord vergeten?" @@ -556,7 +828,7 @@ msgstr "Wachtwoord vergeten?" msgid "Create an account!" msgstr "Maak een account aan!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Creëer" @@ -590,7 +862,7 @@ msgstr "Uitgegeven onder de MediaGoblin, een buitengewoon goed stuk software voor mediahosting." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -630,13 +907,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -653,22 +930,29 @@ msgstr "Annuleren" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Wijzigingen opslaan" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,12 +980,12 @@ msgstr "%(media_title)s aanpassen" msgid "Changing %(username)s's account settings" msgstr "%(username)ss accountinstellingen aanpassen" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -715,6 +999,36 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "Het profiel aanpassen van %(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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -725,8 +1039,7 @@ msgstr "Media met het label: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -750,7 +1063,7 @@ msgid "" msgstr "U 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:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -759,6 +1072,10 @@ msgstr "" 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 @@ -770,47 +1087,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "Afbeelding voor %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -829,7 +1138,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -856,11 +1165,6 @@ msgstr "" msgid "Edit" msgstr "Pas aan" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Verwijderen" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1219,22 @@ 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:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Geef een reactie" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Voeg dit bericht toe" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1393,34 @@ msgstr "Getagged met" msgid "Could not read the image file." msgstr "Kon het afbeeldingsbestand niet lezen." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Oeps!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,10 +1457,9 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Voor opmaak kun je <a href=\"http://daringfireball.net/projects/markdown/basics\">Markdown</a> gebruiken." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1177,77 +1481,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Oeps, je bericht was leeg." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Je bericht is geplaatst!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Je hebt deze media verwijderd." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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:296 +#: mediagoblin/user_pages/views.py:321 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:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 9cbd03b267dab8820b158303343e251661fa10a6..739458d7013ad3e6c517008974fb60d86df3de85 100644 GIT binary patch delta 10463 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 delta 5091 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 diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po index 6a11d5da..39ee99b1 100644 --- a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-31 15:40+0000\n" -"Last-Translator: velmont \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -20,250 +20,280 @@ msgstr "" "Language: nn_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Brukarnamn" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Passord" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Epost" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Brukarnamn eller epost" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Brukarnamn eller epost" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Ugyldig brukarnamn eller passord." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Dette feltet tek ikkje epostadresser." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "Dette feltet krev ei epostadresse." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Registrering er slege av. Orsak." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Brukarnamn eller epost" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Ugyldig brukarnamn eller passord." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Dette feltet tek ikkje epostadresser." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Dette feltet krev ei epostadresse." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Ein konto med dette brukarnamnet finst allereide." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "Ein brukar med den epostadressa finst allereie." -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Kontoen din er stadfesta. Du kan no logga inn, endra profilen din og lasta opp filer." -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Stadfestingsnykelen eller brukar-ID-en din er feil." -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Du må vera innlogga, slik me veit kven som skal ha eposten." -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Du har allereie verifisiert epostadressa." -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Send ein ny stadfestingsepost." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Dersom denne epostadressa er registrert, har ein epost med instruksjonar for å endra passord vorte sendt til han." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Fann ingen med det brukarnamnet." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Sender epost med instruksjonar for å endra passordet ditt." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Kunne ikkje senda epost. Brukarnamnet ditt er inaktivt eller uverifisert." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Du kan no logga inn med det nye passordet ditt." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Tittel" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Skildring av verk" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Du kan bruka Markdown til formattering." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Merkelappar" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Separer merkelappar med komma." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Nettnamn" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Nettnamnet kan ikkje vera tomt" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Lisens" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Presentasjon" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Heimeside" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Adressa inneheld feil" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Lisens-val" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "Dette vil vera standardvalet ditt for lisens." - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 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:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Lisens-val" + +#: mediagoblin/edit/forms.py:75 +msgid "This will be your default license on upload forms." +msgstr "Dette vil vera standardvalet ditt for lisens." + +#: mediagoblin/edit/forms.py:87 msgid "The title can't be empty" msgstr "Tittelen kjan ikkje vera tom" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Forklaringa til denne samlinga" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Gamalt passort" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nytt passord" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Passord" + +#: mediagoblin/edit/forms.py:122 +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 "Eit innlegg med denne adressetittelen finst allereie." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "Trå varsamt, du endrar nokon andre sine verk." -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "La til vedlegg %s." -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Du kan berre enda din eigen profil." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "Trå varsamt, du endrar nokon andre sin profil." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Lagra endring av profilen" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Lagra kontoinstellingar" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Du må stadfesta slettinga av kontoen din." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Du har allereie ei samling med namn «%s»." -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 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:329 +#: mediagoblin/edit/views.py:336 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:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Feil passord" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Endra passord" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Cannot link theme... no theme set\n" @@ -298,19 +328,62 @@ 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:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Orsak, stør ikkje den filtypen :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "klarte ikkje køyra unoconv, sjekk logg-fil" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Skjedde noko gale med video transkodinga" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "kom med innspel på innlegget ditt" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Brukarnamn" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Epost" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Brukarnamn eller epost" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Stad" @@ -374,7 +447,7 @@ msgstr "Omdirigerings-URI-en for programmene. Denne feltet krevst%(user_name)s's account" msgstr "%(user_name)s sin konto" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Endra kontoinstellingar" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +670,16 @@ msgstr "Endra kontoinstellingar" msgid "Media processing panel" msgstr "Verkprosesseringspanel" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Logg ut" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Legg til verk" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Lag ny samling" @@ -503,6 +726,59 @@ msgstr "Dei siste ti opplastningane" msgid "No processed entries, yet!" msgstr "Ingenting prossesert, enno." +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +811,15 @@ msgid "" "a happy goblin!" msgstr "Hei %(username)s,\n\nfor å endra MediaGoblin-passordet ditt, opna fylgjande URL i ein netlesar:\n\n <%(verification_url)s>\n\nDersom du mistenkjer dette er eit misstak, ignorer eposten og hald fram med å vera ein glad goblin!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Innlogging feila" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Har du ingen konto?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Lag ein!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Gløymd passordet?" @@ -556,7 +828,7 @@ msgstr "Gløymd passordet?" msgid "Create an account!" msgstr "Lag ein konto." -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Opprett" @@ -590,7 +862,7 @@ msgstr "Lisensiert med MediaGoblin, eit superbra program for å visa fram dine kreative verk." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "Vil du leggja til eigne verk og innpel, so må du logga inn." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "Opprett ein konto på denne sida\n eller\n Set opp din eigen MediaGoblin-server" +"\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 @@ -630,13 +907,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Vedlegg" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Legg ved vedlegg" @@ -653,22 +930,29 @@ msgstr "Bryt av" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Lagra" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Lagra" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "Endrar passordet til %(username)s" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Lagra" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,14 +980,14 @@ msgstr "Endrar %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Endrar kontoinnstellingane til %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Endra passordet ditt." - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Slett kontoen min" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -715,6 +999,36 @@ msgstr "Endrar %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Endrar profilen til %(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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "%(formatted_time)s sidan" + +#: 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 @@ -725,8 +1039,7 @@ msgstr "Verk merka med: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Last ned" @@ -750,7 +1063,7 @@ msgid "" msgstr "Du kan skaffa ein moderne netlesar som kan spela av dette lydklippet hjå http://opera.com/download." #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Opphavleg fil" @@ -759,6 +1072,10 @@ msgstr "Opphavleg fil" msgid "WebM file (Vorbis codec)" msgstr "WebM-fil (Vorbis-kodek)" +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +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 @@ -770,47 +1087,39 @@ msgstr "WebM-fil (Vorbis-kodek)" msgid "Image for %(media_title)s" msgstr "Bilete for %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "PDF-fil" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "Slå av/på rotering" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "Perspektiv" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Front" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "Topp" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Side" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Last ned modell" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Filformat" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Objekthøgd" @@ -829,8 +1138,8 @@ msgid "" msgstr "Du kan skaffa deg ein moderne netlesar som kan spela denne videoen hjå http://opera.com eller http://getfirefox.com." #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "WebM fil (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -856,11 +1165,6 @@ msgstr "%(collection_title)s av %(username)s" msgid "Edit" msgstr "Endra" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Slett" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1219,22 @@ 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:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Legg att innspel" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Legg til dette innspelet" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "%(formatted_time)s sidan" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Lagt til" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Oppretta" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1393,34 @@ msgstr "Merka med" msgid "Could not read the image file." msgstr "Klarte ikkje lesa biletefila." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Oops." -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Noko gjekk gale" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Ulovleg operasjon" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "Orsak Dave, eg kan ikkje la deg gjera det!<HAL2000>

    \n

    Du prøvde å gjera noko du ikkje har løyve til. Prøvar du å sletta alle brukarkonti no igjen?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,10 +1457,9 @@ msgstr "Innspel" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Du kan bruka Markdown til formatterring." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1177,77 +1481,80 @@ msgstr "-- Vel --" msgid "Include a note" msgstr "Legg ved eit notat" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "kom med innspel på innlegget ditt" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Innspel er avslege" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Vops, innspelet ditt var tomt." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Innspelet ditt er lagt til." -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Sjekk filene dine og prøv omatt." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Du må velja eller laga ei samling" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "«%s» er allereie i samling «%s»" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "«%s» lagt til samling «%s»" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Du sletta verket." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "Sletta ikkje verket." -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Du er i ferd med å sletta ein annan brukar sine verk. Trå varsamt." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Du fjerna fila frå samlinga." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "Fila var ikkje fjerna fordi du ikkje var sikker." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Du er i ferd med å fjerna ei fil frå ein annan brukar si samling. Trå varsamt." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Samlinga «%s» sletta" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "Sletta ikkje samlinga." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Du er i ferd med å sletta ein annan brukar si samling. Trå varsamt." diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo index 8b31832935cee8ea6eea6a9d6c8bcdcf99364c06..ac4412b2d41fe03f744223d4ddc6c955a85fe601 100644 GIT binary patch delta 10477 zcmd7W33L_py}mnzR4`z$E+xIBHh)uqoaPqFX&o0&wS;i;{CK2DCG z|9|e>|ML6){{Q(zyCQQ_QL1^*D3s4n4l=xI3`(YpZps>Mo~Jcrr>P61T*m< zj>l(l0{$14;Fz(rg-b9EcVHIoMP5;U;XQv0hbT%+d4&RfD{tX&`~#NZhd2{`v{H;g zY{YBvQoisG&ZXX!;db;BOrrh>j>E@rB%Z(&{42@;1~Yo8XJab;E7K_q<-uH(FI3?f z*x@m_om`BPr;AdDv{SX%7P!{weoQ1!`1L(&q=&bjgrLwfimz9QFcQbnJKyA!xY*7H56o~>rguA#-X?q z2jX{8B6K~<3=g1+_u>#dj1z=rqI8#&3kZ#=XEH_ z@dISg%Izo}JcB#&b+6ve!b`(DaWU>gS?iZkA~}x4kqH&z)i@Vr0*6tO^(mB{qP#&t zLY!RWeqjWbQqM+Niq$9`ZSg+uMj6mfl<)0DX=lGzKZNH{{|(-RIUIK~kq2=mzKwLL zOe`k;vnkYaz%RgW<1&00%W-6h8~SRLHT0tl>>^~6%3auq&tm{*@u4K|9+V}!4Ts^w zC4>03F9^Koz)@t2O4ut_Bcx^X3bAD7_kxD<O|-ER6FL4Qsj5*Tv=QsE z16Si=lu&0dZJBWy5)@@K?#C-*6l6rjoE9o>Lg^@mVT@rcqys5<)+Y#_gDaHmZ0h zO2?0*baWEsdr1}Uds#S`dO6DX=V2|#ltnuq8Yc_)E%K%K24zEHPz|TA%!zAjj;86Telq`P_CG>wn+3z2t zEYUz_Cl2!*g)wP3ox%WI;8}&z;4&m?N}bdbISH|o`ktlkl8hprnbenKHU?0|?MON( z`*ArwkLfs>bx?#BeY4O8$Al-==5l!2T;3HcOS)ltJeeBoh~ z4*l$18PHyonf@Hd;XxdMM?FvASn7XSN&Kaw)K%^-$i`vReJEe3@Sd;m+=%%+H&H@+ zJ<80#k1~N@p=`hVu>e0njtV9BEcY(B4%vyyzo6{8V=)Rc!#7bn&RXpr!Ba4WdO6CP zS9+d{L#bOR?{}kgyaUJJm3R

      b`bHSUqygt7#CJrCeS>aoWtNb0krO+UY1Ax8g{=-17#M0o;kw;6WUK52Cbl7*p|il!?57GV=kP%aU~2DBn91o!|dz z3KFV1=YgWEN10JGO7dKWS$LCIzYk@G$5944kn?yr4nvt~21;n_JUej_^*vaI&!a>( zmD6qj`KP2)kOs0*vT_^@M?Sn|AyzD%{5Fs$2}*0jUQ8g4Hx38 z=eiS^yxz^VMR+UEEsR}DA*0cq>5ouCei+B%36xNNj4Lo@gZnFXE=tz#K$*#nD51Xt zB`NqICQc%J<(!NzReyxobWPCArV`+>VkHx1UG+Wv2J@Kn8LYCB$!{bdb5pZFmYw zl9gcr&PK_Z0IGOCN+iC6(%!Y6x1(&|`!ExKhw@wTo>xzfZFbjs63R?{C=D$@>7WK> zW~)(V(1_B(C3rXPL7B2 zFcakfT7adv3ME3@Fc+^uiBKG60QaFJ?NQ9bmr)`%FyP*VlJPd`>#+org3d`8Q)W;o z=Rq6J#{IYekKr=RU^?=-hB?G?PT?pIBs57ExE+tjdg>Lp0BRf}l53j*B5tbESLdmTwqwYW-!X?!I93}oYQkdVt?C?e8Pr0r( zs&FVTxc}^pqo(Jmsufn$sHJLwfF6mc-Bw3f%2tONU8u%C8Zj*)K5+DJ6UWx-;fQ5w zs@|prJ44q<`3y=d)SgD4YOHoGN^ZH5!JM! zY7=b-l}h``oMm=SnqAc19x?)2)UeEm+GRvrdWOQFP92RJ(98|3*69~?=#l6TA4*FYW|&P@xXo$Pej1I@|4eOnT-lbGo?cJ(o2Gw>g64ljcixE)`vuDJCkip9p&Ra5l zp0{`SnWY+uT4AkOSDOf;9`wc6WUNh?s;T`3SE<%zB6QOe;9Z#)q)SW)C1a6A^8%r( z_Mj|dyc@568`C59`B@j+uVppl%HkAP8xd!b3^QWT2kT-q^{j$Dd)(ZiW>gP5?Zual zdnhqx6ecI1BWuX>pmg1-hmEFgX0An@A!%VE=9Vma8Oxoc`L3G&Q2rX?j2{}5VNp4nHE_5NJNh^&#)e_^Ku*0dDJsor(<`c z`RogGFE3(yD()_Iwqc~h+3igop-?wpYO^{?M(>6Eh@Fs^8B;@6Gcj;Br2EZWWli|h zr(T|Y`mrW^!kLHjNmy?-*dpQ2wAA;5QyMeqSFSuG~o03rp0fal$;o2vAso9*{xbg7EfmHj?c|% zC!O8t`jmPr9PTcZ)cIoH>$CAb^Ys;M+5Y==V(j$Xr-hzF_LG*#Db5umV81`5!2ao! zwmkjRJR!y$+o7Pd9sIJpIA`s#`S-=@qguDDTr-n2Or^fV9|?pFzdPlgq*N`F#L86~ zH0M1Tl$0Y%gKTjxd6oo_}tg~Ok{J3p)kJ&cVcwucTYl=+spik58?2&&q&hMtSZ|tD7CwMpWC}Q;JNM zZ^%jI>v=5*UvKGlAp z?5Tb}^_5SGag+w#pChLS%jDqja$;TGDz(E5dAA3(MPuln90IICv}YXsHPRQADTHkp=C}{*(|kmMn&nIqLP^6YM_xs7aGrhv1AirhZfsoY^luKj0ZFWgQ z(pP({+&kx-g!l^;NlD`>gF$ko-yE=CoIg9o`Mmf3leXZwf=cH!{z7+5`<(@k#wtGv z+!wfBDl0Wpd+1`dGHSIcjg%hT5!h-Ptw!&?@k`!0vrd2Mj2~H8l8|2I+($n1duFFq zPPU&+&+u-c6_s7*aI^iV+(GZI{BA;V&t0?swfO8+bYWF(X0>xcCyPIG8NI5iX@cQx zxPBLx>*#w`7Y$q@*E+kcIy7;K`T5t%_2m_XDQES$p{A^ie%=jrYnS%9S5&J@=X8%ebg}hCZm5gH zTC3WsMKyl!I#hfA$}3KLLoHl&)0e!VKECSfyrFhGH`F&*tsh%!^>;_DIxC)7TCacE zTj~dECMCwc?4|Q7zO1hOyvy$2b6K5aXVzU(;LS|#W!|r*cRlOp*1EUuPlaFR)@ol< zpBDRvFRH!QkH71ln(O^fk^kkQdUO2^36%{5;2*oJE?W273~8m`3+w2!tL&=jh4K2c zf1hN}Y1}-c&(-vc-dL}1ywm=*Z&>@ifnywx7u#`!|_Asy_{g* zQ?{v}yQzC~9dG||^DXwu@@4(J@&EAldT>i>f)muQuV-DSEUQiMRNl_6{4iJiOfG;2_B48+qAf{+iiU+vD6}X4)y>ta%ZaSK| zyR9ovFDBXA=BAA`X*U~nD`zunvz^>ltz1*r&1$Dw*UhY)viAG)+_sthXJ?iXKF@RR zInT@Q_j?X_>TAd4Hypup{URSye0|S%GT(h}lHN~W-}O~$2;J+Lf=O{o<=_;YhAlV{ zpTR^tg7J7ReEkZ_kkL0Q<-q>f2M6GJrGhGr#yBoG`ze)+xtNX3ScBcTkte^xN%Yq+ zx=eTgBk(vfhdO~VcoF%hzTihJMh#G^7Y;kN@ISth6exC6Z~Lo zbr3W0I2!m3O2`H$5Jnt^jG@M26qexxtiqwV0XuOg%EnR#+Y{b~vXCm2dFnAJEAOBo z1N{tTWnD;C)T1a5?7>KU1!ZSPP$oK#%%Lu!lp)cstL2Y29bJdBddPf#Lp6`4Z~O|nywkFsD3W#9nH!d9W|?0%F~J|4cl6KB%j zi=*)yT#XsY#Q!}SPqLgkTuG^q!gDAgjb>FTI1Tf$7T4fb?7%^MC=1(ya!U4~6xW+5 zJ3ou*_&KIwoMA_5Jjw3s6GlMoEDe<%SNF&)1?1{2)s1cOzq}!zd{{kCL*> zC=qd{+M$j@nK&M0oQWvU&q9K#f+h{g;VP7nKZLU4CsA_s21-?*L<#9Rl$~Bg3AK~a zW#I`Z&!>j_*??Ijqs_Qgl0sWb^1V^KU+CtgcZj^-_#Lf6RN`w~N zVuyY)N+bd(JAVY_{>M-v@-)i$zYAYKiL&qu7%AufYZ@}ZcQ-CjnHfqgq@Rkv#SWB} zrwp^tdl^a*t-%{PM+xPdI2JEr4GtX65yQJtB5(>L@dC03^)Z$+zlvt`Qe1#D@G+F* z@gaIp4zZjP3uPx8aUSl#O8gRKLDNU_4#76e!hTe;fyF4})gia4VA!WI$mY}u8uRfQ z-iwutCa>V*xD~1I(0>#q=igui_GDJsVKm-^eNj@75OyR=5f-3qWKI_G zH)u3*K_=XUJ@6pPiVufx`~aiqUqu<urg4@nAAQ0||KY+lu1HEzH%JcHBmmK;t1 zHenI&$RYkyXk6gJDjY%rH{doT7|LMVlB?M`6Wg#0515o9UFE@O>^oHbrA&udD;6@4E7L*-tMOpcN zB;D#|B(3T)&ca)!g z#dgsRLMf^#C_8qc9IGG>#rsiGwhL$CKFq{xC`Fpa>r^7PA7vr`L^(BIqs-TnBN3F9 z52Yak<)DOgGRmvB2qk25Q3fzkipGudoCjsVdr=15j48Ma<^DHNa(x_S$7jR+i~lCt}O(2~#nR{#2Ay zEk)Vs-Pi-yVsG4t8K_ZGa}Y=1>9E0w+4hRZpiD3wB}5Cb53a}FxCJ9|JC4HNpzQQ* z?1dLm7H|n=XWygbJgUNeJ{D!-MBIzFA~h3KS7}H{Vk+(PJ`yG8zd{-C7|O!_f{)`r zP
      Irh%FP*QdPW#aP~gMUYP?kh~iURCynMxhjIKK5dMRYgNWS%b2})yN!b9X^fk zU=FUFYoGULP~HO{q2zqJ@$zVf+HSD63I&{wZc++(P^LNyx!b^DrB? zVvx70`U4FLT}9qO;oxkP>VF%TVeBINw`4m?PWNE|4`3AL)YvJ>#|Zj`C^b`pQY)1x zDegpx*dr(rc(I1~OK4AXVJt@9X%AF@@<0hDU@i8;71$Sljsvh8N8&ylj31yp_Z1RU z)&DO0_%)(L?0MwZgSv)AIB_xYFQBnvF%^#caSzU1V*jCV1!ZBQYVAMK7UNU&pF|(d zT52!w6_k*_hq93CC@-u*ru~P<6qJ+(F%LCn;W4=&JG+K5K%YAMe*ayd;d_EcFG!%#Xvrz7vi<0|A;m?yd(TLze7e?d5DAoT2hEBzg za7?UkF@3(NX?5*>zvZbl>-}zMayK@$@a<1Cn!K)MQ`0gsy{<;L&+qcqwtHJf_|o(P z@gpNFZ?uk!ADtR-H@mZ1T@7xt(W+~4d$KHVV|JNY-|Y4@mRSM6rSFIztq+%FhSCQ< z=hT-H#_R0Cf7BN;X6V*Lt+SH`=!cVj=+(wb0+zQSOYcZ7=^9cJ+BT%pp%YTvx;tf= zPB&KTr;JLSkeU}-o7(LRC1rS>1Fd$ynr$^UGLzx<7|Tp|i>o13zdhW#xzcQPsY+MC z_;FnQY^Gahjo8%BYsxMSkL5SamKH1EYS8|XX6Un#^1$x7zO+E7_ z)lK?@0?iR}|yWxh2K=PbGzV!t}LzZ~DN{-=-Um=-e^m zCK_YMPtKj7`;-o?pqqcAJ9bnKU(vHopMT7Juj%o%n10JU*_h|@HoDt=oko=zU>ENC zPNTptpSzd2Rur}UcrnXEAVSMaa~z@inF}250@L_ElU`V39$j}Nbo3>o+4A@;!($r$ zj#k6x@&;VqPFF#;Sr~2H_%d7StQ)ma{Xc6Xt+3kLUf*Q38WmDOGjCLo3{5S#TaCcc zb*9hrU$cY`lto79_sjEi^6b+(wc=Ppx#?kTMzP;&RkF(0Hq>`|D9h0L${a_0O{?2= zbiItY++{SGzN71`EdAD;3>{l_Pw0cH%?{mt`y3rP&())&ez|GrCuYX$o%2lHdw#Rt zHorI&Tm8OMf3`U3`9<$K^_4qE>Ct!jsISg|sVXU-@Q}Li;%@!w;+@o&jN);-8m!KM z)na)}onC8(w$(oG46Uh4cj|{+>vid}tMN4+(_ZFe^`B-axvATsuend?kCzvRs+-S5 zM9r!59tpj+QD<9A^=sCio7-C4&Bj7kU4@YuF0;, 2012 +# Daniel Koć , 2012 # Sergiusz Pawlowicz , 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-28 13:51+0000\n" -"Last-Translator: Sergiusz Pawlowicz \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -20,250 +20,280 @@ 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/auth/forms.py:26 -msgid "Username" -msgstr "Użytkownik" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Hasło" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Adres e-mail" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Nazwa konta lub adres poczty elektronicznej" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Użytkownik lub adres e-mail" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Nieprawidłowa nazwa konta albo niewłaściwy adres poczty elektronicznej." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Niniejsze pole nie jest przeznaczone na adres poczty elektronicznej." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "Niniejsze pole wymaga podania adresu poczty elektronicznej." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Niestety rejestracja w tym serwisie jest wyłączona." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Użytkownik lub adres e-mail" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Nieprawidłowa nazwa konta albo niewłaściwy adres poczty elektronicznej." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Niniejsze pole nie jest przeznaczone na adres poczty elektronicznej." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Niniejsze pole wymaga podania adresu poczty elektronicznej." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Niestety użytkownik o takiej nazwie już istnieje." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Twój adres e-mail został zweryfikowany. Możesz się teraz zalogować, wypełnić opis swojego profilu i wysyłać grafiki!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Nieprawidłowy klucz weryfikacji lub identyfikator użytkownika." -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Musisz się zalogować żebyśmy wiedzieli do kogo wysłać e-mail!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Twój adres e-mail już został zweryfikowany!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Wyślij ponownie e-mail weryfikujący." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Jeśli ten adres poczty elektronicznej istnieje (uwzględniając wielkość liter!), wysłano na niego list z instrukcją, w jaki sposób możesz zmienić swoje hasło." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Nie potrafię znaleźć nikogo o tej nazwie użytkownika." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Wysłano e-mail z instrukcjami jak zmienić hasło." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Nie udało się wysłać e-maila w celu odzyskania hasła, ponieważ twoje konto jest nieaktywne lub twój adres e-mail nie został zweryfikowany." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Teraz możesz się zalogować używając nowego hasła." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Tytuł" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Opis tej pracy" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 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:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Znaczniki" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Rozdzielaj znaczniki przecinkami." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Slug" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Slug nie może być pusty" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licencja" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Biogram" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Strona internetowa" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Ten adres zawiera błędy" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Ulubiona licencja" - -#: mediagoblin/edit/forms.py:69 -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:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "Powiadamiaj mnie e-mailem o komentarzach do moich mediów" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Ulubiona licencja" + +#: mediagoblin/edit/forms.py:75 +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:87 msgid "The title can't be empty" msgstr "Tytuł nie może być pusty" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Opis tej kolekcji" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Stare hasło" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nowe hasło" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Hasło" + +#: mediagoblin/edit/forms.py:122 +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 "Adres z tym slugiem dla tego użytkownika już istnieje." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "Edytujesz media innego użytkownika. Zachowaj ostrożność." -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Dodałeś załącznik %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Masz możliwość edycji tylko własnego profilu." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "Edytujesz profil innego użytkownika. Zachowaj ostrożność." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Zapisano zmiany profilu" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Zapisano ustawienia konta" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Musisz potwierdzić, że chcesz skasować swoje konto." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Kolekcja \"%s\" już istnieje!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 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:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "Edytujesz kolekcję innego użytkownika. Zachowaj ostrożność." -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Nieprawidłowe hasło" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Twoje hasło zostało zmienione" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Nie można podlinkować motywu... nie wybrano motywu\n" @@ -298,19 +328,62 @@ 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:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "NIestety, nie obsługujemy tego typu plików :-(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "nie dało się uruchomić unoconv, sprawdź log" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Konwersja wideo nie powiodła się" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "komentarze do twojego wpisu" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Użytkownik" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Adres e-mail" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Nazwa konta lub adres poczty elektronicznej" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Położenie" @@ -374,7 +447,7 @@ msgstr "Przekierowanie URI dla aplikacji, to pole\n jest wyma msgid "This field is required for public clients" msgstr "To pole jest wymagane dla klientów publicznych" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "Klient {0} został zarejestrowany!" @@ -387,59 +460,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Dodaj" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Usuń" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Zaloguj się" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Logowanie nie powiodło się!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Niewłaściwy plik dla tego rodzaju mediów." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Plik" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Musisz podać plik." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Hura! Wysłano!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "Kolekcja \"%s\" została dodana!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Zweryfikuj swój adres e-mail!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "wyloguj się" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Zaloguj się" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "konto %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Zmień ustawienia konta" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +670,16 @@ msgstr "Zmień ustawienia konta" msgid "Media processing panel" msgstr "Panel przetwarzania mediów" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Wyloguj się" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Dodaj media" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Utwórz nową kolekcję" @@ -503,6 +726,59 @@ msgstr "Ostatnie 10 udanych wysyłek" msgid "No processed entries, yet!" msgstr "Na razie nie przetworzono żadnego wpisu!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +811,15 @@ msgid "" "a happy goblin!" msgstr "Cześć %(username)s,\n\naby zmienić twoje hasło dla GNU MediaGoblin, otwórz następującą stronę w swojej przeglądarce:\n\n%(verification_url)s\n\nJeśli sądzisz, że to pomyłka, po prostu zignoruj tę wiadomość i bądź nadal szczęśliwym goblinem!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Logowanie nie powiodło się!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Nie masz jeszcze konta?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Utwórz je tutaj!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Zapomniałeś hasła?" @@ -556,7 +828,7 @@ msgstr "Zapomniałeś hasła?" msgid "Create an account!" msgstr "Utwórz konto!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Utwórz" @@ -590,7 +862,7 @@ msgstr "Opublikowane na licencji MediaGoblin, świetne oprogramowanie do publikowania mediów." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "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:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 msgid "Don't have one yet? It's easy!" msgstr "Jeszcze go nie masz? To proste!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "Załóż konto na tym serwerze\n albo\n Uruchom MediaGoblin na swoim własnym serwerze" +"\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 @@ -630,13 +907,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Załączniki" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Dodaj załącznik" @@ -653,22 +930,29 @@ msgstr "Anuluj" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Zapisz zmiany" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Zachowaj" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "Zmieniam hasło użytkownika %(username)s" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Zachowaj" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,14 +980,14 @@ msgstr "Edytowanie %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Zmiana ustawień konta %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Zmień swoje hasło." - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Usuń moje konto" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -715,6 +999,36 @@ msgstr "Edycja %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Edycja profilu %(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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "%(formatted_time)s temu" + +#: 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 @@ -725,8 +1039,7 @@ msgstr "Media ze znacznikami: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Pobierz" @@ -750,7 +1063,7 @@ msgid "" msgstr "Proszę pobrać przeglądarkę, która obsługuje \n\tdźwięk w HTML5, pod adresem \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Oryginalny plik" @@ -759,6 +1072,10 @@ msgstr "Oryginalny plik" msgid "WebM file (Vorbis codec)" msgstr "plik WebM (kodek Vorbis)" +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +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 @@ -770,47 +1087,39 @@ msgstr "plik WebM (kodek Vorbis)" msgid "Image for %(media_title)s" msgstr "Grafika dla %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "Plik PDF" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "Obróć" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "Perspektywa" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Początek" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "Góra" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Krawędź" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Pobierz model" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Format pliku" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Wysokość obiektu" @@ -829,8 +1138,8 @@ msgid "" msgstr "Możesz pobrać porządną przeglądarkę, która jest w stanie odtworzyć ten materiał filmowy, ze strony ⏎ http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "plik WebM (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -856,11 +1165,6 @@ msgstr "%(collection_title)s użytkownika %(username)s< msgid "Edit" msgstr "Edytuj" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Usuń" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1219,22 @@ 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:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Dodaj komentarz" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Dodaj komentarz" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "%(formatted_time)s temu" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Dodano" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Utworzono" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1393,34 @@ msgstr "Znaczniki:" msgid "Could not read the image file." msgstr "Nie udało się odczytać pliku grafiki." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Ups!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Wystąpił błąd" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Operacja niedozwolona" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "Misiaczku, nie możesz tego uczynić!

      Próbowałeś wykonać działanie, do którego nie masz uprawnień. Czy naprawdę chciałeś skasować znowu wszystkie konta?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,10 +1457,9 @@ msgstr "Komentarz" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Możesz formatować przy pomocy składni Markdown." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1177,77 +1481,80 @@ msgstr "-- wybierz --" msgid "Include a note" msgstr "Dodaj notatkę" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "komentarze do twojego wpisu" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Komentowanie jest wyłączone." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Ups, twój komentarz nie zawierał treści." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Twój komentarz został opublikowany!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Sprawdź swoje wpisy i spróbuj ponownie." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Musisz wybrać lub dodać kolekcję" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" już obecne w kolekcji \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" dodano do kolekcji \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Media zostały usunięte." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Za chwilę usuniesz media innego użytkownika. Zachowaj ostrożność." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Element został usunięty z kolekcji." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "Ten element nie został usunięty, ponieważ nie zaznaczono, że jesteś pewien." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Zamierzasz usunąć element z kolekcji innego użytkownika. Zachowaj ostrożność." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Usunięto kolekcję \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "Ta kolekcja nie została usunięta, ponieważ nie zaznaczono, że jesteś pewien." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Zamierzasz usunąć kolekcję innego użytkownika. Zachowaj ostrożność." diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo index 5e83a7f261bc6b193b598c1e71b38c414865b909..71aef5b2148fcb0c47c92000eca62612c55f17c4 100644 GIT binary patch delta 10800 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 o%Mq3T7gH_s#luD<24Kr|1U#0S~6enX7CgbmM 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 Sp;4c0FVkhy`snO+<^KXPx^cn) diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po index 0e71a8a2..940e85ca 100644 --- a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po @@ -13,9 +13,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-06-16 20:06-0500\n" -"PO-Revision-Date: 2013-08-24 16:27+0000\n" -"Last-Translator: Canopus\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -24,250 +24,280 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: mediagoblin/auth/forms.py:25 -msgid "Username" -msgstr "Nome de Usuário" - -#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:44 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Senha" - -#: mediagoblin/auth/forms.py:33 -msgid "Email address" -msgstr "Endereço de email" - -#: mediagoblin/auth/forms.py:40 -msgid "Username or Email" -msgstr "Nome de usuário ou email" - -#: mediagoblin/auth/forms.py:51 -msgid "Username or email" -msgstr "Nome de usuário ou email" - -#: mediagoblin/auth/tools.py:42 -msgid "Invalid User name or email address." -msgstr "Nome de usuário ou email inválido." - -#: mediagoblin/auth/tools.py:43 -msgid "This field does not take email addresses." -msgstr "Este campo não aceita endereços de email." - -#: mediagoblin/auth/tools.py:44 -msgid "This field requires an email address." -msgstr "Este campo requer um endereço de email." - -#: mediagoblin/auth/tools.py:109 -msgid "Sorry, a user with that name already exists." -msgstr "Desculpe, um usuário com este nome já existe." - -#: mediagoblin/auth/tools.py:113 -msgid "Sorry, a user with that email address already exists." -msgstr "Desculpe, um usuário com esse email já está cadastrado" - -#: mediagoblin/auth/views.py:43 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Desculpa, o registro está desativado neste momento." -#: mediagoblin/auth/views.py:133 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Nome de usuário ou email" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Nome de usuário ou email inválido." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Este campo não aceita endereços de email." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Este campo requer um endereço de email." + +#: mediagoblin/auth/tools.py:146 +msgid "Sorry, a user with that name already exists." +msgstr "Desculpe, um usuário com este nome já existe." + +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +msgid "Sorry, a user with that email address already exists." +msgstr "Desculpe, um usuário com esse email já está cadastrado" + +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "O seu endereço de e-mail foi verificado. Você pode agora fazer login, editar seu perfil, e enviar imagens!" -#: mediagoblin/auth/views.py:139 +#: 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." -#: mediagoblin/auth/views.py:157 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Você precisa entrar primeiro para sabermos para quem mandar o email!" -#: mediagoblin/auth/views.py:165 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Você já verificou seu email!" -#: mediagoblin/auth/views.py:178 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "O email de verificação foi enviado novamente." -#: mediagoblin/auth/views.py:209 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Se esse endereço de email (sensível a maiúsculo/minúsculo!) estiver registrado, um email será enviado com instruções para alterar sua senha." -#: mediagoblin/auth/views.py:220 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Não foi possível encontrar alguém com esse nome de usuário." -#: mediagoblin/auth/views.py:223 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Um email foi enviado com instruções para trocar sua senha." -#: mediagoblin/auth/views.py:230 +#: mediagoblin/auth/views.py:258 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." -#: mediagoblin/auth/views.py:287 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Agora você pode entrar usando sua nova senha." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Título" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Descrição desse trabalho" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Você pode usar\n\nMarkdown para formatação." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Etiquetas" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Separe as etiquetas com vírgulas." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Arquivo" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "O arquivo não pode estar vazio" -#: mediagoblin/edit/forms.py:40 +#: 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 do endereço dessa mídia. Geralmente você não precisa mudar isso." -#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licença" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Biografia" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Website" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Este endereço contém erros" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Licença preferida" - -#: mediagoblin/edit/forms.py:69 -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:71 +#: 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" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Licença preferida" + +#: mediagoblin/edit/forms.py:75 +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:87 msgid "The title can't be empty" msgstr "O título não pode ficar vazio" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descrição desta coleção" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Senha antiga" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nova senha" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Senha" + +#: mediagoblin/edit/forms.py:122 +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 "Uma entrada com esse arquivo já existe para esse usuário" -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Você adicionou o anexo %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Você só pode editar o seu próprio perfil." -#: mediagoblin/edit/views.py:188 +#: 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." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "As mudanças no perfil foram salvas" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "As mudanças na conta foram salvas" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Você precisa confirmar a exclusão da sua conta." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Você já tem uma coleção chamada \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 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:329 +#: mediagoblin/edit/views.py:336 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:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Senha errada" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Sua senha foi alterada com sucesso." +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Não é possível fazer link de tema... nenhum tema definido\n" @@ -302,19 +332,62 @@ 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:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Desculpe, não tenho suporte a este tipo de arquivo :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Conversão do vídeo falhou" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "comentou na sua publicação" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Nome de Usuário" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Endereço de email" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Nome de usuário ou email" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Localização" @@ -378,7 +451,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "Este campo é necessário para clientes públicos" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "O cliente {0} foi registrado!" @@ -391,59 +464,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Adicionar" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Apagar" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +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" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Arquivo inválido para esse tipo de mídia" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Arquivo" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Você deve fornecer um arquivo." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Eba! Enviado!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "Coleção \"%s\" adicionada!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Verifique seu email!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "sair" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Entrar" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "Conta de %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Mudar configurações da conta" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -451,16 +674,16 @@ msgstr "Mudar configurações da conta" msgid "Media processing panel" msgstr "Painel de processamento de mídia" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Sair" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Adicionar mídia" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Criar nova coleção" @@ -507,6 +730,59 @@ msgstr "Últimos 10 envios bem sucedidos" msgid "No processed entries, yet!" msgstr "Ainda não há entradas processadas!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -539,19 +815,15 @@ msgid "" "a happy goblin!" msgstr "Olá %(username)s,\n\npara alterar sua senha do GNU MediaGoblin, abra a seguinte URL\nno seu navegador web:\n\n%(verification_url)s\n\nSe você acha que isso é um erro, desconsidere esse email e continue sendo um goblin feliz" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Autenticação falhou" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Ainda não tem conta?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Crie uma aqui!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Esqueceu sua senha?" @@ -560,7 +832,7 @@ msgstr "Esqueceu sua senha?" msgid "Create an account!" msgstr "Criar uma conta!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Criar" @@ -594,7 +866,7 @@ msgstr "Lançado sob a MediaGoblin, um programa excelente para hospedar, gerenciar e compartilhar mídia." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 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:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 msgid "Don't have one yet? It's easy!" msgstr " Ainda não tem uma conta? É facil!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "Crie uma conta neste site\nou\nConfigure MediaGoblin em seu próprio servidor" +"\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 @@ -634,13 +911,13 @@ 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:171 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Anexos" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:193 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Adicionar anexo" @@ -657,22 +934,29 @@ msgstr "Cancelar" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Salvar mudanças" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Salvar" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "Alterando a senha de %(username)s" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Salvar" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -700,14 +984,14 @@ msgstr "Editando %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Alterando as configurações da conta de %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Alterar sua senha." - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Deletar minha conta" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -719,6 +1003,36 @@ msgstr "Editando %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Editando 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 "" + +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "%(formatted_time)s" + +#: 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 @@ -729,8 +1043,7 @@ msgstr "Etiquetas desta mídia: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Baixar" @@ -754,7 +1067,7 @@ msgid "" msgstr "Você pode obter um navegador moderno\n »capaz de reproduzir o áudio em \n » http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Arquivo original" @@ -767,13 +1080,6 @@ msgstr "Arquivo WebM (codec Vorbis)" msgid "Created" msgstr "Criado" -#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "%(formatted_time)s" - #: mediagoblin/templates/mediagoblin/media_displays/pdf.html:59 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:87 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:93 @@ -785,47 +1091,39 @@ msgstr "%(formatted_time)s" msgid "Image for %(media_title)s" msgstr "Imagem para %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "Arquivo PDF" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "Alternar Rotação" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "Perspectiva" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Frente" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "Cima" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Lado" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Baixar o modelo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Formato de Arquivo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Altura do Objeto" @@ -844,8 +1142,8 @@ msgid "" msgstr "Você pode obter um navegador moderno\n capaz de reproduzir este vídeo em \n http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "Arquivo WebM (640p, VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -871,11 +1169,6 @@ msgstr "%(collection_title)s de %(username)s" msgid "Edit" msgstr "Editar" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Apagar" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -930,15 +1223,19 @@ 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:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Adicionar um comentário" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Adicionar este comentário" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Adicionado há" @@ -1100,26 +1397,34 @@ msgstr "Etiquetas" msgid "Could not read the image file." msgstr "Não foi possível ler o arquivo de imagem." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Oops" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Um erro ocorreu" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Operação não permitida" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "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?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1156,10 +1461,9 @@ msgstr "Comentário" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Você pode usar Markdown para formatação." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1181,77 +1485,80 @@ msgstr "-- Selecionar --" msgid "Include a note" msgstr "Incluir uma nota" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "comentou na sua publicação" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Desculpe, os comentários estão desabilitados." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Ops, seu comentário estava vazio." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Seu comentário foi postado!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Por favor, verifique suas entradas e tente novamente." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Você deve selecionar ou adicionar uma coleção" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" já está na coleção \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" adicionado à coleção \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Você deletou a mídia." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "A mídia não foi apagada porque você não marcou que tinha certeza." -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Você vai apagar uma mídia de outro usuário. Tenha cuidado." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Você deletou o item da coleção." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "O item não foi apagado porque você não marcou que tinha certeza." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Você está prestes a remover um item da coleção de um outro usuário. Prossiga com cuidado." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Você deletou a coleção \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "A coleção não foi apagada porque você não marcou que tinha certeza." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Você está prestes a deletar a coleção de um outro usuário. Prossiga com cuidado." diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo index 8cfdf3392cd14ca86d5b91208335d407f4a04f2c..6b261faedbc8e83af8705be25a5e06000166b006 100644 GIT binary patch delta 10536 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 hUwhX9A`iVM>3FK>GKXU}O)lFz+w-n+~1 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 H_3eKHK@dGS diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po index af2d94d6..64ba716d 100644 --- a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 20:40+0000\n" -"Last-Translator: George Pop \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"Last-Translator: cwebber \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" @@ -20,250 +20,280 @@ msgstr "" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Nume de utilizator" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Parolă" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Adresa de e-mail" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Numele de utilizator sau adresa de e-mail" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Numele de utilizator sau adresa de e-mail" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Nume de utilizator sau adresă de e-mail nevalidă." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Această rubrică nu este pentru adrese de e-mail." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "Această rubrică trebuie completată cu o adresă de e-mail." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Ne pare rău, dar înscrierile sunt dezactivate pe acest server." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Numele de utilizator sau adresa de e-mail" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Nume de utilizator sau adresă de e-mail nevalidă." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Această rubrică nu este pentru adrese de e-mail." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Această rubrică trebuie completată cu o adresă de e-mail." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Ne pare rău, există deja un utilizator cu același nume." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Adresa ta de e-mail a fost verificată. Poți să te autentifici, să îți completezi profilul și să trimiți imagini!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Cheie de verificare sau user ID incorect." -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Trebuie să fii autentificat ca să știm cui să trimitem mesajul!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Adresa ta de e-mail a fost deja verificată!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "E-mail-ul de verificare a fost retrimis." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Dacă adresa de e-mail este în baza noastră de date, atunci se va trimite imediat un mesaj cu instrucțiuni pentru schimbarea parolei. Țineți cont de litere mari / litere mici la introducerea adresei!" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Nu există nimeni cu acest nume de utilizator." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "S-a trimis un e-mail cu instrucțiuni pentru schimbarea parolei." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "E-mailul pentru recuperarea parolei nu a putut fi trimis deoarece contul tău e inactiv sau adresa ta de e-mail nu a fost verificată." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Acum te poți autentifica cu noua parolă." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titlu" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Descrierea acestui fișier" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Poți folosi\n \n Markdown pentru formatare." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Cuvinte-cheie" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Desparte cuvintele-cheie prin virgulă." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Identificator" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Identificatorul nu poate să lipsească" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licența" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Biografie" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Sit Web" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Această adresă prezintă erori" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Licența preferată" - -#: mediagoblin/edit/forms.py:69 -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:71 +#: mediagoblin/edit/forms.py:65 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:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Licența preferată" + +#: mediagoblin/edit/forms.py:75 +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:87 msgid "The title can't be empty" msgstr "Titlul nu poate să fie gol" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Descriere pentru această colecție" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Vechea parolă" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Noua parolă" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Parolă" + +#: mediagoblin/edit/forms.py:122 +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 "Există deja un entry cu același identificator pentru acest utilizator." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Ai anexat %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Nu poți modifica decât propriul tău profil." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "Editezi profilul unui utilizator. Se recomandă prudență." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Modificările profilului au fost salvate" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Setările pentru acest cont au fost salvate" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Trebuie să confirmi ștergerea contului tău." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Ai deja o colecție numită \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 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:329 +#: mediagoblin/edit/views.py:336 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:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Parolă incorectă" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Parola a fost schimbată cu succes" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Tema nu poate fi atașată... nu există o temă selectată\n" @@ -298,19 +328,62 @@ 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:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Scuze, nu recunosc acest tip de fișier :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: 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" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Transcodarea video a eșuat" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "a făcut un comentariu la postarea ta" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Nume de utilizator" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Adresa de e-mail" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Numele de utilizator sau adresa de e-mail" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Locul" @@ -374,7 +447,7 @@ msgstr "URI-ul de redirectare pentru aplicații, această rubrică\n msgid "This field is required for public clients" msgstr "Această rubrică este obligatorie pentru clienții publici" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "Clientul {0} a fost înregistrat!" @@ -387,59 +460,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Adaugă" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Șterge" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Autentificare" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Autentificare eșuată!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Formatul fișierului nu corespunde cu tipul de media selectat." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Fișier" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Trebuie să selectezi un fișier." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Ura! Trimis!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "Colecția \"%s\" a fost creată!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Verifică adresa de e-mail!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "Ieșire" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Autentificare" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "Contul lui %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Modifică setările contului" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +670,16 @@ msgstr "Modifică setările contului" msgid "Media processing panel" msgstr "Panou de procesare media" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Ieșire" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Trimite fișier" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Creează colecție nouă" @@ -503,6 +726,59 @@ msgstr "Ultimele 10 upload-uri reușite" msgid "No processed entries, yet!" msgstr "Nu există încă niciun entry procesat!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +811,15 @@ msgid "" "a happy goblin!" msgstr "Bună, %(username)s\n\nPentru a schimba parola ta la GNU MediaGoblin, accesează adresa următoare:\n\n%(verification_url)s\n\nDacă ai primit acest mesaj din greșeală, ignoră-l și fii mai departe un goblin fericit!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Autentificare eșuată!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Nu ai un cont?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Creează-l aici!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Ai uitat parola?" @@ -556,7 +828,7 @@ msgstr "Ai uitat parola?" msgid "Create an account!" msgstr "Creează un cont!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Creează" @@ -590,7 +862,7 @@ msgstr "Publicat sub licența MediaGoblin, un software excepțional pentru găzduirea fișierelor media." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "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:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 msgid "Don't have one yet? It's easy!" msgstr "Încă nu ai unul? E simplu!" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "Creați un cont pe acest site\n sau\n Instalați MediaGoblin pe serverul dvs." +"\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 @@ -630,13 +907,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Anexe" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Atașează" @@ -653,22 +930,29 @@ msgstr "Anulare" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Salvează modificările" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Salvează" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "Se modifică parola pentru %(username)s" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Salvează" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,14 +980,14 @@ msgstr "Editare %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Se modifică setările contului pentru userul %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Modifică parolă." - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Șterge contul meu" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -715,6 +999,36 @@ msgstr "Editare %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Editare 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 "" + +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "în urmă cu %(formatted_time)s" + +#: 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 @@ -725,8 +1039,7 @@ msgstr "Fișier etichetat cu cuvintele-cheie: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Download" @@ -750,7 +1063,7 @@ msgid "" msgstr "Poți lua un browser modern \n\tcapabil să redea această înregistrare de la \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Fișierul original" @@ -759,6 +1072,10 @@ msgstr "Fișierul original" msgid "WebM file (Vorbis codec)" msgstr "Fișier WebM (codec Vorbis)" +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +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 @@ -770,47 +1087,39 @@ msgstr "Fișier WebM (codec Vorbis)" msgid "Image for %(media_title)s" msgstr "Imagine pentru %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "Fișier PDF" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "Rotire" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "Perspectivă" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Din față" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "De sus" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Lateral" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Descarcă modelul" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Formatul fișierului" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Înălțimea obiectului" @@ -829,8 +1138,8 @@ msgid "" msgstr "Puteți obține un browser Web modern care poate reda această înregistrare de la http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "Fișier WebM (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -856,11 +1165,6 @@ msgstr "%(collection_title)s de %(username)s" msgid "Edit" msgstr "Editare" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Șterge" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1219,22 @@ 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:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Adaugă un comentariu" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Trimite acest comentariu" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "în urmă cu %(formatted_time)s" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Adăugat" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Creat" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1393,34 @@ msgstr "Etichetat cu cuvintele-cheie" msgid "Could not read the image file." msgstr "Fișierul cu imaginea nu a putut fi citit." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Hopa!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "S-a produs o eroare" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Operația nu este permisă" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "Îmi pare rău, Dave, nu te pot lăsa să faci asta!

      Ai încercat să faci o operație nepermisă. Ai încercat iar să ștergi toate conturile utilizatorilor?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,10 +1457,9 @@ msgstr "Comentariu" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Poți folosi Markdown pentru formatare." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1177,77 +1481,80 @@ msgstr "-- Selectează --" msgid "Include a note" msgstr "Adaugă o notiță" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "a făcut un comentariu la postarea ta" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Comentariile sunt dezactivate." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Hopa, ai uitat să scrii comentariul." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Comentariul tău a fost trimis!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Verifică datele și încearcă din nou." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Trebuie să alegi sau să creezi o colecție" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" este deja în colecția \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" a fost adăugat la colecția \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Ai șters acest fișier" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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:296 +#: mediagoblin/user_pages/views.py:321 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:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Ai șters acest articol din colecție." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 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:382 +#: mediagoblin/user_pages/views.py:407 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:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Ai șters colecția \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 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:430 +#: mediagoblin/user_pages/views.py:455 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 ed28ff432a728a62a48609a684536978b279fc07..333470199d09bf3f040b429ab411b0830f9b60e6 100644 GIT binary patch delta 10551 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 F^FJI}89o32 delta 5127 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 Gs^!1vW{H;o diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po index d0ff7bdd..8839bf43 100644 --- a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-06-01 21:08+0000\n" -"Last-Translator: aleksejrs \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -20,250 +20,280 @@ 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/auth/forms.py:26 -msgid "Username" -msgstr "Логин" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Пароль" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Адрес электронной почты" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Имя пользователя или адрес электронной почты" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Имя пользователя или адрес электронной почты" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Это поле не для адреса электронной почты." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "Это поле — для адреса электронной почты." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Извините, на этом сайте регистрация запрещена." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Имя пользователя или адрес электронной почты" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Это поле не для адреса электронной почты." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Это поле — для адреса электронной почты." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Извините, пользователь с этим именем уже зарегистрирован." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "Сожалеем, но на этот адрес электронной почты уже зарегистрирована другая учётная запись." -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Неверный ключ проверки или идентификатор пользователя" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Вы уже потвердили свой адрес электронной почты!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Переслать сообщение с подтверждением аккаунта." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Если с этим адресом электронной почты (сравниваемым чувствительно к регистру символов!) есть учётная запись, то на него отправлено сообщение с указаниями о том, как сменить пароль." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Не найдено никого с таким именем пользователя." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Вам отправлено электронное письмо с инструкциями по смене пароля." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Мы не можем отправить сообщение для восстановления пароля, потому что ваша учётная запись неактивна, либо указанный в ней адрес электронной почты не был подтверждён." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Теперь вы можете войти, используя ваш новый пароль." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Название" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Описание этого произведения" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Для разметки можете использовать язык\n \n Markdown." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Метки" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "(через запятую)" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Отличительная часть адреса" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Отличительная часть адреса необходима" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Лицензия" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Биография" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Сайт" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Этот адрес содержит ошибки" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Предпочитаемая лицензия" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "Она будет лицензией по умолчанию для ваших загрузок" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "Уведомлять меня по e-mail о комментариях к моим файлам" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "Название не может быть пустым" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Описание этой коллекции" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "Отличительная часть адреса этой коллекции, основанная на названии. Обычно не нужно её изменять." -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Старый пароль" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "Введите свой старый пароль в качестве доказательства, что это ваша учётная запись." -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Новый пароль" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Пароль" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "Вы редактируете файлы другого пользователя. Будьте осторожны." -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Вы добавили сопутствующий файл %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Вы можете редактировать только свой собственный профиль." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "Вы редактируете профиль пользователя. Будьте осторожны." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Изменения профиля сохранены" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Настройки учётной записи записаны" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Вам нужно подтвердить, что вы хотите удалить свою учётную запись." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "У вас уже есть коллекция с названием «%s»!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "У этого пользователя уже есть коллекция с такой отличительной частью адреса." -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "Вы редактируете коллекцию другого пользователя. Будьте осторожны." -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Неправильный пароль" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Ваш пароль сменён успешно" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Невозможно привязать тему… не выбрано существующей темы\n" @@ -298,19 +328,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Перекодировка видео не удалась" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Логин" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "На карте" @@ -374,7 +447,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "Клиент {0} зарегистрирован!" @@ -387,59 +460,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Добавить" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Неправильный формат файла." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Файл" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Вы должны загрузить файл." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Ура! Файл загружен!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "Коллекция «%s» добавлена!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Подтвердите ваш адрес электронной почты!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "завершение сеанса" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Войти" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "Учётная запись %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Изменить настройки учётной записи" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +670,16 @@ msgstr "Изменить настройки учётной записи" msgid "Media processing panel" msgstr "Панель обработки файлов" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Завершение сеанса" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Добавить файлы" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Создать новую коллекцию" @@ -503,6 +726,59 @@ msgstr "Последние 10 удавшихся загрузок" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +811,15 @@ msgid "" "a happy goblin!" msgstr "Привет, %(username)s,\n\nчтобы сменить свой пароль от GNU MediaGoblin, откройте\nследующий URL вашим веб‐браузером:\n\n%(verification_url)s\n\nЕсли вы думаете, что это какая‐то ошибка, то игнорируйте\nэто сообщение и продолжайте быть счастливым гоблином!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Авторизация неуспешна!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Ещё нету аккаунта?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Создайте здесь!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Забыли свой пароль?" @@ -556,7 +828,7 @@ msgstr "Забыли свой пароль?" msgid "Create an account!" msgstr "Создать аккаунт!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Создать" @@ -590,7 +862,7 @@ msgstr "Он опубликован на условиях MediaGoblin, необыкновенно замечательном ПО для хостинга мультимедийных файлов." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -630,13 +907,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Сопутствующие файлы" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Добавить сопутствующий файл" @@ -653,22 +930,29 @@ msgstr "Отмена" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Сохранить" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "Смена пароля %(username)s" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Сохранить" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,14 +980,14 @@ msgstr "Редактирование %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Настройка учётной записи %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Сменить пароль" - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Удалить мою учётную запись" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -715,6 +999,36 @@ msgstr "Редактирование %(collection_title)s" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "%(formatted_time)s назад" + +#: 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 @@ -725,8 +1039,7 @@ 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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Скачать" @@ -750,7 +1063,7 @@ msgid "" msgstr "Вы можете скачать современный браузер, \n\tспособный проиграть это аудио, с \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Исходный файл" @@ -759,6 +1072,10 @@ msgstr "Исходный файл" msgid "WebM file (Vorbis codec)" msgstr "WebM‐файл (кодек — Vorbis)" +#: 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 @@ -770,47 +1087,39 @@ msgstr "WebM‐файл (кодек — Vorbis)" msgid "Image for %(media_title)s" msgstr "Изображение «%(media_title)s»" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "PDF-файл" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "Перспектива" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Спереди" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "Сверху" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Сбоку" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Скачать модель" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Формат файла" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Высота объекта" @@ -829,8 +1138,8 @@ msgid "" msgstr "Вы можете скачать современный браузер, способный воспроизводить это видео, с \n http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "WebM-файл (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -856,11 +1165,6 @@ msgstr "%(collection_title)s пользователя % msgid "Edit" msgstr "Изменить" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Удалить" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1219,22 @@ msgstr "Файлы пользователя %(username) msgid "❖ Browsing media by %(username)s" msgstr "❖ Просмотр файлов пользователя %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Добавить комментарий" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Добавить этот комментарий" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "%(formatted_time)s назад" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Добавлен" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Создан" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1393,34 @@ msgstr "Метки" msgid "Could not read the image file." msgstr "Не удалось прочитать файл с изображением." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Ой!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Произошла ошибка" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Операция не позволяется" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,10 +1457,9 @@ msgstr "Комментировать" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Для разметки можете использовать язык Markdown." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1177,77 +1481,80 @@ msgstr "-- Выберите --" msgid "Include a note" msgstr "Примечание" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "оставил комментарий к вашему файлу" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Сожалеем: возможность комментирования отключена." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Ой, ваш комментарий был пуст." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Ваш комментарий размещён!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Пожалуйста, проверьте введённое и попробуйте ещё раз." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Необходимо выбрать или добавить коллекцию" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "«%s» — уже в коллекции «%s»" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "«%s» добавлено в коллекцию «%s»" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Вы удалили файл." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "Файл не удалён, так как вы не подтвердили свою уверенность галочкой." -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Вы на пороге удаления файла другого пользователя. Будьте осторожны." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Вы исключили файл из коллекции." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "Файл не исключён из коллекции, так как вы не подтвердили своё намерение отметкой." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Вы на пороге исключения файла из коллекции другого пользователя. Будьте осторожны." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Вы удалили коллекцию «%s»" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "Коллекция не удалена, так как вы не подтвердили своё намерение отметкой." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 fd48a37f3f9684412d7b9823e2c862b6301c8234..07717f03e3958ecae0edfe9fe22e70eae04b506f 100644 GIT binary patch delta 10507 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 H5_5k_VTr7ECUMf&}5x6?m6(@c`jId|_p zkKgZiZt~&{*ZY5Rh0i8LKdkurk)Jevx^BF!473m63TrB_QFvZ$NZ{{Miv*Uup_RI-0;&#e+L$F z{c&{TdpI5Yvx)-rq73{5%0!2-D;_~v;0a{y>J5ApKfzAe+()TQ=2z=!@U8ani?P*V z9EzvWz#AwbOGze-I2aj2jlvjoV?I`5e{99oxDRDx=_$^HccLt$5@ntm49m(}Xvjc6 zLs{82BrEDsln0*0XgrFtvv!n;P9t-uD=4{-;g?*`M9Fz6N(!cCBa2aLZAD+= z&*s!-F35wsaR?qm$>l|qNL)weQ2kS#RE$Mgu!S;kGs?o&qU>xlN-7_ZT;GS&=pVun zcmvnrpfuwD0gb&ZryAE#>cjCYN=Rc_RXR?@vA6`+;|^@WK71$(dkE!}Jd09XCsB6( z2@b%^n2GU*6RA9u4OE0_NQmd6gv^VQf&j`5EhwLFKpA*DO75RQ##F~pQurxK%DzO2 zNK}Rs>KK%X6H&$)gYx`zB&aIvp&>b3ixTpOQC7ScC0Bn$sp>N*Aw7$-(+en}j$(9K zcrwcK8IgWY#IY!;DMd-;OuQePkmtkdCJk9YFJ_&DBTzzZq3rA#l!Y9|t#|?@LURW? zpzNa8!;ObsAL06QO2uAZdKuk2QbX$)VnmQ@H@N@ zD;P~)!KZO4-onwibfi-Q8W+=l6eZ_3umg5tR@q@JcE%nkDM*eu45bLiqikeWHt{!T z)N?^5+=3nPFv^OLMQ;2UW9VN;8Q>3er*TpMY#$EyOw4if;S}C*#0eP5{

      ZxD8)H6KCW(wetc>Xx~OTUf&~Spb~hA zjKd<79fweAqzz^KV__NzG%lg+cEeN~%s_BEEwM@nYoj?Ijd_m)tZ+=Nmz&*B(7j56?7D53AgFIngUlxjCoPLU5K6=Cd%51}md5p?50${AMbDk?>cVF<3 z04oBYQ z{CWKtS+weMw^Nk!P$IDvhoOz~W;}~tOr5RNGHgZJ$Ys2pbL>Yyx=Q~4qmfBN240C1 z@fgY*?iQMuI>%YS29yV%L*7B^&4^v+I)B}!qs{dPu@EQCbDnEK8Sg2SjlPa~cnQOU zX{66rip{C1xDj{YSWH`>ln3V^*-$T|ymC7&bpBh8L#gtWC`GpsJK$za!Ur%D_hL4l zz`l4LWkK=x5Pz9y#68X%&qOJjo!B3Dqdag7CFdVv0)Bz<_#FAclk0UUl#woIiD3Pc^3H5rE z2yDboxE;IWE|e4Qoa z7@Uw>*{^{gffl#fVpf!=AfYgv(6g~nSmv%0=}$Zrfy3d*1-zI z>iEPF8O`1m-s}dm*6XRWs(oI6wiT$$aeHc3c>Q&5t2t!p`H3TRc2Yn6nY*h!AnExi zeI+?h=cK%;&kdTY8~SRUliFMVBK206Mpn~o1!}YPSF=*|;k2x6{U+Hv`&GDfa=KUV zN?)c280+*?Mukq!D6}_Z?258e2L+;%tW_aZZq?N>qv7=%%RFA6S(~9x4Y7Jwcp6Mq zVKy888C(B)s8?raZAl1tWVeRj3K<@s&uTVnb!eE!zBDW^%B~z46QyV5Hs}kvFU41R z>gvo|quCp(SG0rnPewoJ((e2-y0Bn`9$nbSe!8HsL)W@GpK07}g*+isCl-y@twmcp z73SwQ-eK5r8%szyNdNci!Xh4$v z`DDWtTQG9;7-Ll4xPpA$t*n13-LXdQm~r`IhUfAXTkZ*lMpgwp{-DnjvI66b22UWw z&d0CzgaTGgeYVptscRq<*)>*!y}Yca%bqgL>++BH82@M5i|4k4nyi5L_H%`yT%ab9|1cIM%rR)W;FTHdgYFAa`rwRl`r3@IbkCWe>&%K|`+XPmI>({w-+47Tm=!z-!&K2i7^jzp^^tT^ji2*AlPp{Hzt)L#* zcqlH|ex%w87(*jf^I>B!%6=_)!lkpCp6)rb{kO-Dn#cDTO)aaAA7zWWvZ+|_ZyIiY Y+??mqn_Jv^*y?_|Vf9fxY0cGt1MXl_Gynhq diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po index e4d1bacc..79b000c1 100644 --- a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po @@ -3,19 +3,19 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: -# martin , 2013 -# martin , 2012-2013 +# martin, 2013 +# martin, 2012-2013 # Morten Juhl-Johansen Zölde-Fejér , 2012 # Olle Jonsson , 2012 # ttrudslev , 2012 -# martin , 2011-2012 +# martin, 2011-2012 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-28 07:47+0000\n" -"Last-Translator: martin \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -24,250 +24,280 @@ msgstr "" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Používateľské meno" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Heslo" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Email adresse" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Použivateľské meno alebo e-mail" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Používateľské meno alebo e-mailová adresa" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Nesprávne používateľské meno alebo e-mailová adresa." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Toto pole neakceptuje e-mailové adresy." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "Toto pole vyžaduje e-mailovú adresu." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Prepáč, registrácia na danej inštancii nie je povolená." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Používateľské meno alebo e-mailová adresa" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Nesprávne používateľské meno alebo e-mailová adresa." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Toto pole neakceptuje e-mailové adresy." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Toto pole vyžaduje e-mailovú adresu." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Prepáč, rovnaké používateľské meno už existuje." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Tvoja e-mailová adresa bola overená. Teraz sa môžeš prihlásiť, upravovať profil a vkladať výtvory!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Overovací kľúč, prípadne používateľské meno je nesprávne." -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Je potrebné prihlásiť sa, aby sme vedeli kam máme e-mail zaslať!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Už máš overenú e-mailovú adresu!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Opätovne zaslať overovací e-mail." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Pokiaľ daná e-mailová adresa (citlivá na veľkosť písma!) je registrovaná, e-mail z inštrukciami pre zmenu tvojho hesla bol zaslaný." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "Nemožno nájsť nikoho z daným používateľským menom." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "E-mailová správa z inštrukciami na zmenu tvojho hesla bola zaslaná." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Nebolo možné zaslať e-mail na opätovné získanie zabudnutého hesla, nakoľko tvoje používateľské meno je neaktívne, prípadne e-mailová adresa nebola úspešne overená." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Už môžeš použiť nové heslo pri prihlasovaní." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titulok" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Popis výtvoru" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 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:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Štítky" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Oddeľ štítky pomocou čiarky." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Unikátna časť adresy" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Unikátna časť adresy nesmie byť prázdna" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Licencia" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Bio" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Webstránka" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Daná adresa obsahuje chybu" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Preferencia licencie" - -#: mediagoblin/edit/forms.py:69 -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:71 +#: mediagoblin/edit/forms.py:65 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:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Preferencia licencie" + +#: mediagoblin/edit/forms.py:75 +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:87 msgid "The title can't be empty" msgstr "Titulok nesmie byť prázdny." -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Popis danej kolekcie" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Staré heslo" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Nové heslo" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Heslo" + +#: mediagoblin/edit/forms.py:122 +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 "Položku s rovnakou unikátnou časťou adresy už niekde máš." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Príloha %s pridaná!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Môžeš upravovať iba svoj vlastný profil." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Zmeny v profile uložené" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Nastavenia účtu uložené" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Potrebuješ potvrdiť odstránenie svojho účtu." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Už máš kolekciu nazvanú ako \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "Kolekcia s týmto štítkom už máš." -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 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:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Nesprávne heslo" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Tvoje heslo bolo úspešne zmenené" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Nemožno pripojiť tému... téma nenastavená\n" @@ -302,19 +332,62 @@ 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:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Prepáč, nepodporujem tento typ súborov =(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "beh unoconv zlyhal, preskúmajte log záznam" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Konvertovanie videa zlyhalo" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "okmentoval tvoj príspevok" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Používateľské meno" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Email adresse" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Použivateľské meno alebo e-mail" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Poloha" @@ -378,7 +451,7 @@ msgstr "Presmerovacie URI pre aplikácie, toto pole\nje požadované%(user_name)s's account" msgstr "Účet používateľa %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Zmeniť nastavenia účtu" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -451,16 +674,16 @@ msgstr "Zmeniť nastavenia účtu" msgid "Media processing panel" msgstr "Sekcia spracovania výtvorov" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Odhlásiť sa" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Pridať výtvor" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Vytvoriť novú kolekciu" @@ -507,6 +730,59 @@ msgstr "Posledných 10 úspešných nahratí" msgid "No processed entries, yet!" msgstr "Zatiaľ žiadne spracované položky!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -539,19 +815,15 @@ msgid "" "a happy goblin!" msgstr "Ahoj %(username)s,\n\npre zmenu svojho hesla k GNU MediaGoblin účtu, otvor nasledujúci odkaz vo svojom prehliadači:\n\n%(verification_url)s\n\nPokiaľ si myslíš, že došlo k omylu, tak jednoducho ignoruj túto správu a buď šťastným goblinom!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Prihlásenie zlyhalo!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Ešte stále nemáš účet?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Vytvor si jeden tu!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Zabudnuté heslo?" @@ -560,7 +832,7 @@ msgstr "Zabudnuté heslo?" msgid "Create an account!" msgstr "Opret en konto!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Vytvoriť" @@ -594,7 +866,7 @@ msgstr "Uvoľnené pod MediaGoblin, výnimočne skvelý kus softvéru na hostovanie médií." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "Pre pridanie vlastných výtvorov, komentárov a viac.. sa prihlás zo svojim MediaGoblin účtom." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "Vytvoriť účet na tejto stránke\n alebo\n Nastaviť MediaGoblin na vlastnom serveri" +"\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 @@ -634,13 +911,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Prílohy" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Pridať prílohu" @@ -657,22 +934,29 @@ msgstr "Zrušiť" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Uložiť zmeny" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Uložiť" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "Mením heslo používateľa %(username)s" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Uložiť" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -700,14 +984,14 @@ msgstr "Úprava %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Mením nastavenia účtu používateľa %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Zmeniť svoje heslo." - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Odstrániť môj účet" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -719,6 +1003,36 @@ msgstr "Úprava %(collection_title)s" msgid "Editing %(username)s's profile" msgstr "Úprava profilu, ktorý vlastní %(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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "pred %(formatted_time)s " + +#: 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 @@ -729,8 +1043,7 @@ msgstr "Výtvory označené ako: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Stiahnuť" @@ -754,7 +1067,7 @@ msgid "" msgstr "Môžeš získať moderný prehliadač, ktorý\n\ttento zvuk hravo prehrá \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Originálny súbor" @@ -763,6 +1076,10 @@ msgstr "Originálny súbor" msgid "WebM file (Vorbis codec)" msgstr "WebM súbor (Vorbis kodek)" +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +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 @@ -774,47 +1091,39 @@ msgstr "WebM súbor (Vorbis kodek)" msgid "Image for %(media_title)s" msgstr "Obrázok pre %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "PDF súbor" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "Zapnúť rotáciu" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "Perspektíva" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Čelo" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "Vrch" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Strana" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Stiahnuť model" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Súborový formát" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Výška objektu" @@ -833,8 +1142,8 @@ msgid "" msgstr "Môžeš získať moderný prehliadač, ktorý\n\ttento video súbor hravo prehrá na \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "WebM súbor (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -860,11 +1169,6 @@ msgstr "%(collection_title)s od %(username)s" msgid "Edit" msgstr "Upraviť" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Odstrániť" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -919,29 +1223,22 @@ 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:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Pridať komentár" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Pridať tento komentár" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "pred %(formatted_time)s " +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Pridané" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Vytvorené" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1100,26 +1397,34 @@ msgstr "Označené ako" msgid "Could not read the image file." msgstr "Nemožno prečítať súbor obrázka." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Hopla!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Vyskytla sa chyba" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Nepovolená operácia" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "Prepáč Človeče, toto nesmieš!

      Práve si chcel vykonať funkciu, na ktorú nemáš oprávnenie. Opäť si sa pokúšal odstrániť všetky používateľské účty?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1156,10 +1461,9 @@ msgstr "Komentár" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Môžeš využiť Markdown pre formátovanie príspevku." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1181,77 +1485,80 @@ msgstr "-- Vybrať --" msgid "Include a note" msgstr "Pridať poznámku" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "okmentoval tvoj príspevok" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Prepáč, komentovanie je vypnuté." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Hopla, tvoj komentár bol prázdny." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Tvoj komentár bol pridaný!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Prosím skontroluj svoje položky a skús znova." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Musíš vybrať, prípadne pridať kolekciu" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" sa už nachádza v kolekcii \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s pridané do kolekcie \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Výtvor bol tebou odstránený." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Chystáš sa odstrániť výtvory niekoho iného. Pristupuj zodpovedne. " -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "Položka bola z kolekcie odstránená." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "Položka nebola odstránená, nakoľko políčko potvrdenia nebolo označné." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Chystáš sa odstrániť položku z kolekcie iného používateľa. Pristupuj zodpovedne. " -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Kolekcia \"%s\" bola úspešne odstránená." -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "Kolekcia nebola odstránená, nakoľko políčko potrvdenia nebolo označené." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Chystáš sa odstrániť kolekciu iného používateľa. Pristupuj zodpovedne. " diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo index 199e761cfc73a72c8d77e73d29acedf2c69b4ce3..3ca9a4040579e5df98c4c9b8f217c67014f9dcd7 100644 GIT binary patch literal 30652 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 delta 4958 zcmcK6e^k}=9mny{MFT}dR76053knJ%3IYNu{=gsP4>Tn$6XnNbfiJ}MtsDXcon&=n~z-LhbzJkPVUdKK7K1O2KaAPu<-*nU9$2`g( z#x^H#ES^L!euYX|QX*-@EMyFmk5O2Og}4M$aU0%=hfoVkOL8W>5f#W1)I1FsQsf(H zXrTL1k?lgNV)mdOIEsDom#CG!gqr9iGKcvqs`gR*(e(^e&1a%YFdy~&t*C{pM(wrc zWb)7A%yus5!2>u3dr-B!h|0w0$Q&khgj0$VRKP*hz+I@oHltRy9aYLl-0O#M9{ppO zi(lau%p6Jn-=%SoaO!arTYVg!MWr;FsM2scmf#xf#)oku4(CG!_FdE|If~j`uc21{ zK90gqFazVfPNpWI7El$Up%gDir7VCdK|AV(ji}GJq6U5lRr@E9F-;Gugy&Et`x`1F z5$R5PBp&D*RrF=Ik;)AGKy^7k^@1Rn87PZm~s8mNVx&lu` zJ)iFOC%BfNN;4Bx%0+k&Za|(7nQJr@z))tLg}JCy2T?0~0u{&!+=;KCGPHcOllmG| zCc027|32#e{iuu_L5=@&_xd}iz|Uh}o&PUsXn?D|7ucDZ#;l;9j*sC+ROD${&Uvpy zZK7`MtvM={uVFr3z?GOVh9iczqcU(B`{H?I4d!E9!2Bkf(dXcDoQwNW$Kyk6MIBLVO~~~KhFF|=n?^PM9q+;_M$=dD zNvy@|Sb(+TojqW2HT^xPntz3TFp^od!f5P=gHR<%bj?9+!l|f*EY2hUUK&kY(1iEl z4R`_-agTfBA25pk=coa$VJyb+kV=q-x_=t7c(W33#%)-M?_mXwp2!KnCY*r>CX)Xt zG|qEjGp10$ZMYXnhVim&)oLNm!#3Q7$I*uiCOLcOr>NAvg*skeBiq0X;Y*|pOHnKC zMD39ssPTJ3G=|Xl3u-0bpi(=s$QgJOYM_0nfnP+W`uEr$-$$kVA}T|lU?g5aW%6rR zPqEXFLX9^N^<1dXZIq%0EXQeBiIEYURa9U*N}Pa>BFQqp#_4z!6L4y&a|)JWJpESG zru{Z*FYH4P9>N$rjOTRz!!*dIvE+$h%`2#sUFFY8oJ@W6{@;b%YLbag6IP=#(Ts5z zL~X{qPysxM+9Lpw%?_dE{8w|YOP{vXj$?XI9wmRj!IFdEe_K|V6&sLiw)XX4AK zOhl0e4P1hHJ>Q4}u-fg{qDtJ1d$1do>BJfC`#*z*QZ)yMVGWMO4)o%FRLXvVn&5R* z22Nvd&5>z`vNBZZmbllK<2?HH$X9{+5n4PmJLJ6oTj%g07v|1& z&gBtQN>5`NM)Ncq-Q-|5HsDtL0F$t>(m5sFs7&lft^61&@E+7A{}7Wg;YMcx`5_ug zaVhr0h3*G8yVkg$`&{op{_|oUKn3_2aTQ_% z{hc@fKSKq69hKq8o80$*4h{C7*?{af^Bn4U^jYe>|GlV9wiC6IBe)D-L}D`ubjs0( zkK!TB!MWAWsk$9Co<(KqnCltregF5p*?Ar2;9cC%j9SSjSc}Qao!z?$wSu4EYJ3_8 zV*Co{t2hHyf-H=~aX1*Kx>n&3`n9NqbgZEMxir4Rg$Z~9wQ2r@iujUyW6UkiM432< z>yt1RD^Mj^in_lIwelTE?B+ODV(hKX`+o)I)8B_P@He+|{!4VjO6UDQ54X|(6^_IC zYy{P61FAH8aTlIPA9k*C_RbkpYX5-=IJ(Ap%}&8G`t>**e}D?$Y1H@^Lo}31^i7d{B~w|o7#PAr)6Z0ZTI;D9i6`RHS613vO6;D zj`*BD!S-ky7oVHn6=)9Rt@AYo>iog_mOyJ>u-!kQvaX>y(CV)Yc6A2rE%CWFFCitI znDA_by?enVJ0a-}dp>inU6*X_gb~B+_eNar-&WVr(G_fO%(DkZ&f1kSE4(+Q%3~AL z0(M{8T06?S#UA!n+2@xPhqtEhiwOU5MT{prCTp!HA-KNNEDZYnOy>=>de_zkT6~S^ z_P1k#gRAP+`An6s%logv?T^O>Y+m+#_SC9jwyq}C?#`JJK2`IP$G(|c6<#tvD#9*n z7;ft)F1HsZJ`-16=lA;>y-~1CKiRG=e8v_R<=TSc;o--N z+WHLe`&)e8rNPd+PM?i0ooct0-WOS1II(StHym4bQ$+ZS;9`$WFF$N|v~Tg0+e_u? z_EblYZJk+Vi)PKVm)Dou!iuf-*rN$=>`)WkrQHW=^WxEukAOoYUY5 z*UroK{C`Vk6B8DOFI8@I%J%YtcYDhgyXbEF!lL2foT~nw|EinaoARZdaMKD(=eLuW z)=|17`}WdCJ8jvT-tuKvA6NMvi0G}{lJ>y2>NeDQTLa$p9c{jrx;*>j$_@Xsa+B?A zx0O)62D^Dxrdz?=sNTYe@RHg=s@xV;&7Nx<7T#2Fug9+T|ISu5%~E~r<3-!UHGwxH z{-Z`YEwic782frlt6L`F&?)_Nj87OQ!0`j*!9#u0n=&s AJ^%m! diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po index 35635acf..16721c1c 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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,250 +19,280 @@ 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/auth/forms.py:26 -msgid "Username" -msgstr "Uporabniško ime" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Geslo" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "E-poštni naslov" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Oprostite, prijava za ta izvod ni omogočena." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Oprostite, uporabnik s tem imenom že obstaja." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Vaš e-poštni naslov je bil potrjen. Sedaj se lahko prijavite, uredite svoj profil in pošljete slike." -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Potrditveni ključ ali uporabniška identifikacija je napačna" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Ponovno pošiljanje potrditvene e-pošte." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Naslov" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Oznake" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Oznaka" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Oznaka ne sme biti prazna" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Biografija" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Spletna stran" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Geslo" + +#: mediagoblin/edit/forms.py:122 +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 "Vnos s to oznako za tega uporabnika že obstaja." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "Urejate vsebino drugega uporabnika. Nadaljujte pazljivo." -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "Urejate uporabniški profil. Nadaljujte pazljivo." -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -297,19 +327,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Uporabniško ime" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "E-poštni naslov" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -373,7 +446,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -386,59 +459,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Prijava" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Prijava ni uspela." + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Za vrsto vsebine je bila podana napačna datoteka." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Datoteka" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Podati morate datoteko." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Juhej! Poslano." -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Prijava" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -446,16 +669,16 @@ msgstr "" msgid "Media processing panel" msgstr "Podokno obdelovanja vsebine" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Dodaj vsebino" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -502,6 +725,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -534,19 +810,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Prijava ni uspela." - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Še nimate računa?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Ustvarite si ga." -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -555,7 +827,7 @@ msgstr "" msgid "Create an account!" msgstr "Ustvarite račun." -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Ustvari" @@ -589,7 +861,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -599,22 +871,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -629,13 +906,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -652,22 +929,29 @@ msgstr "Prekliči" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Shrani spremembe" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -695,12 +979,12 @@ msgstr "Urejanje %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -714,6 +998,36 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "Urejanje profila – %(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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -724,8 +1038,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -749,7 +1062,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -758,6 +1071,10 @@ msgstr "" 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 @@ -769,47 +1086,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -828,7 +1137,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -855,11 +1164,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,29 +1218,22 @@ msgstr "Vsebina uporabnika %(username)s" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1095,26 +1392,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Opa!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1151,9 +1456,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1176,77 +1480,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 0f113dcbf07623406959c7f6b2235080cbf36ba5..4deac0e6102124f4b1d0c96fbd41d9cd50ac33bb 100644 GIT binary patch delta 10485 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 delta 5079 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 IOPfFc7w)Guy8r+H diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po index aabf18db..757859d6 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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,250 +20,280 @@ msgstr "" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Emër përdoruesi" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Fjalëkalim" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Adresë email" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Emër përdoruesi ose email" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "Emër përdoruesi ose adresë email e pavlefshme." - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "Kjo fushë nuk është për adresa email." - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "Kjo fushë lyp një adresë email." - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Na njdeni, regjistrimi në këtë instancë të shërbimit është i çaktivizuar." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Emër përdoruesi ose email" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "Emër përdoruesi ose adresë email e pavlefshme." + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "Kjo fushë nuk është për adresa email." + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "Kjo fushë lyp një adresë email." + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Na ndjeni, ka tashmë një përdorues me këtë emër." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Adresa juaj email u verifikua. Tani mund të bëni hyrjen, të përpunoni profilin tuaj, dhe të parashtroni figura!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Kyçi i verifikimit ose id-ja e përdoruesit është e pasaktë" -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Duhet të jeni i futur, që ta dimë kujt t'ia çojmë email-in!" -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Thuajse e keni verifikuar adresën tuaj email!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Ridërgoni email-in tuaj të verifikimit." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "Nëse ajo adresë email (siç është shkruajtur!) është e regjistruar, është dërguar një email me udhëzime se si të ndryshoni fjalëkalimin tuaj." -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "S'u gjet dot dikush me atë emër përdoruesi." -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Është dërguar një email me udhëzime se si të ndryshoni fjalëkalimin tuaj." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Email-i i ricaktimit të fjalëkalimit nuk u dërgua dot, ngaqë emri juaj i përdoruesit nuk është aktivizuar ose adresa email e llogarisë suaj nuk është verifikuar." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Tani mun të hyni duke përdorur fjalëkalimin tuaj të ri." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titull" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Përshkrim i kësaj pune" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "Mund të përdorni\n \n Markdown për formatim." -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Etiketa" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Ndajini etiketat me presje." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Identifikues" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Identifikuesi s'mund të jetë i zbrazët" -#: mediagoblin/edit/forms.py:40 +#: mediagoblin/edit/forms.py:42 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "Leje" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Jetëshkrim" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Site Web" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "Kjo adresë përmban gabime" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "Parapëlqime licence" - -#: mediagoblin/edit/forms.py:69 -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:71 +#: mediagoblin/edit/forms.py:65 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:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +msgstr "" + +#: mediagoblin/edit/forms.py:69 +msgid "License preference" +msgstr "Parapëlqime licence" + +#: mediagoblin/edit/forms.py:75 +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:87 msgid "The title can't be empty" msgstr "Titulli s'mund të jetë i zbrazët" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "Përshkrim i këtij koleksioni" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 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:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Fjalëkalimi i vjetër" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 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:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Fjalëkalimi i ri" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Fjalëkalim" + +#: mediagoblin/edit/forms.py:122 +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 "Ka tashmë një zë me atë identifikues për këtë përdorues." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "Shtuat bashkangjitjen %s!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "Mund të përpunoni vetëm profilin tuaj." -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Ndryshimet e profilit u ruajtën" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Rregullimet e llogarisë u ruajtën" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "Lypset të ripohoni fshirjen e llogarisë suaj." -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Keni tashmë një koleksion të quajtur \"%s\"!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 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:329 +#: mediagoblin/edit/views.py:336 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:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Fjalëkalim i gabuar" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "Nuk krijohet dot lidhje për te tema... nuk ka temë të caktuar\n" @@ -298,19 +328,62 @@ 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:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Na ndjeni, nuk e mbullojmë këtë lloj kartele :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "Ndërkodimi i videos dështoi" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +msgid "commented on your post" +msgstr "komentoi te postimi juaj" + +#: 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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Emër përdoruesi" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Adresë email" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "Vend" @@ -374,7 +447,7 @@ msgstr "URI ridrejtimi për zbatimin, kjo fushë\n është e msgid "This field is required for public clients" msgstr "Kjo fushë është e domosdoshme për klientë publikë" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "Klienti {0} u regjistrua!" @@ -387,59 +460,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Shtoni" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Fshije" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Hyni" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Hyrja dështoi!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Kartelë e gabuar e dhënë për llojin e medias." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Kartelë" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Duhet të jepni një kartelë." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Yhaaaaaa! U parashtrua!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "U shtua koleksioni \"%s\"!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Verifikoni email-in tuaj!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "dilni" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Hyni" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "Llogaria e %(user_name)s" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Ndryshoni rregullime llogarie" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +670,16 @@ msgstr "Ndryshoni rregullime llogarie" msgid "Media processing panel" msgstr "Paneli i përpunimit të medias" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Dilni" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Shtoni media" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "Krijoni koleksion të ri" @@ -503,6 +726,59 @@ msgstr "10 ngarkimet e fundit të suksesshme" msgid "No processed entries, yet!" msgstr "Ende pa zëra të përpunuar!" +#: 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +811,15 @@ msgid "" "a happy goblin!" msgstr "Njatjeta %(username)s,\n\nqë të ndryshoni fjalëkalimin tuaj për GNU MediaGoblin, hapeni URL-në vijuese në \nshfletuesin tuaj web:\n\n%(verification_url)s\n\nNëse mendoni se këtu ka gabim, thjesht shpërfilleni këtë email dhe vazhdoni të jeni\nnjë djallush i lumtur!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Hyrja dështoi!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Nuk keni ende një llogari?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Krijoni një këtu!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Harruat fjalëkalimin tuaj?" @@ -556,7 +828,7 @@ msgstr "Harruat fjalëkalimin tuaj?" msgid "Create an account!" msgstr "Krijoni një llogari!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Krijoje" @@ -590,7 +862,7 @@ msgstr "Hedhur në qarkullim sipas MediaGoblin, një program jashtëzakonisht i shkëlqyer për strehim mediash." -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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 "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:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -630,13 +907,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "Bashkangjitje" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "Shtoni bashkangjitje" @@ -653,22 +930,29 @@ msgstr "Anuloje" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Ruaji ndryshimet" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,14 +980,14 @@ msgstr "Po përpunohet %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "Po ndryshohen rregullimet e llogarisë %(username)s" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "" - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Fshije llogarinë time" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -715,6 +999,36 @@ 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/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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -725,8 +1039,7 @@ msgstr "Media e etiketuar me:: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "Shkarkojeni" @@ -750,7 +1063,7 @@ msgid "" msgstr "Një shfletues web modern që mund të luajë \n\taudion mund ta merrni te \n\t http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Kartela origjinale" @@ -759,6 +1072,10 @@ msgstr "Kartela origjinale" msgid "WebM file (Vorbis codec)" msgstr "Kartelë WebM (kodek Vorbis)" +#: 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 @@ -770,47 +1087,39 @@ msgstr "Kartelë WebM (kodek Vorbis)" msgid "Image for %(media_title)s" msgstr "Figurë për %(media_title)s" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "Aktivizoni/Çaktivizoni Rrotullimin" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "Perspektivë" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "Ball" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "Krye" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "Anë" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "Shkarkojeni modelin" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Format Kartele" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "Lartësi Objekti" @@ -829,8 +1138,8 @@ msgid "" msgstr "Mund të merrni një shfletues web modern që \n është në gjendje ta shfaqë këtë video, te \n http://getfirefox.com!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "Kartelë WebM (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -856,11 +1165,6 @@ msgstr "%(collection_title)s nga %(username)s" msgid "Edit" msgstr "Përpunoni" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Fshije" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1219,22 @@ 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:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Shtoni një koment" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Shtoje këtë koment" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1393,34 @@ msgstr "Etiketuar me" msgid "Could not read the image file." msgstr "Nuk lexoi dot kartelën e figurës." -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Oooh!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "Ndodhi një gabim" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "Veprim i palejuar" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "Më ndjeni or trim, nuk ju lë dot ta bëni këtë!

      Provuat të kryeni një funksion që nuk lejohet. Keni provuar prapë të fshini krejt llogaritë e përdoruesve?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,10 +1457,9 @@ msgstr "Koment" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "Për formatime mund të përdorni Markdown." +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1177,77 +1481,80 @@ msgstr "-- Përzgjidhni --" msgid "Include a note" msgstr "Përfshini një shënim" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "komentoi te postimi juaj" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Hmmm, komenti juaj qe i zbrazët." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Komenti juaj u postua!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "Ju lutemi, kontrolloni zërat tuaj dhe riprovoni." -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "Duhet të përzgjidhni ose shtoni një koleksion" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" gjendet tashmë te koleksioni \"%s\"" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" u shtua te koleksioni \"%s\"" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "E fshitë median." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Ju ndan një hap nga fshirja e medias të një tjetër përdoruesi. Hapni sytë." -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "E fshitë objektin prej koleksionit." -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "Objekti nuk u fshi ngaqë, nuk pohuat se jeni të sigurt për këtë." -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Ju ndan një hap nga fshirja e një objekti prej koleksionit të një përdoruesi tjetër. Hapni sytë." -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "E fshitë koleksionin \"%s\"" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "Koleksioni nuk u fshi ngaqë, nuk pohuat se jeni të sigurt për këtë." -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "Ju ndan një hap nga fshirja e koleksionit të një përdoruesi tjetër. Hapni sytë." diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo index 5564d35d99671d3578fa01e2bb3125cc1bc7f7c4..2dd2d4617f2f48b0bacaaef4c0dbb6818da8602c 100644 GIT binary patch literal 30510 zcmeI4d2}6Dea8oq;8@uR*~ot7M6raeC)o*(qgZwl?_k-kl+mji^*e!lnKd5bI?2M+(e z97i9`%$>XZe!u&>zx$gRefKHHzaiki4NnMy3*ebOI%@rQ@|i&}%i$^TO85uxT=*$? zA^Zls82&dLhG(8dU2roz8@?Ex2k(Xy2|nu2KLAhU_#sHs!6Wcw_(QlFJ_?@>3sf=$ zOYkQ6dUzK%{0Lsf@!V5gJAV$3_Q@Pr@~vzaOrEKZV=ir40HRumUxXk3rS{Ls)?S2i0zY z&YlFJ#@0pA2Kf?tNW!$+XxHN{Ew=MSO! z`6h@;gZD$p;eM$4{{gDpw;=z5@9{&|WmKnw)1mIa1Rf99K*`~1sPbDOstqO~q7PmG z5p8hLU%wB^&b|hv@9#j>^B+*-{xQ^e9)pM?xY#(kt%It6FI)~YDE+?$N>BGd$@5;Q zcK;Dx0)GN!4`);9YB&Zp&O4#neF;?mUkN3TgHZL}>(74}ZsquXxDqZ!nRmc7@IiPV zoPe*Ou@&$~@R#uXOPxN>LrDxJ*ag?Z6h0rm2hPLgm%0Al15s7*Nho{&CX{@B05y(Z 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 Go$~*n%B*Ps delta 4948 zcmeIz`%{$H9mnyrsGxX5KtvH))~KKeUI0Z!R3M@vngoqnZ-DE%imZh-NE2PPC2BIM z)+ZNH8>L>F#MYYGjPa7jRHLn#PE4!TI`L8)jgyJBsnOP&X!`!}JTv_h`b!z$blz1WONr}To{KPuq$3QCS*J`hHxPw)|ed3!7N;Yvv3=((w9{p8} zt_creD?EeDVa{SlypH^uJN)Z}QC*E`hY6_r+!%+0u@m!~VjAgOD91Lq%DLf3PJavL za{YBI!Sgr~dl5wr`cVV#KuvT2+v5>bfTxhy%}3aTmoXCSyBXtQezS@OzowagjBO5M z8lFKn-bbaZdm?GXzQ`D6Fh*esX5&=sg^lKgTN_Tt038+A(qUNc>kRorOp@CjN zMYb8KifKYUun$|~`>2(jKuvT8nZw*h)jo=Uy6!>Md@QO26H(94L@i`4YOgKnLH=2s zS6>tDGa6Kxp=TIwKk1FNs&h_0mp8f&M!27ro z`}8FL7ijDvoJxF_tv&#+pi&x5R4G`1!*L$2!Y$Z<-S|*}{RDMN_MtY{Y1GOuV{g2L z9*l9@nHq{(Kv{@}Qal}%GC!&WwWu2!P@k_s4g4~y_HQ6#nq#OEUPYDcD^x}zQtebn zp(c(;jWZ1O{6r+FCR9N~HGB@0@>ft1??Tn;x2Rox4wcd?sFhwvr8q8_#K z*HHIwM`h$q)c8l8>*r8`U&Gcq|No+)0lsayz|QPr%+vH!aSt}2B2VdSpZ5~fCR&9p zHAkiLG!Dk=I13Z{am4WZs0^IP)_4tBgZUgMF~5ms^kSTjkK=aK@%RjDP={EjB!F7U zI(!OuVj12=1ytCd?+{#unHbAXcH>yoc$LVlCgk`ghFF|AOQRhBjjOSY(exF32Iu2< zI0WYpwD*98bLlssYJMMEVI;F^h0)j+JEKaF=-3~%2}hw8G9{DzyJ;-qf+pO6ZSXKE z;$zN@moSR{J=6dXu@lDdkV=q(x<4OTyqSg5un|k}Q!K>C25|y#5stx~gUJ6#8rQh+ z941r1M%;=d!?;6fQRv_&i^SIWYg>=PXuc&BIPojsmm-ZK)wIBBDWe3(Iwz)R3_>$2J2CqaXl)4 zS5bRpA8KJoQ1^X^ad^JvbL#&E4b|>GDrKJ0_6=#M{wO2~W*llWHQ+=%jtaOVY0$uh zsENw4Je7168_l&h-);Prn@bE;HM4C7v!K{}*VCFSg(RDUaLdaxE&Q z`!NMSLpHo=#VD(A6gJ>dRA4zJ_9>Zy+FVOfD_?`XaT9v*9aN?+U=-d7(NKyXU|Z}s z!7f1p>V{<0=Y3EE4@cF$6ctz%YV-XNRkD|{HSR^FdLL@yL#S~+MLmBT6-cNJTUj-9 zqf(xSig-L~fF;-tSD;e57L##3D%E>Yfxm}({-o1C>v#!Onj4sg|G?+5$E23$L#COA z0(ckMALbKOs^d!Sm6f6bnS&c~F-GD8RO(%m?Mx)0Rz4DS{}@z8CZoom=UiWb3cL|p z-v8TZD3v=~E*SFxK2855?!n|TJMt5lL;n_Lpl6Cxb5tsq;$U2lv+xL3Vb`g41{zQS zHli~80=B&W_tRkinFq)|Gh?2xkHVz!_Hx{1vg&xe_K z5Z!nK^>&Obx4#d1J5I)y_kTSNe$7w$w;JzY7S>HOWAOg5w~M2 zd<(V0{ir<=#xD4t%KEwXX4q+kv-{COqFw=hj7tQ4S>;2!z1-<`&gN-VpAm zMtp`9F(Emem~bS*x}7-G%If}m>tyLgD=Vq1^=i_0*3lW!R&&p>o0G?dws=-DdpQD!byEcFT7 z>x;^z*7ZRLW6CRhKJNl|y+63f(5?%w81iG6_4&ecR&Gv)H6*uN_~$vxTDAB2s=e+f z1Hp=**NV>@Wi{q)h|J9%v}~k1+-bxU5#c|My63VM7p!!Rw%oO;;a`pE=(2LgjkP`* zH`>ZBTw@*RonWngX1}$ms5Uxh;E-YN!9z#nWLq7IdpX_Vbi>)j^{()r;?w?LssDMU F{sYM1@=E{! diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po index fcf8a666..accbc5cf 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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,250 +18,280 @@ 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/auth/forms.py:26 -msgid "Username" -msgstr "" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -296,19 +326,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -372,7 +445,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -385,59 +458,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -445,16 +668,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -501,6 +724,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -533,19 +809,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -554,7 +826,7 @@ msgstr "" msgid "Create an account!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -588,7 +860,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -598,22 +870,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -628,13 +905,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -651,22 +928,29 @@ msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -694,12 +978,12 @@ msgstr "" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -713,6 +997,36 @@ msgstr "" msgid "Editing %(username)s's profile" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -723,8 +1037,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -748,7 +1061,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -757,6 +1070,10 @@ msgstr "" 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 @@ -768,47 +1085,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -827,7 +1136,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -854,11 +1163,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -913,29 +1217,22 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1094,26 +1391,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1150,9 +1455,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1175,77 +1479,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 3b961e60ab413b86b73d000536f403ffde032265..ff4255308ac708e6abdb2a87cec12adf889549a5 100644 GIT binary patch literal 30740 zcmeI43zTJ5dFPJ;VizC}u?0jq)!245blqxRZBz7vrr*#nySf`er9E};savP();ZUE z?yaKm#c~A#Grr<$L?8x3lSC(R;wTfxWU@%l@)6Ns%w))z!Eu7({QlqG z=RT^d+ZGns#AY@1t8>mi`|<5>fBW0tKD)ko#_=Bv_;2;|g5X?uW}mJ)|DAkh5KM7- z3Vb#EHF!4sWB79T*YG^}&u}R`^Cjd3*Tebn7I+T43z8)GPyYUc@P%AI3Mo4H9y}TT zBfJUVKD?ak>9brpe+ZA``it;o@IiPQ{0=+?{y(VlPo(m? zJ{P_SUI6F8%c0V*g)fG?{PS_RnCoeH0=&mR{~dq*Ik=4b55NoIkKrcxN*aANoP=t} zA3^2+kFW%P232l}%AN$5L)B{?q-nuU&jc#n%~0w74OBZn1kZpUfp@^)hcAE|>BI$a z8+<8zljrSlfa`mp`t8qQ2)_d*_j%k@*UyJ4zaO3mm%~%xm2e^40sG+;ycB*Iz5;#) z-UPn~C9f(sRiEF0s^^CxT^f7>N)8V|<^PvZ>HY`gU+^t{=(&{YbZ|P<`{%>s;W8*W zTmhASBcyACF^K4cw?jl5+~J>p8cNT;4%Od(3zg45K(+e^Q0@6CL=?e!p_AJRsQh=q zMKFiz|2v`j=^iL~eiEwOhvE6~hfw-3pG+@?TcO%{GgP^^LDm0VQ1Z9~D&J4~`=5au zxqbjHf%E9hx58!czr#<%QTR>@yAXaKJ_%p;O4lFf&`C5U*bbM&489HiE}VgjUghe0 z52UMt&q3+?-$2RdF{pO@1X5HG(s;>pEmS*hfa;GiD7ntS7r=Kw$?tY}BD@bO-5)^7 z>j9{8{sKzB9)+sszd-f(IS5nzeIZmnE1~3dJybvK_0Mbm`fX74`?sEd09D@Cpz{Aa zsCqvEH4f&Zl+u$DRDCu=wR1OA{xfhMycM1R-wP$54?(r>(=ddegD-@C3)O%B%kv4S za!!99iL6!eDfBjC+4?^k1Z$hdZd>ktOuftp6cl~vpPFKFS!mHp% zq5Am|C^^0irBQp9!1ut*q3Zu7C_Q}$O78y~O1^!AF8!(SBCgMc>W6Jm<-E~9pMk2+ ztx)gX1(nY|{`vuUE!Uri`{64va%#tag_ps{AVmh}W6WO-cfeKfHn<6X0bT-6Tk7P# z4yyk~q3ZQkNE3rk!t3ETU>Ppsq4f46Q2q6L@Fe&JsCs@KQgrYzTnSHPP^z5uQ2jpx zuYq^N_3*oJ0~{ie^l%EM@cnQNd_G1``m_#8KCg!(um!ilFG0!qEE=u$UJMaQuovC~ z-vw2lA&f)_Z-6T2?GP0T?(+ORWXJ|TfV<#)gmyEWfQTyi9(*G_m(Hik!CRs9_CLTI z;QjD8_>#+=9L|Q)zgNK1;Udq=;e4*Ifs)@SJOkbg&w}rVA^i7H<$eXKoS#CycigZ` zcMd#}>r0^CzXHApZiCAA4N&cTGenhx55wK?095~BrZg`t_%9BkV`XJ_Zx`K6vtK`U-v&u7fYR5?zGXL+SG; zp!(suEI;U~;0dUDT+HB<9BzP^xZq7t>FYo#6oOqJw z=}`H;6dn&(d9H=ZZxcjh!A|(l^RRz#itA{D>yL-w*<7E7P*wj6pz6B`G8BVxh)9Dw zpz8fM@ErI9_+oexoqQ%d4@wU&g%lI4geSw*@M5?HGDL#6LyeQq!0X}PLHT{FH#@)Y z3s<{xp2y%lj^}5=m%(%4X>d6_1#X5a_ga5lgVM{Jpwiv$`4Omke!@ThQ@EJxuR_W3 z$Nu?~{`!n9u0PL$7xMgSNEL%ANY#Qrg_we%Z>uY3HB@_cK*{^<@FaLUJOzFbN^ZaH z`JbWEeGMwzH{i+e@1gYSpWz+w#BHwM?|}=r{$2P|_+`&W;Q-f9K=s=zx4ZFt6;ys@ z*az!S<-Zx82;T=!g&%>^(~rY`_z+aPeh6Oy7cqF=4L3l^>%T$C>u2yZc*1MkyfGi1 z%JmYc{8vEf>pG}>u7OIw51tO+4Aste!QE*Yf+8yk4?Klg* zkjo+XBDfqXpN&xU*aFp_*TZw++o1Bf6Dt4Dz(w${pxW~jD0w{}V=sB03Z?(c;rZ~j za2b3HycqsRsPexJrJvu2s{j9ilJn1?@}0lS-9HyHRDuCmf^{gleiZ%)mN1s1aN!;| z-fn|Wa{XC&Dg2{r-F)*H#PkQ}yw>@BBk)hS{!6I#z4tn&2OszRB9wf-4b_gvq2zHk zgHGdj8B~A02A%=0gKAgJvjt6lQ0eZ3XTjfwr@%jk^WmRE_1Cwc57c`% zL5;I_LG{PKgBmAyL+R(|UEzaj5jAy-r^1;Cr}!4OIQV z1w;59xDd{Jqm%Ct)OfoTUIf>}GvPE;{oe^C|NT(;e+sH!z6j5QUx8}RV~~Hr6a3f@ zUmv-4JRfDfjOz=b#zO>O4L<-^!3W_ccv9K zEBFwU-u?^Jd-Gx^$3;->z66%wFkA@}cnSO+cs~3FyaxUZu7}r*Ilu2W;JI8s3{&_x zTmvgrr+4>3$>&RuAsjpcx4~uOuK#a=OS%3i9E1w=r4c2|Aavq0^;TiiJ zSHOi_k3mdY@J@I${3g5t?wxS*z7tBWKY=H}p_=m}E`!H${Q-D9{4i8M-3>L4KH>Q% zP~-A1pyc;$sBv@rq-)=KQ2o3ds@|`KD(5z+_udU9hyCzG_+Oy%|2#YeJ`62isCFKY zFfV}pa5vlnH^GlV_0K=R%i-e8^?MnrzwU+7%ZK3`;A8MD@S3{w`@RS-8_BNAdEnb|50}BUQ)H#hNxmuKWy|g%(^M%ow5HUJ|xp()r8nwmwf>qr)nE)0J zjAf0BH%yIUY8nYPY<(?1-C-#kom(Mc!;= zX?4}wEFDWKaoS9x+KM56GaL+ejmKzy!h^6JrEO&^#>Heb5r>WVO|3X@=29(GKHRu% zcaN4QY2J*|a?C@tmu$i`YlfroLAfPqGj5dQI^7l+eS$TO752&bdm zly(doOhKs^<~X-U<5)_#?CC)nMkIyhAY(dN?bpcHa~36l`PCNt3OE_Gryqn(2_<2h04n1RzotZ*BL93CO2O! z($j=O|5ujJZ%0yo0Bs0j3tyT#lv28joqRwDrqjDN0%pv$enXI%SijX%5FSv#6_}7 zuntFuap!=P=AIXd$89t3Z%opQZl)=6(2$5yhFfihTd98JHmgZXyMEVb^V31$cFy@2 zlQwsLnY0m0@EVa>Z>dYWktu+yv_qIt6t0-DW~8?)p?y-q5-v zx2cZ_jHQKi7FG2#0cr5eoMbZQslrIucx^CN^vG5**3n*3O5Lv=@hdmhYgr=>Hpo-g zk8p!61p-iIblYGnGFu&Nzd4V-HlngwUhIh$QmCSdgIQY= z_tQK!4pDj2O9*k z_Ci_`X1G&kn#M4)*|h4ld*>D`OrN!NIvx#2ZR%?b_w_9t=8L zgWHIt?RA}opQ+iV|7|2wMFJ)Eu0q)6iX4mn(I>$8Z+^da5}E> zhE4XS30u3?=^7EL4*hzqoIyr|Eu^h4|l zaD%wQoma2hQ*#qWW4p}UWHIBEM>gJz&H3-8xmBUv8LEkMC5W(YMHt;e{d>uE$1dG^vq!JED!1BiFF+A!1#hR-dag~J= zos5HBwD;+H?q265X6t<>Ll#*f(IJU&5f-r~H8h3n9z9XWR`?Q2;zNsBc)7gzu- z(W!HVCYXnkG)uu|=fKdHv*!o*1QX}R4343N{nhk#LydDp{PP1;gAc*IF#3 zBk4-a2_N>jJ0aS zy)*&m!Iq><-^2wm!0{LzgRdNH$=qbaFKW7n3~$-_IrN>knf>-qjUp{VQ+n?x_6J*| z#so`dmWQ}}fsJAw4|Y~`{$A$>6Gw_W;F1y=siG)a%i&)RC~V>)Ebh4v+|fN*uvIq+hFZ9Qgo6pGqk1g-3Tx!kEuwY|S6iH#jYL^6 zZIxhqgF%ZrIXB$pM$tWYy~Ql(c|69&F+=0~%q)gN0Z}#5T6Bl>R5OU{bmT^A?oOLY><-J$5y!UJ zb!b7~m5cUJJl;Ly0-L7a@MBlmxN+k`_G$^%q;1uFhSjv?gWz}~X4FtLDF~Hwu6O7r zpdxy;Gp18!LO)Y53|-K9b`79jB322q$y_$X%IUli0#ze(7141H;Nlk8iiTY>` z1~zjXJO{Zahn%8H!3aw&`%&~wFcSL+R#!a2!m_d(nh=&C?4%Mc3FBs&NXKH{VDjn? ziE*bMG4_}?BVv^(pE@SWDGn>v9{;*9m6qCe?qXJhk%^>Um(6z;qzI162)63jkr6_s z!H8c_Ynm^{oSXjr6jCg;aSw_$*%F(*nI2u7P_Hui^hOCsvIgU79gk`l{==Wvf*g-AZT+l(?Zd4g+MYm0F0Ob}Rj+3a1+VazY~I#99S#o^2_u({ z+cr?5o=Is|{F$C|*&pKdA5^>b$T7k|&&QdjjOf4$S@ zo(zihbtfa{In1kH5UULpw_cuW>F5Pim>lcdB6&N`q`GG}#iCY6L3H=hjk`c3}XUr2Lrl=fj=gv(K zOd;l|+I{n6{LC@O113k?p0LJrx>|uKzwpF*RCL7j=CW11vfO&9gZI62~5zlDhI9F;D!I37mHlVM5xk?A1t$s?zDPVJeA#H+c z%f>8kF$23b`XaCKrdK|pTHx!C%M#7d5z;5ilVPG)YT8v|x|N2sg9R4VurP{+FxZx$ z@rS5k>Laffh1V(yhe*jWuzodMtjlPUUv~|YfT|U>RCtUDopp}(=w!oqXd2!z$W851 z^~~3?b$&Y~zZ80JjpvB@UOV1)EjJR+{R`Y@gZm)de)0xP6ntioAf4sYcUEl zmE?&=J-w$akXjMFm3VqgkfyONTcuYN81ViCYHY#5$yo)Mlq>OAq#aAYNKl;GX^;AH zQa!DeQLu{~*>$&9^f8f1P4+250>#|O$_#IOk~nN9{=|H$=9(L1Z*T1idv<2StRC#b zXAE}JQrYSDFB%N%ZC|2z)Q%Yidu+GMZ#G~G*$_p#y|;;0v5Dsb6xz>oPkq$W)Ve>| zV-5v9oaQWaY*5;!AP-m_$O~33z263z09*n@)>f*816e*<#MtBwj1VJ>n_Hv0R$9Te z@#w}a`nlEl$pd?KEFapFHAa(sanEhLg{!%i>CmSc=MyFrMhKd^`XLl8Hjx;=q1S@NEiL_R6Q)NN9r zY{hzkux>k?8sRuFm`!(?4mwj!iLF~cejqnf3S2^c3{Y|vm^0UBCL`;?pH~@_)yA}2 zi_i`~VvqQ}rz(YZ!MzzAQKj2HECatSR+a-bbcG(VIHw{!);F}o$9Xgv5K@zFERI+?wtIt8ZaBUHN=rr!M%M1wMf}y@z$IWd4ZoY1hF9=H8@3q-1D=dLz0XCmxX6j@_lp)vb3M|rlFHTo`-u$f-9 z_9z6+ly9BT_EEauuoXtP6G7Eb?9O)q+E4R?yNE72DYPRZ+Sic{#=dvHgD?lWaHr&p zEyM$(VD0x6F)g>cVfwV{^?2si-bT;j)+PXM*$zg?R<(-|5cuP(p!WV*jZF@UY51T* zufKozH+*e7YnVE2uv`<%ucvyQG({VHsXs4ONM2e-AuO}8NlFB`Z9To^blzufzENmj zVL7jc?Uh6C7g{BY9?>pF-%xs z1$=qg2sANhKau&gg(o-3Tss~xH^hyA-EMxi(u~AY=Bdg9)uh{^nQqOm*QK|?bR16v zGc1OJM{a#@xXm(nF`C%2bW&9bSVi3ck(Ttik>6g<)piCDgX6p+jnr6ymaRlJc_Tdd;;cg4}|YsPw775U=B?{H zQoX3Ov~MjP&$4V#i=AP<__>iOw#E|t3hjY3uo){`&9TAdopfq0JJ^HkQ@1o34wsK6 z&AyFssvX9d?wA=4uZsAnBV1a#ytJ&ZbGQQyICiGQc0q~{=#JtuC45SZaz;V-GP781 zJZBD+6pc7S+rx6onJc$Ra_l^bKNfTBJjt_ho@C2`d#lW|+M#koZ_O|DSjn~n_v*{g zaH1A9`ond^cftuK3vCdOAGjZfDI8^AJB%i@a&KrudyQ>*KFcRc)>E%|P;L%F!&xTc z7fXHw`E)LY+VO>SgR1ih60SU{$D>IO2N4`)%Sf?6KDC>`o8aSJ9wuqcx{uV8S?MU&FX3=PF-3L`#%*x018}(0 zCLnZ1e)18Iw{gW868ng(6J_X1HctJDR7clIldIx&)OB-qw4yeKzH5>Fv6Z+X?Nlu>UBtd9E+bTmiB&-d}Mo zcKTjFuzz-l;gBa!4z5l+YgsQEV4~!+&v2_2Q0_a?!M13ZgueQns#8bKktBVy>U@YQ z^!07WU=n^J&VgM`b(B+X4Y$Uywu;zFqC`kKE>WaFNMV~1U1-vY4G*UvvV*d-nS%V2B?{<#&&}oVfC?0ZI3KD3LmA%PNzJT(k2p!D(yMtQjM5vZTCq7Z#1q_ zIXB|?R^(|Mck!+EE?5hXDXh{u8{<#u;LG-EQfsn8BF^i~Cu^c4(wDR>d!GK07n8%0 z9eUZ!Y1V4hJQ`WO+6?|>Mdv!Shh^VGupe9;eQ{r-vq)uH;H&X!U}m^;ozFh}Lg&-6 zL!W&ar0|Sp>)UPx?j;5SWw)#-`SJqu@Ly2E+FwgdaCY?R6oXegS;PaT|X-~u5ZWaO3y7<_Xm#^pxz zL@Dqx_%>LV+v0FRSNZGR;TgFK>*q){ zE85eWua}$l&x`X3`hL0i-k@_nK%3IPB4=o}@Hd=dw%^BbH%-%I8gV$KwVggF@c}3< zB_VqTr9Qm$>dYV|xvB4z){Iq7p5m;wS63Q^?CYwx{81i#dg8y)@W%j-ov$g5N!wW) zjNY*mHiY($ov?XUPS}iePh6NwtutNNTQf0#l*}E%`PX;YW{>*|Qt~tMl!aehV}`Nq zfVSBi+`P`M_Q&FyjuaGo0sce$!<^2s)GR=b<^wmHbaBKc3jabAFy|*y=euYz%4Via zJ9eE@=lrE9ciCCyX-CCkf5pQ2s6BPFN$v1kwTgzi)>(9OhAkzI^)B(@m$o>@BR;3A z5~$R|!3o7akoVHC6D+^XBRA`qc&&Td>Z%*<&YY=n)+OPO+Y+3zJre~ti>^FMkKgd8 zLv}q&$8Xkj?+HG`XK)DWD0tuNz#jT6&WOH%^`C0+M-&e1*I$X~>_t6GM{zdAlhT-A z*FJX?XE$H(RVopG!DItp;B^8k#}4A)+pcSc#g2&&bTbzDgOxo#wEqUI6z*Y=Dn6Vi zY#DJlp!eDg5z8Rk@8pjL&6SZG(e_QT9f>EkJG|3-hNiQ@e5g}Ahb`LA1lA56)wK^; zI)y59YM;X#JAA{c-k%D2&K$mRGa?GAoeaLM-~*l(d)eA9waKwF%WH#gG_m-pwm*qp zxZ^j8Qw6p7*vXq&r-6>-42-1K`FP!bseSC^4KBF*gDyIPsk0SC6ZBW^+*!_N>f{X; zeDc74{asz#r^eV}-S|VdHX!6DPT@=8DNb;>nm=UeVvGzF|6!na6EWI08ThR14^?Bp z+32!{JV%bcvu>6bW}&Ng6Dy^Vwrd5Pw(R_sc2pJZ@*f|` ihjUY}?em&Lq_u;cSmCQJl=YW)24^rKsC=}a!TJA`!DJc$ delta 4975 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\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/mediagoblin/language/sv/)\n" "MIME-Version: 1.0\n" @@ -20,250 +20,280 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Användarnamn" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Lösenord" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "E-postadress" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Vi beklagar, registreringen är avtängd på den här instansen." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "En användare med det användarnamnet finns redan." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "Din e-postadress är verifierad. Du kan nu logga in, redigera din profil och ladda upp filer!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Verifieringsnyckeln eller användar-IDt är fel." -#: mediagoblin/auth/views.py:206 +#: mediagoblin/auth/views.py:185 msgid "You must be logged in so we know who to send the email to!" msgstr "Du måste vara inloggad för att vi ska kunna skicka meddelandet till dig." -#: mediagoblin/auth/views.py:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Du har redan verifierat din e-postadress!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Skickade ett nytt verifierings-email." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "Kunde inte skicka e-poståterställning av lösenord eftersom ditt användarnamn är inaktivt eller kontots e-postadress har inte verifierats." -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Titel" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "Beskrivning av verket" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Taggar" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "Sökvägsnamn" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "Sökvägsnamnet kan inte vara tomt" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "Presentation" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Hemsida" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Tidigare lösenord" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Lösenord" + +#: mediagoblin/edit/forms.py:122 +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 "Ett inlägg med det sökvägsnamnet existerar redan." -#: mediagoblin/edit/views.py:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Fel lösenord" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -298,19 +328,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Användarnamn" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "E-postadress" + +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -374,7 +447,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -387,59 +460,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Logga in" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Inloggning misslyckades!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Ogiltig fil för mediatypen." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Fil" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Du måste ange en fil" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Tjohoo! Upladdat!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "Verifiera din e-postadress" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Logga in" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -447,16 +670,16 @@ msgstr "" msgid "Media processing panel" msgstr "Mediabehandlingspanel" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Lägg till media" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -503,6 +726,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -535,19 +811,15 @@ msgid "" "a happy goblin!" msgstr "Hej %(username)s,\n\nför att ändra ditt GNU MediaGoblin-lösenord, öppna följande länk i\ndin webbläsare:\n\n%(verification_url)s\n\nOm du misstänker att du fått detta epostmeddelanade av misstag, ignorera det och fortsätt vara ett glatt troll!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Inloggning misslyckades!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Har du inget konto än?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Skapa ett här!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Glömt ditt lösenord?" @@ -556,7 +828,7 @@ msgstr "Glömt ditt lösenord?" msgid "Create an account!" msgstr "Skapa ett konto!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Skapa" @@ -590,7 +862,7 @@ msgstr "" msgid "Explore" msgstr "Utforska" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "Hej, välkommen till den här MediaGoblin-sidan!" @@ -600,22 +872,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 msgid "Don't have one yet? It's easy!" msgstr "Har du inte ett redan?" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -630,13 +907,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -653,22 +930,29 @@ msgstr "Avbryt" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Spara ändringar" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -696,12 +980,12 @@ msgstr "Redigerar %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -715,6 +999,36 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "Redigerar %(username)ss profil" +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -725,8 +1039,7 @@ msgstr "Media taggat med: %(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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -750,7 +1063,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -759,6 +1072,10 @@ msgstr "" 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 @@ -770,47 +1087,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -829,7 +1138,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -856,11 +1165,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,29 +1219,22 @@ msgstr "%(username)ss media" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1096,26 +1393,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Ojoj!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1152,9 +1457,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1177,77 +1481,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 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:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 6e7ebd216781afefac95bdc7a98f7e47a1b7e9eb..0fc405fc3f9994cda39014a61f653e034ada3840 100644 GIT binary patch literal 30711 zcmeI43z!^Nb?1wfvC;Vb68HhCkrA4)G(D1xg*?^+y(O&IN+UZqV7aEdW~NY2SG%iw z#sk>MCJ2Zj0kU?mu|q@x@xlhnfDHt`5N{F^0|_K-u*qiqDP~!4mRI%*$p(Vi-~ZfO z{TPjez#;p6N&BnG1U<*tB#);=c)E`=BL=&JS485ab>B$sEx zm%(3z7r{@%7s9W=`S9=IQh33IB2K)|O z4u1%*gatAgge7-ByzpIk71vWQaOFG%=WzWe@Dlh1cnrcTI+x7CLbO+zFo# zZ}xmE?Bn_{RKI-=hVYwEa-Yjhb^Sc3@_XTFa3wq&z8o%uyJ0V!gfE5fhA)DD3SSGq z1tqUBZmK@-gsSJeAzd1L2uco*LgoJ#Q0e{(@^A1r{LynM)w$qYsP`{}r@$3Za=02Q z{T4{q2BQ$s2XBCgHn_(>{}_~>eHp61{~9Wv{|(jd??JWaM-Wj2^Ft@MRZ#g4!$mNI z>i_pZ_0wS}c|HhL?i27b_qL%J&X z6qLSy6-qwehHA$@Ly8JQ8ZUWnfNIB$Q2j9qCD&c6jh{t&9%b1!%D z?Sm?By}y1X)O!u6@^ACkZ}YqhN-usLQsv--Q2Bou9)eH%>nfeDd=J6(@V!v|{1lWN zFF|S4o+a>C;8jrde+)`bzXT=szlD--&wxvRHeAN_rBMB_6RMn>{PSt3`W%9K?>?w} z4*Tmz;dNYp7QP?82qUL<{2{y&ej8F`a2dw@WpFoK1K$F-!as&rz;l*5xo?E(zY(Z< z-3n=9@F2Va{&!e}D|jfqy%(y#{xdus{xMWNzYHllcml45r!gp1&L*h-pN7}K`{5?| zG~5gaNhCd-gcbO!a2@;)7(MCJMkx8b3hspsxD!4GCFd8=Xtj4aL?pp}co@DNsy>4l zi4fihRn8kADiqx3`B})24Za75;XH(P5FUVtD)<(>30_L)Q{~`RD7`%bZ-kG)Iq<@( zoE$EK(!UqMbKxS-tKdAYuYr=^2s{rSgfD=<3Pbo`pvwJIsB(S;_1>Hzm+oSC8rN4q zy?-@43+{x<_tjACd>urUgLlJy@DHH+|Dvn0F>nOZwBQ5qI)H~1uf=&Im{Q1w{O;FKJ0gqXPCW~lV{z!$>LL-p^| zQ2li_jaT^6{_8DgGzrlJRknHfBq@h&-Le^q|*P!I{e$P)srTa2e zy8i*y&ZnXD>f7)hD5Ilx-wPMON8t0}S3Um@_HjLTm+QCXFywkSJOkbgd*E$Q<-Zl4 z27d#d4IhBg(@(%&_$0){*`Rq5xRSy1S~v_PuP;LB;XgsuGx(3rZ=4U$;j$kp{~@S! z>!I@5=AVzlbGe>|djC#%3jB2_Is7J6`Uj!L;h#b2!zJ+R@K$&pM)Gm^4mbkGuXXzNdH4+1{|H|S z|KU0}9vA)DxdXG{j?vd zpGyAu&Hnn0Q1yF<=SQLH^%bc6pN1F1;8m_aFM-mNE1>GL9jcu-K;?fM)Hu5nsz2_6 zlFxgf+V@Eq!rzB#_us$^;oo}78L8ZP@FF+>Ro)hVeG}AsuZ1fAjsE(bQ0eZ4(uD6bT^8Y401fTKOZ@ST?e-B*G{g1(w@E@V%xOBg3&pP-kTIHKm7x%pqsvXZkS+9hb zL+SHP@MZAra1Hz;xD}pKbn(~@_(HC4hw8ugLe=Yc;bQnLcmsSv$;Evcl-@oL_1^!2 zlH)0{tLHgT>5e)v_-Ij?c{b^u}mg1zt{ zd;ku@{sYJoUJqqweiy2Lz70`@U{2Zji4k}T*Q0O&JOI_dzwG%NPI_rbH^!%+GDAyhk`f|tV|!+r2_gu4|U zgd5;vQ2KFZ>f*jl@M^9P!3*Gjg|CK>!`H(rt1j;Q2wcqd%9~xkmf#ky-vZwUzXaa} zvzm+hPR(50_j(kqyfJeI?Sa5q$cO+uCbmr&(>AI^i9PB~ry=WzWBI2Z1O>epX@lKZRS zsW67>pR#Ao^A@OlZ-aX8{hl9$%I`tA8h#Q6J)!?+RTLJ>QI@SJwqn`r<;oexX2nPm&6V`6OYpAM6W4&Zg z{7T0gEeU2n#apf&C#+aUDV9E*O6ucbJsNA5Hnqk@ST#}$2U{Z{ zuUy`?-3>-$@%XJ;R1d8k#WoonQ@4|Dq^qWrnN{gKMth63q>3<1wEcx(UEBEa z{U>2%<;GYT`H>mll1R!74QB!*8{YJWA&cwvq%wwOh$iDwu&!kPg;BUWu4QQ@3gd|= zDa#1dFc5mqvzAsiZ%j-eY=2dWr;bTd33pZF%C?OzNxdEw$D40Bbye18ql#%OGnuBD zd715Nz4O$;`xf@uWo~4iI(Wa?v>7j|dF66gOUA~L2hEY`w0r3kPbSi=9+uKd+#6mm z>*@zBs>E^0RCNTqiV>W|z?KlBnOJl$8Y#yirb1>Ed4@6>;Z&5F(vD(-DX8Lw zInM2oIF|87L2cMc*=r3mu9@uncsgY!cRZ?$#m+2OaU@e|%@yi;B^ys0Wjdr*OD1EP z;3ynL_7kZ@o1HM{QW|Ed)t{ub>7P=0Xi2SxLZ!uGqb3b0a;F#MV7k=|ZJmz--|n`PWpToE(VD&YbYPQLcyS zs41hpH&RZE2QV@SAw%3*qc|>uGPq`kY+Hs@)b?szn@Hq(xs?wza&cw1jmc8VD615L z4KjFTLAH*7;DFwphzo@RHFdw0Q%|tLX+|#BJoo&*2|cMee@L&m`%=sq-f;E|W=Uuo zcie1pInGl3+NUPJtFQt%-iDb+!VCTIy zIr}$csZ>=-+N?E$HLYRy!%>Wu#^(kbAWdN^ZW#&}W}!EVDuMpi^C--wCnRxX+k8o} zjrCqKVY!lNd!A^G)zHQz7Ntmhz*zDo(}z=e@S%c|irJ1>YSTV0hz&aIY$y}q+#P0u zOq0>1*_;ZVXEdQ?DIWH!ZS3Y{QArB{J=!8cMDBva8AjUQRd(ZXEzXmbnDN=Tb3jV7 z`-S{*)6DxD6ZE3bWWR-WcoMSn8$YSPlS-x_V+9pqu>tdB8?2ZD{J7}#6v zDasIeOA?1Xk+{ZjZf!ycr{ntC_D5>A?uFax>WV0v?&a}RrJP1c!2iH3lo*_wN=e=R z$lP0Gs5`DZXBAGIS#md~T6QS+R&5VEyja`)yjv||ZZB1N67NRNnL2|q!x;vfIEXWz{eVsSTBrc4ZrUC&NV|3eK z%QIUWY$kfG2V1bHSPn+^P_PxHx9TX+tkOBR<$Nt|?;<0U;kQeGcjxH`{_ioKAQgel>anWj;U zY&xZS?c1{*3)5q5or*`o5p#XDp`Mp)nIL38&&RZeE);#Vc?Aq?V*a9+J`Pc2Ls ziS06V&SKgrk8Hdbn~UEIv#Ub0GgK3~o%Y(uSCx{I%&4Eu$dbBjowh8oR%qb3{_3&1 zTMBeMor-BNI)eqUs+JNwC4PE3_qa5M`1oqF*95y%=n1xk(S!@4wl$49wwD0VSu!y}wDq)`ltZ1AbBa-gzm#?nHV@#arWCHBGz0Wps_c|{z zTkjJeGRX>A9g+waVG+wxLsQ815$o#Pl5^YCzMPIFm3)rQ1r|V4bn0B92^OIw^+K@C z1u*pGO#k4XVB*~P!Q}Cp&0#QB!8X=)Bpf_kDUCC3-e5;mJHV8g=^-IsV56AF z1FadIzt_5fd1If zs}s~Wm6_UKPY=XQ33f&kaj?^7)MmpnyXX+F-N}t}uru{jZ4|mTiR5e=YD3IqzK|U7 zG8t0_#&tdvo67?Xn2ESYNn8vaQqNivXT7@R`m0ke+-^BUpBPPz>-I)&GORUjpcjH& zn(8$dh|)^MEh}chu94ShRc&jmIeM@ww-~L;D}eWgf)2z|C{45JT%dwa9eP)=E3Hyv z{k1_;YX&!(lE)L(`ZTq03la_{q?YP2@yo4|Pq&ELFg2+3 zmm5WQ-1Twc%-d13>h>hJILGAF`JgScgmR-Yg}EQL>JaSSxY_^kD+Ynys7l6@aj@I@ zkK%Yth+~Gv_nBD?Ed@klk>;YirKj>BuG5hlsku94Cb4~4c9wN)Te}Wz(RcNtYbl=S zo^gRq(=X!KH8yVCxRAYCf;DMcHJ{;FrQsLBiA2n(p=eSND(6D)&^e%d^=eN{r%Z?5 zQ!otOqVw9I^MS(YaFO$IewZ$@*1Pdv*3yn^^`MUivSt?E%givM&ezPgeyta6TG;Gr zZn$Abyta)C>yJ{12c%YVS2M*hH8oWj%|=ZWtg^^URmKM0uQ(fw#;WCkD+)^s5?A|U}6k+mrE4v|wumoWzrD#bQ*Nd!l^z#PJt9?m~JJpD>hue%; zt3>(KF;PZwSh42#*M+IH)V6gOvl{F@kW{O(`Obpmi=#4vjVg9zFH5GuUO%Cho6pCb zbN}9jjbIMkOXj9fNu+dzproYIW- zXL`zIf6QAJG35Q>)@53Wo6cJiS)Qn^YiO3$&zaqy{ylF?UDZ$i^;VlZGRWuGt&H$< zm{&g`RvSugzC7F1(F-UyIo7v%@@9?|)@@m9bfP!E*nH%~;yu(!6(wuq-JdOn%S~!Q z*{wV|Z=Ls>#q?35l%xy-Er>Hs(Ao=HR*cZ6uxBnhS7SodoOoKqXbE#&+B&>r`<0}$ ze3})vtQGtmCu_eIa?;tmogB-MGV0N^9JInS;={d-5iK{3aHSa0%?oYGeIWtEa4U?{ z?<^RWUV9NCQZ;&}_DM0_5?8?`pH(H)_dogVc=qMB69gy2njX5Hw%0Aa)z%Gd*tcp) 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 K=I3|J=KlfPq>cpu delta 4984 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, 2011 +# వీవెన్ వీరపనేని , 2011 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-05-27 18:54+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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,250 +19,280 @@ msgstr "" "Language: te\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "వాడుకరి పేరు" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "సంకేతపదం" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "ఈమెయిలు చిరునామా" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "శీర్షిక" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "సంకేతపదం" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -297,19 +327,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "వాడుకరి పేరు" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -373,7 +446,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -386,59 +459,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -446,16 +669,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -502,6 +725,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -534,19 +810,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "ప్రవేశం విఫలమయ్యింది!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "మీకు ఇంకా ఖాతా లేదా?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "మీ సంకేతపదాన్ని మర్చిపోయారా?" @@ -555,7 +827,7 @@ msgstr "మీ సంకేతపదాన్ని మర్చిపోయా msgid "Create an account!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -589,7 +861,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -599,22 +871,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -629,13 +906,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -652,22 +929,29 @@ msgstr "రద్దుచేయి" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -695,12 +979,12 @@ msgstr "" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -714,6 +998,36 @@ msgstr "" msgid "Editing %(username)s's profile" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -724,8 +1038,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -749,7 +1062,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -758,6 +1071,10 @@ msgstr "" 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 @@ -769,47 +1086,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -828,7 +1137,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -855,11 +1164,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,29 +1218,22 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1095,26 +1392,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1151,9 +1456,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1176,77 +1480,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo index 4341870b74c02d3ef3bdd1b68ed008084b161e97..2faf972721be3bf595d10943f7e4c5a514b4d61c 100644 GIT binary patch literal 30906 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 DKAsDM delta 5024 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 QX|{X&Nmbu=z4x{M0IQ%DuK)l5 diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po index 4155520f..b97d40c0 100644 --- a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po @@ -8,9 +8,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-06-06 15:44+0000\n" -"Last-Translator: Caner BAŞARAN \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -19,250 +19,280 @@ msgstr "" "Language: tr_TR\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "Kullanıcı adı" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "Parola" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "E-posta adresi" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "Kullanıcı adı veya E-posta" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "Kullanıcı adı ya da e-posta" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "Üzgünüz, bu durumda kayıt devre dışıdır." -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "Kullanıcı adı ya da e-posta" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "Maalesef, bu isimde bir kullanıcı mevcut." -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 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:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "E-posta adresiniz doğrulandı. Şimdi giriş yapabilir, profilinizi düzenleyip ve yeni görüntüleri gönderebilirsiniz!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "Doğrulama anahtarı veya kullanıcı kimliği yanlış" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "Zaten e-posta adresinizi doğruladınız!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "Doğrulama e-postasını tekrar yolla." -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "Parolanızı nasıl değiştireceğinizle ilgili adımları anlatan bir e-posta gönderildi." -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "Şimdi yeni parolanızı giriş için kullanabilirsiniz." -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "Başlık" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "Etiketler" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "Etikerleri virgül ile ayırın." -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "Web sitesi" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "Medyama birisi yorum yazdığında bana e-posta at" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "Eski parola" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "Yeni parola" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "Parola" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 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:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 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:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "Profil değişiklikleri kaydedildi" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "Hesap ayarları kaydedildi" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "Yanlış parola" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "Parolanız başarılı bir şekilde değiştirildi" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -297,19 +327,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: mediagoblin/media_types/__init__.py:78 +#: mediagoblin/media_types/__init__.py:100 msgid "Sorry, I don't support that file type :(" msgstr "Üzgünüz, bu tip dosyaları desteklemiyoruz :(" -#: mediagoblin/media_types/pdf/processing.py:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "Kullanıcı adı" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "E-posta adresi" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "Kullanıcı adı veya E-posta" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -373,7 +446,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -386,76 +459,226 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "Ekle" -#: mediagoblin/processing/__init__.py:193 +#: 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 "Si" + +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +msgid "Log in" +msgstr "Giriş" + +#: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:39 +#: mediagoblin/templates/mediagoblin/auth/login.html:39 +msgid "Logging in failed!" +msgstr "Giriş başarısız!" + +#: 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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "Bu medya türü için geçersiz dosya türü." +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "Dosya" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "Bir dosya sağlamanız gerekir." -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "Hoooop! Gönderildi!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "E-postanızı doğrulayın!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "çıkış" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "Giriş" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "Hesap ayarlarını değiştir" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26 msgid "Media processing panel" -msgstr "Madya işlem paneli" +msgstr "Medya işlem paneli" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "Çıkış" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "Medya ekle" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -502,6 +725,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -534,19 +810,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "Giriş başarısız!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "Hala hesabınız yok mu?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "Şimdi oluşturun!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "Parolanı mı unuttun?" @@ -555,7 +827,7 @@ msgstr "Parolanı mı unuttun?" msgid "Create an account!" msgstr "Hesap oluştur!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "Oluştur" @@ -589,7 +861,7 @@ msgstr "" msgid "Explore" msgstr "Keşfet" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -599,22 +871,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -629,13 +906,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -652,22 +929,29 @@ msgstr "İptal" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:40 msgid "Save changes" msgstr "Değişiklikleri kaydet" +#: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "Kaydet" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "Kaydet" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -695,14 +979,14 @@ msgstr "%(media_title)s düzenleme" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "Parolanızı değiştirin." - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "Hesabımı sil" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -714,6 +998,36 @@ msgstr "" msgid "Editing %(username)s's profile" msgstr "%(username)s profilini düzenleme" +#: 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "%(formatted_time)s önce" + +#: 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 @@ -724,8 +1038,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "İndir" @@ -749,7 +1062,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "Özgün dosya" @@ -758,6 +1071,10 @@ msgstr "Özgün dosya" msgid "WebM file (Vorbis codec)" msgstr "" +#: mediagoblin/templates/mediagoblin/media_displays/image.html:36 +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 @@ -769,47 +1086,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "PDF dosya" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "Dosya Biçimi" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -828,7 +1137,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -855,11 +1164,6 @@ msgstr "" msgid "Edit" msgstr "Düzenle" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "Si" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,29 +1218,22 @@ msgstr "%(username)s medyası" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "Bir yorum ekle" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "Bu yorumu ekle" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "%(formatted_time)s önce" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "Eklendi" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "Oluşturuldu" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1095,26 +1392,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "Amaninnn boo!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1151,9 +1456,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1176,77 +1480,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "Maalesef, yorum devre dışı." -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "Amaninnn boo, yorumunuz boştu." -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "Yorumunuz gönderildi!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "Medyayı sildiniz." -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 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:296 +#: mediagoblin/user_pages/views.py:321 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:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 new file mode 100644 index 0000000000000000000000000000000000000000..eed7eb84b4553a6112a634394a47bf8241d6d881 GIT binary patch literal 30432 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 I&Uupm2l9QRx&QzG literal 0 HcmV?d00001 diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po index dd6525fc..bb856e09 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-06-16 20:06-0500\n" -"PO-Revision-Date: 2013-08-26 15:12+0000\n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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,250 +18,280 @@ msgstr "" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/auth/forms.py:25 -msgid "Username" -msgstr "" - -#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:44 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "" - -#: mediagoblin/auth/forms.py:33 -msgid "Email address" -msgstr "" - -#: mediagoblin/auth/forms.py:40 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:51 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:42 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:43 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:44 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/tools.py:109 -msgid "Sorry, a user with that name already exists." -msgstr "" - -#: mediagoblin/auth/tools.py:113 -msgid "Sorry, a user with that email address already exists." -msgstr "" - -#: mediagoblin/auth/views.py:43 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/auth/views.py:133 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 +msgid "Sorry, a user with that name already exists." +msgstr "" + +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +msgid "Sorry, a user with that email address already exists." +msgstr "" + +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:139 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "" -#: mediagoblin/auth/views.py:157 +#: 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:165 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:178 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "" -#: mediagoblin/auth/views.py:209 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:220 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:223 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:230 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:287 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -296,19 +326,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -372,7 +445,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -385,59 +458,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -445,16 +668,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -501,6 +724,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -533,19 +809,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -554,7 +826,7 @@ msgstr "" msgid "Create an account!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -588,7 +860,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -598,22 +870,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -628,13 +905,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:193 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -651,22 +928,29 @@ msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -694,12 +978,12 @@ msgstr "" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -713,6 +997,36 @@ msgstr "" msgid "Editing %(username)s's profile" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -723,8 +1037,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -748,7 +1061,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -761,13 +1074,6 @@ msgstr "" msgid "Created" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#, python-format -msgid "%(formatted_time)s ago" -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 @@ -779,47 +1085,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -838,7 +1136,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -865,11 +1163,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -924,15 +1217,19 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" @@ -1094,26 +1391,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1150,9 +1455,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1175,77 +1479,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 new file mode 100644 index 0000000000000000000000000000000000000000..6b3d085f4db96a240be0f9e0c042b0de99743590 GIT binary patch literal 24298 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�6v!ORyAt%6%r$eSC;~Q?k#>kcY2UCI4 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 literal 0 HcmV?d00001 diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo index 1ed5a4f14b153c1765f030c8b4805fe86d7c5f4e..aecbd5e027d08972b8aa93fe0873e938d9c5b350 100644 GIT binary patch delta 10546 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 UR!;6~y;k{?uQ?c7b<1A-UwXa>Bme*a delta 5128 zcma*pdsviJ9>DQ4cp>qQh^Qztct_ps<%U9{b5)ih?nCpUXCyQ#I`AMd-*{<+H|e9k#@&hMP_JLi4J zPZ}+CwHEKy(B{u6etzLMlHWEDN$tNs_uDJggX#l}!tNcEipLQ+8VfNTk6<@Ek70P# zY`=pNGNhwY7VLy=urpp$%B!L&B+?KRs#G#2V;nBVSy+t~jQk#lQ(r@LnXnd{;YDN) z^)a@^dgPz_mOt$pL-p_Pv;amvJ)o zWEIKiL<#%?%0$PpHJ(OU;00vu>K)vLSFk0Pbx|ss`PCW<{8Rh*Lu_>l`{PBl;*TgP z>l#5Cu`d!sC15aS;1JBlp12Wzg9lJH7S+|5a1zQwvQg$)fL>Yo3JMZv3(Cr#MNUQS zLK*N1Hpe$mc6J_RqKn8J>T8s<59W`wN28p1I?54DMj1a7Wg~M@?%LvR-lA*lbM(Q6&$wV2- z&Uc{n--D8o!zl63nC+KP7JeO@%k%#O1qpD!sezl>N2wXqZFmq@psYNqukpNRpj@Ig z*mUM7seBs~upVb&ct0L7T!NB;%h(*RBYRK*%w&EQLiF*NhZArQ%H#1R7Nb1G@|3tx zc2a?lU=3#BcPI-Q7sERQOE4Bgxye>cM~OEd>8iY@htbRC)W;NZ@h4o1Swxdp@I{=5 zzhWZJ8*JPGjdQ8*LOJsvu^F~xR@q?)K7{R2jv&G`2IUftMA^u+Sn_YBP(XuBxEWjE zDU=o0nH~R$!PM`f1bBe$umgkS2%=E>k3u%DX5pi_5i{^}9EZK*c>=Hi$6!r7`5!^y zIt{C^2M4$jcO%JAR<)I0`fHqJ?J_CAE3Oj0Ke<$E`Gu#y7DuT80}7?1EB{MH%-n zwm~}*P8Flvi4wda&;L3KWK%iFlcZ*+={q=&`hB!9@^Q|IQ&QfM#stSvc6tG2g7-{6 zL&<1^S^wEIm|aP~Fl>)D43+0UfkJN@9!AN46QyG*$^>gsCay58MIK#s6K&Wr&FG(m zGJXuoxXEUFj_F)nM*Cv(^BXu&p8uN^WW}Ayr=+ew4!|_*fdwdmH=zXHirsLBS^opd zB|e3Gv8lW0!j5B%1(u_X+m90eWt0v63B5AlJqj|xO_YvzP!{wvO2@Y8Mte6?8#XNz zrC*v^&q2vdK1!TtP{waJ>-$mqzl<{PxpeX$PT^A;MwP43_pZ)A87f z`V^ES$TM}JWULZH@jx#5??vGx4axX9w!n^$8awKOlG;?131(tvoQE>;GL)lOkMgEG zh;euxyt=A&e;+N@vBBmdH&760K|f}>22q3qc9m~l6zp#=1x?EE#;<};16 z%tcA)YKU%c3KqoVq${k?v((tzWce=?GhjuiRE0 zQPf%`T5LbbrxF}*`0-sg*N?uKUc>rdyzwBIm)d6iK~zHck0*yn?v1p zkJD9bEp~aV_QFC}nPZ{$#MpJ>oIGFpz$+GC_Tb*HVVkZaG+cPzA)IXwl6 za;a~5;?owLG31g?NgkvVQ@Z$GN-k;EIzPYAVV&;s*gXy%HhiSsIDB)Nh6d2G7=U~HNmGOk=7?-lO5G0tiUNgkXy)S8f# znmk0e8Q*h6%HV_)YeGV5e9FLhenO_$OFe^g-S*mCAcc`)AW&g<&4ZAl4_Eh<|?DOwBRA0L#u=OYtSf|RRnb>q` zWE$0UNy;)ZgY?zOgLT);H}r@Z33|ws$J%>bMbTdEbQRlTGjB?yv)IVnND z-E-?L+HHSa-?P`W4b)UL9DPF>_?9imw&;f(&+9rzFJFg6smD=Pw3zYpyAZR5Ek zdXh6!zwO-CBe1=KUEe-iDR=7j+3LLPVR3mb_k3sR?X#PG#ZNX5(ld(Y_|l8ITlBBR c+4Ad~UDD2?Z!8(DSGuG1dG}$xzVzdN1F}$b`Tzg` diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po index 4bb714fe..b3757f2e 100644 --- a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-06-16 11:06+0000\n" -"Last-Translator: m13253 \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -23,250 +23,280 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "用户名" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "密码" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "电子邮件地址" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "用户名或电子邮件" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "用户名或电子邮件" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "无效用户名或电子邮件地址。" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "此字段不能填写电子邮件地址。" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "此字段需填写电子邮件地址。" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "抱歉,本站已暂停注册。" -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "用户名或电子邮件" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "无效用户名或电子邮件地址。" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "此字段不能填写电子邮件地址。" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "此字段需填写电子邮件地址。" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "抱歉,该用户名已存在。" -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "抱歉,已有用户用该电子邮件注册。" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "验证码错误或用户 ID 错误" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "您已经认证过电子邮件地址了!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "重发认证邮件。" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "若该邮件地址(区分大小写)已被注册,则密码修改说明已通过电子邮件送达。" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "找不到有该用户名的人。" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "密码修改说明已通过电子邮件送达。" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "无法发送密码找回邮件,因为您的用户名未激活或者您账户的电子邮件地址未认证。" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "您现在可以用新的密码来登录了!" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "标题" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "该作品的描述" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "您可以用 Markdown 来排版。" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "标签" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "用逗号分隔标签。" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "简称" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "简称不能为空" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "许可证" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "个性签名" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "网站" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "本网址出错了" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "许可证偏好" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "这将是您上传界面的默认许可证。" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "当有人对我的媒体评论时给我电子邮件" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "标题不能是空的" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "这个合集的描述" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "此合集网址的标题部份,通常不需要修改。" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "旧的密码" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "输入您的旧密码来证明您拥有这个账户。" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "新密码" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "密码" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "您正在修改别人的媒体,请小心操作。" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "您加上了附件“%s”!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "您只能修改自己的个人资料" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "您正在修改别人的个人资料,请小心操作。" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "个人资料已修改" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "账户设置已保存" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "您需要确认删除您的账户。" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "您已经有一个称做“%s”的合集了!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "该用户已经有使用该简称的合集了。" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "您正在修改别人的合集,请小心操作。" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "密码错误" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "您的密码已成功修改" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "无法链接到主题……未设置主题\n" @@ -301,19 +331,62 @@ msgid "" "domain." msgstr "CSRF cookie 不存在。很可能是由类似 cookie 屏蔽器造成的。
      请允许本域名的 cookie 设定。" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "无法运行 unoconv,请检查日志" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "视频转码失败" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "用户名" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "位置" @@ -377,7 +450,7 @@ msgstr "此应用程序的重定向 URI,本字段在公开类型的 OAuth clie msgid "This field is required for public clients" msgstr "本字段在公开类型的 OAuth client 为必填" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "OAuth client {0} 注册完成!" @@ -390,59 +463,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "增加" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "提供文件的媒体类型错误。" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "文件" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "您必须提供一个文件" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "啊哈!已提交!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "合集“%s”已新增!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "确认您的电子邮件!" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "登出" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "登录" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "%(user_name)s 的账户" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "更改账户设置" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -450,16 +673,16 @@ msgstr "更改账户设置" msgid "Media processing panel" msgstr "媒体处理面板" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "登出" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "新增媒体" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "新增合集" @@ -506,6 +729,59 @@ msgstr "最近 10 次成功上传的纪录" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -538,19 +814,15 @@ msgid "" "a happy goblin!" msgstr "%(username)s 您好:\n\n要修改 GNU MediaGoblin 的密码,请在您的浏览器中打开下面的网址:\n\n%(verification_url)s\n\n如果您认为这个是个误会,请忽略此封信件,继续当个快乐的哥布林!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "登录失败!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "还没有账户吗?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "在这里建立一个吧!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "忘了密码吗?" @@ -559,7 +831,7 @@ msgstr "忘了密码吗?" msgid "Create an account!" msgstr "建立一个账户!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "建立" @@ -593,7 +865,7 @@ msgstr "以 AGPL msgid "Explore" msgstr "探索" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "嘿!欢迎来到 MediaGoblin 站! " @@ -603,23 +875,28 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "本站使用 MediaGoblin——与众不同的媒体分享网站。" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "在本站创建帐户\n 或者\n 在您自己的服务器上搭建 MediaGoblin" +"\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 @@ -633,13 +910,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "附件" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "新增附件" @@ -656,22 +933,29 @@ msgstr "取消" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "保存" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "修改 %(username)s 的密码" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "保存" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -699,14 +983,14 @@ msgstr "编辑 %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "正在改变 %(username)s 的账户设置" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "修改您的密码。" - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "删除我的帐户" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -718,6 +1002,36 @@ msgstr "编辑 %(collection_title)s" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "%(formatted_time)s前" + +#: 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 @@ -728,8 +1042,7 @@ 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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "下载" @@ -753,7 +1066,7 @@ msgid "" msgstr "您可以在 http://getfirefox.com 取得可以播放此声音的浏览器!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "源文件" @@ -762,6 +1075,10 @@ msgstr "源文件" msgid "WebM file (Vorbis codec)" msgstr "WebM 文件(Vorbis 编码)" +#: 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 @@ -773,49 +1090,41 @@ msgstr "WebM 文件(Vorbis 编码)" msgid "Image for %(media_title)s" msgstr "%(media_title)s 的照片" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "PDF 文件" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "切换旋转" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "透视" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "正面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "顶面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "侧面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "下载模型" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "文件格式" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" -msgstr "对象高度" +msgstr "物体高度" #: mediagoblin/templates/mediagoblin/media_displays/video.html:44 msgid "" @@ -832,8 +1141,8 @@ msgid "" msgstr "您可以在 http://getfirefox.com 取得可以播放此视频的浏览器!" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "WebM 文件(640p;VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -859,11 +1168,6 @@ msgstr "%(collection_title)s by %(username)s" msgid "Edit" msgstr "编辑" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "删除" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -918,29 +1222,22 @@ msgstr "%(username)s 的媒体" msgid "❖ Browsing media by %(username)s" msgstr "❖ 浏览 %(username)s 的媒体" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "新增评论" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "增加评论" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "%(formatted_time)s前" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "已增加" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "已创建" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1099,26 +1396,34 @@ msgstr "标签" msgid "Could not read the image file." msgstr "无法读取图片文件。" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "糟糕!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "发生错误" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "操作不允许" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1155,10 +1460,9 @@ msgstr "评论" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "您可以用 Markdown 来排版。" +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1180,77 +1484,80 @@ msgstr "— 请选择 —" msgid "Include a note" msgstr "加注" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "在您的内容张贴评论" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "抱歉,不开放评论。" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "啊,您的评论是空的。" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "您的评论已经张贴完成!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "请检查项目并重试。" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "您需要选择或是新增一个合集" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "“%s”已经在“%s”合集" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "“%s”加入“%s”合集" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "您已经删除此媒体。" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "由于您没有勾选确认,该媒体没有被移除。" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "您正在删除别人的媒体,请小心操作。" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "您已经从该合集中删除该项目。" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "由于您没有勾选确认,该项目没有被移除。" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "您正在从别人的合集中删除项目,请小心操作。" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "您已经删除“%s”合集。" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "由于您没有勾选确认,该合集没有被移除。" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 c234ff007f8e3fad0648b3ec8d7d7b6de2712c6d..04664c86a6c85bce60be397382b19dd96405b037 100644 GIT binary patch literal 30454 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∾{x4~Q-9}VW233*ua7P6QlO67+H>PXGMNIT)%eR)uU@SjIO^n zT=&xPbsI+4UbA*B2}cj|EuV^BB;7{RUA2~f2DI%vI-w|?eV42;9+n9-CJAUZ`5!k{ zFcS0SYSyY~Dz}9<(&-lS_|b_ts*Q)+m>Oz&JUkI4d}A>Z4sT7SuNeu$Vej6xe`3>s zWGc20q~rhUV_gj#!{u4VWB1G)nYgW_Y{o_g4pdu>s5-h+6Q}Vot=nb3dENDdK6mByL~T^lpK-ncx*MlkWm0~{n zo2-n78zz(Hz^*veo?}c0&5ws$BR=y8*OoSxt{vzc_dqB5r%Y^Lr1+$+f69b2Kfw}h zMb9*@f6ByG>HDWl`ln3f_{}@mk(K@_lm01_{wWiGhQ%ENIq|EGlO7N8(=APCwMM`Z z9PK$NvR$wMYjcK^J}p9ePH3~;*V@Lm#N&l3I{XZD`r%X7K*gs{$Zd(78N&l1y z%lPdNRr{w*Y`cSRGB_C0KV_mrBl_Q7_^ld!?%2IS!yddl^X3!uPnl>s(?4ZmTEXPF zCsyyDGVxy+@>Mrmo&8fL?3@>0@bFQoeZ|^8Wnza|`ln2EoU4DzB;o&YXERNj3d z*8W_h`v8mo)X6sdyT5hQcjUGywBQhn`zFdVq>TP4lZoDMiJtYrj{YeVzMAU&>|URG z_fMHDerQFjmtp^u2|D9H-ZN$4|ebd|Z^;`dxN&CA^J0H?NWn%vW zVSV@6KV{NB_hQrXC7%{4PRsaDT9^D@?;(-SciKN;21}}R=S%GVDU)XC=LG#zCSA_L x{cL|+=s&W3R;MWXr%X7O$BuRCS({{cYlryl?S delta 4912 zcmeI!`%{$H9mnyrfTDI5lg5r|?U<%Do#@zB#TvC{Ow#6})=bp&{o#2!`49S29pH7&v(IzR z_k6$S?Bjz^U0?j#6nfwxD1PN4{qei2RMp;Gox$5 zlNgK_kU7i;*b#3bKjsVmbi&YRW7=ak)O~L3io>xJ^P9;u2616Fw!voShV@Q=7iMt% zHO$3Jn1_9cA|1V`fnP^W^aggo)2IN?A+eixaW`JWw%FL+n0V$l%{2Hi`}o7y<`gF4 z1$5&>RLXk9kVYJUjA4djDCXh_EW$px0axMy)WYI=*b`1e1yY2Xrxg8)yorVe+JcH~ z2T~QY8}+~u48gZiD|-hu(FJ4<^G{UmL;0iY@u-^Tph}R3dVW4?A&XFZZCOw9&*ID` zF6hC%I1taEYIz5hiTlVLrcW=s6q%@ieW-yOQGu;St!xvjl&?A058zb#Z(tHW#5I@@ zOa3p@*iSemxQeYl1Y1xk4I`>J9EX{>7@KhyHeq)@RA4WmPRS9}<~omB`8Di^pI|&j zxa~}(p%zf+r=b+jL8Z)#DnTvkh9=bK>rexKA65H9$e88~s)W~3CHoAOk)XbIszXr| zN1?_UiF!T{NviRCXsCv(Q7PYvig-V&R=-E>>Wiq9wxCve3zh01Mpxi5sOS4S{S?Pc zRB3Whr7XbbumO4AZywW709~1N0w$qS?L)2X5Gs&U_yV3oWoS-+JM{}unP^0<{D-Lf zUqNN$Flziao$D7-f#1Loo&SH+&;XBGFR(KcjG0TnFCN4uROE33?DL+B+Ck=`K^T zS22|SebfMtu@gq{kV+7Tx<4CPyeY<~aRcV!6`Y9uhj9Y16364-VdOuH#tkm4#@-Zg z1HOzT!?;5NiIMik=LIto0 zwMXhu3wsuI-}BfNUv2%I`X8gA+WiKVvb)X=pE>=IvGz+R47HhZFb}t&0=|SAxC80X zM6uWb2cQB>MU^-McjGiviEd)+`~NNto$rq0?Qf<8Or)QMZY)EkYy*bj4peGiMb-Q` zvTe*;*attyl^Bs@FKjDn!e62Sc?+ZQ0=B;YZ`05~4^THgL7m$+d>`w9?x@W&7`3t# z)I?brgT>er>zwP`Q8hn`D!~cV^S?taXYvuR2paH`t+VB4%s9MfKWx|6! za0_PO0aU(KpRHk0XP(1CYp%kCR zc6bTfVhieq+o;b!MGb7G*|m>C1vUh=`SMXETYw>0gGzNBYT~u1arUG3&Iwc?{y)-C z4L?Gq+{M;b#GO$Cq+xp;k4kACYNbV}RM%iTT#tHwo73OpcmP$JqnL=N@HzYtdERfl z`E~$)WE+@Ws8nA;tt{#(JCFo?fqp6~LuXN`Kaa}9P1MSR3+(&bp)wMUTHrwE`gl~} z1=#xjFQuUYDqAn`pGTZae;Xde+o;I57TV|iI404*i>)=EZl^LG_1#{C#rQ0i;x+7m zIYoAW1*ip}{VLQcxq@2BmpBWlvP z%P^RJEvf_!s6DX?yWo1qA7CW?L#TzkImdbbU*v)&ypNh7f&44tA*dU3QK!L!8o-O4 za5bs~TT%BP#=&?FiP3zHxj1#6{r-OuN7BED<1u``pH&P+ zlgJS_S8)gS|Bn6s{}pQQ^j=`6HXFOqufPG=jHB@&Y9W8e;rJD5{2~5@_KN1BR`Oj` zYB!+s`)b3ih^VB#joxM6+LB?0Z;DbAZvDhnzb|kJ?loo6sx+YWu^3rwjLFH(|$QoH2P}GlC8b56L$2T@Qb2C zmlYG|wOlioTK(K>tRJ}xt>#%7fjhJI1O?X3tqrmwies$z2Ud3}^i-Fd!tzG\n" "Language-Team: Chinese (Taiwan) (Big5) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW.Big5/)\n" "MIME-Version: 1.0\n" @@ -18,250 +18,280 @@ msgstr "" "Language: zh_TW.Big5\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -296,19 +326,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -372,7 +445,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -385,59 +458,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -445,16 +668,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -501,6 +724,59 @@ msgstr "" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -533,19 +809,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -554,7 +826,7 @@ msgstr "" msgid "Create an account!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -588,7 +860,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -598,22 +870,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -628,13 +905,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -651,22 +928,29 @@ msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -694,12 +978,12 @@ msgstr "" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -713,6 +997,36 @@ msgstr "" msgid "Editing %(username)s's profile" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -723,8 +1037,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -748,7 +1061,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -757,6 +1070,10 @@ msgstr "" 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 @@ -768,47 +1085,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -827,7 +1136,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -854,11 +1163,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -913,29 +1217,22 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1094,26 +1391,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1150,9 +1455,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1175,77 +1479,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 4b7a2398d8b640c6d49842ab0e68204c6e2a1ae2..bdc5b27530f8743672419326818ee001bde7ff22 100644 GIT binary patch delta 10514 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 delta 5091 zcma*pc~n%_9l-HB<3b=P1QkJ19=I>;OF)SWL`6j0P%E`DqYN+#j1FUni8?XIJtd15 z7eo^hHIkTAInyL=so73alb&juc+%8rVugV;9+T6A#x}( z18<>}EH;KR;z%ThO2ZH=#7vxvLvaf}f`?HS79VR)I1?q2xhV6jK%Zp3j)nxY`C;kRyW$&U)bOD(|-9*{@5dO$`BFdgmMcINPl>3*UEaU-{v$kpw^=ENv zI|FiK3y#8bD0|t7Qi*P44mEVJxfMAm3A<4O*P|r19%W_QQMU3~Yy2?Ipnn3#<1O5P zBjTw4r!)?c&T@Q|qdpF=qLeg@tm1Jp=HN2ii2HCI4&*~g>=~4&w{q zU?N5uW~DMv7Et1&AthdfQZg6H7I;uDScmfYCX~R9D0|3@Mz ziF%Zk??t)(07^w(LWzII8vg_(@oU&qp8xM@NPyeH0Z!%!r54jqz$3U0CG+@^=JQ^N za)>r!aL-Xnc^=cS9m_C!6pt9LL8-tc?1|TqHK+j2Vty4y^l7*Vr{e*X$KyKIqCCX% zl(RmQ4V1q%0lKOQ-6a-6$3Ki z4(x@eP%=JeUHBIaq2G-X;79C>k=!I(5RY>GeaPZf87{;vScsRg0EegY1Yi|T!Io6& zKas{Y2G-*cHgF5>M~a~gmMwc#j5BaG?!uGk#90~U*=a*5?H^DcuOEPv$sLr^#$}m-A4Lh&j1u@Alv00&p?C$QtB%d{G~C;=zoeOQPWZ9Ji_4`KyMf*+vVcLOE7Pc~_eE+gOh?{99l7+I; ze5+rBeds@ep|~9-z%G=;+N|-nQ5NzMhTxx268XZi6J^hD;%*Ep3if@fg@%;yEEeOZ z$iY^_XPE)ZQ4&~#JJE*{IE;%WfqPIYl7KRviQzcWvJhqE3sJ7GMLE11vA3LpMjE3S zXbukW?G`DD`Vcktn{Af*DDwY~x@7fxmY6F_M|sRjEbDL%{e4IX)rFE+7K36Qj>H1Y zl~cG<8hF_9DoUwh=JM!aCQ8Q7SRO^W{!Pp8Q4UqwJifMJDawLwq3p3S->gtR%5@7d z6(2@lJdKxVl;U};z@ZDw|BknyY{hFR6LzDlAccz;Vm5~3FHy#uEL$*w{!x_DzhQaN z@=J_j+`f?d52G=FXjzzxz0i$v$kw7%q7h|+6BrDLGVw(mi&s$Ily@yM6Ca6^_#(`} zJ(eG$EaZ;W&sj|U<$`Ly@U6iXtjDOInSpm&zJ?O;3*_CQj3uV!XwYv(N#s0A!r!56 zL1dX3KL=&J8k2B4%9(lHM8{1JT^Nr>A z*5`LD?Hr&`KJRTAiDT#wLWvW1ztt$jJ`5CN9+sj1QvWeF?U~+x*s>~DWmPr5-bACy z=Rj%Y3XSvH!>0Vy#s!eu# zDpLv_D^|H`D+}HAUbk+WK3*F$hxlWnPuum)m<*i~`#XJY#B^OVNb8ir1N5H3KZUM# z)Ya9yJ>|)|B`$y0kbM9CAtg2)6YtW^@fCWQu|dCRl<1g*Z2zW&X1jmz2#-D5z1FLW z-IbNhWVmXL3WuxOS)QPOKgxYiiKE7;N}Tn^f8y#_N4s?Lm>p3bhu7tM zJt@I|d`cgi&dQ&vFXm6unFX8liDA+HzZMv_u&ku?dyTY=30avseA>{7*-2^HMrzuG z%+ztI{Dc)d>byy%9!G6mwZrT7OfYKFGSag$j6BmRRc>z$1xQ}uuF)%}-S(%u z@7TUA@KkeP?-N~b?$FP==IP-ppXnQTxiRqkc4M@4dd{qjvFnpHOZ_j@47X{Q`~Ki> buQd_+x2u2BQ#_OPXP!izQ1`0tsQdWeFqT*p diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po index 05ecd4b5..b61d41f2 100644 --- a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-05-27 13:54-0500\n" -"PO-Revision-Date: 2013-06-16 01:40+0000\n" -"Last-Translator: m13253 \n" +"POT-Creation-Date: 2013-08-26 14:18-0500\n" +"PO-Revision-Date: 2013-08-26 19:18+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" @@ -23,250 +23,280 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/auth/forms.py:26 -msgid "Username" -msgstr "使用者名稱" - -#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:45 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "密碼" - -#: mediagoblin/auth/forms.py:34 -msgid "Email address" -msgstr "Email 位址" - -#: mediagoblin/auth/forms.py:41 -msgid "Username or Email" -msgstr "使用者名稱或 email" - -#: mediagoblin/auth/forms.py:52 -msgid "Username or email" -msgstr "使用者名稱或 email" - -#: mediagoblin/auth/tools.py:31 -msgid "Invalid User name or email address." -msgstr "無效的使用者名稱或 email 位置。" - -#: mediagoblin/auth/tools.py:32 -msgid "This field does not take email addresses." -msgstr "本欄位不接受 email 位置。" - -#: mediagoblin/auth/tools.py:33 -msgid "This field requires an email address." -msgstr "本欄位需要 email 位置。" - -#: mediagoblin/auth/views.py:54 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "抱歉,本站已經暫停註冊。" -#: mediagoblin/auth/views.py:68 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "使用者名稱或 email" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "無效的使用者名稱或 email 位置。" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "本欄位不接受 email 位置。" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "本欄位需要 email 位置。" + +#: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." msgstr "抱歉,這個使用者名稱已經存在。" -#: mediagoblin/auth/views.py:72 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." msgstr "抱歉,此 email 位置已經被註冊了。" -#: mediagoblin/auth/views.py:182 +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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 "您的 email 位址已被認證。您已經可以登入,編輯您的個人檔案並上傳圖片!" -#: mediagoblin/auth/views.py:188 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "認證碼或是使用者 ID 錯誤" -#: mediagoblin/auth/views.py:206 +#: 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:214 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "您的電子郵件已經確認了!" -#: mediagoblin/auth/views.py:227 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "重送認證信。" -#: mediagoblin/auth/views.py:258 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "如果那 email 位置 (請注意大小寫) 已經註冊,寫有修改密碼步驟的 email 已經送出。" -#: mediagoblin/auth/views.py:269 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "找不到相關的使用者名稱。" -#: mediagoblin/auth/views.py:272 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "修改密碼的指示已經由電子郵件寄送到您的信箱。" -#: mediagoblin/auth/views.py:279 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "無法傳送密碼回復信件,因為您的使用者名稱已失效或是帳號尚未認證。" -#: mediagoblin/auth/views.py:336 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "您現在可以用新的密碼登入了!" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "標題" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "這個作品的描述" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "您可以用 Markdown 來排版。" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "標籤" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "用逗號分隔標籤。" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "簡稱" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "簡稱不能為空白" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "授權" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "自我介紹" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "網站" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "本網址出錯了" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "授權偏好" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "在上傳頁面,這將會是您預設的授權模式。" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "當有人對我的媒體留言時寄信給我" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "標題不能是空的" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "這個蒐藏的描述" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "此蒐藏網址的標題部份,通常不需要修改。" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "舊的密碼" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "輸入您的舊密碼來證明您擁有這個帳號。" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "新密碼" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "密碼" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "您正在修改別人的媒體,請小心操作。" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "您加上了附件「%s」!" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "您只能修改您自己的個人檔案。" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "您正在修改別人的個人檔案,請小心操作。" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "個人檔案修改已儲存" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "帳號設定已儲存" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "您必須要確認是否刪除您的帳號。" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "您已經有一個稱做「%s」的蒐藏了!" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "這個使用者已經有使用該簡稱的蒐藏了。" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "您正在修改別人的蒐藏,請小心操作。" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "密碼錯誤" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "您的密碼已經成功修改" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "無法連結佈景…沒有此佈景\n" @@ -301,19 +331,62 @@ msgid "" "domain." msgstr "跨網站存取 (CSRF) 的 cookie 不存在,有可能是 cookie 阻擋程式之類的程式導致的。
      請允許此網域的 cookie 設定。" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "unoconv 無法執行,請檢查紀錄檔" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "影像轉碼失敗" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "使用者名稱" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: mediagoblin/plugins/openid/forms.py:31 +#: mediagoblin/plugins/persona/forms.py:28 +#: mediagoblin/plugins/persona/forms.py:39 +msgid "Email address" +msgstr "Email 位址" + +#: mediagoblin/plugins/basic_auth/forms.py:39 +msgid "Username or Email" +msgstr "使用者名稱或 email" + +#: mediagoblin/plugins/basic_auth/forms.py:46 +msgid "Stay logged in" +msgstr "" + #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "位置" @@ -377,7 +450,7 @@ msgstr "此應用程式的重定向 URI,本欄位在公開類型的 OAuth 用 msgid "This field is required for public clients" msgstr "本欄位在公開類型的用戶程式為必填" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "OAuth 用戶程式 {0} 註冊完成!" @@ -390,59 +463,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "增加" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +msgid "Your Person 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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "指定錯誤的媒體類別!" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "檔案" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "您必須提供一個檔案" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "啊哈!PO 上去啦!" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "蒐藏「%s」新增完成!" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "確認您的電子郵件" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "登出" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "登入" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "%(user_name)s 的帳號" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "更改帳號設定" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -450,16 +673,16 @@ msgstr "更改帳號設定" msgid "Media processing panel" msgstr "媒體處理面板" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "登出" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "新增媒體" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "新增新的蒐藏" @@ -506,6 +729,59 @@ msgstr "最近 10 次成功上傳的紀錄" msgid "No processed entries, yet!" 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, meida, 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -538,19 +814,15 @@ msgid "" "a happy goblin!" msgstr "%(username)s 您好:\n\n要修改 GNU MediaGoblin 的密碼,請在您的瀏覽器中打開下面的網址:\n\n%(verification_url)s\n\n如果您認為這個是個誤會,請忽略此封信件,繼續當個快樂的哥布林!" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "登入失敗!" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "還沒有帳號嗎?" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "在這裡建立一個吧!" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "忘了密碼嗎?" @@ -559,7 +831,7 @@ msgstr "忘了密碼嗎?" msgid "Create an account!" msgstr "建立一個帳號!" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "建立" @@ -593,7 +865,7 @@ msgstr "以 AGPL msgid "Explore" msgstr "探索" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "嘿!歡迎來到 MediaGoblin 站台! " @@ -603,23 +875,28 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "本站使用 MediaGoblin — 與眾不同的媒體分享網站。" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" -msgstr "在本站建立您的帳號\n 或是\n 在您自己的伺服器上安裝 MediaGoblin" +"\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 @@ -633,13 +910,13 @@ 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:182 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:198 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "附件" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:204 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "新增附件" @@ -656,22 +933,29 @@ msgstr "取消" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "儲存" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "更改 %(username)s 的密碼" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "儲存" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -699,14 +983,14 @@ msgstr "編輯 %(media_title)s" msgid "Changing %(username)s's account settings" msgstr "正在改變 %(username)s 的帳號設定" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." -msgstr "更改您的密碼。" - -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 msgid "Delete my account" msgstr "刪除我的帳號" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format msgid "Editing %(collection_title)s" @@ -718,6 +1002,36 @@ msgstr "編輯 %(collection_title)s" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, python-format +msgid "%(formatted_time)s ago" +msgstr "%(formatted_time)s 前" + +#: 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 @@ -728,8 +1042,7 @@ 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:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "下載" @@ -753,7 +1066,7 @@ msgid "" msgstr "您可以在 http://getfirefox.com 取得可以播放此聲音的瀏覽器!" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "原始檔案" @@ -762,6 +1075,10 @@ msgstr "原始檔案" msgid "WebM file (Vorbis codec)" msgstr "WebM 檔案 (Vorbis 編碼)" +#: 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 @@ -773,47 +1090,39 @@ msgstr "WebM 檔案 (Vorbis 編碼)" msgid "Image for %(media_title)s" msgstr " %(media_title)s 的照片" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "PDF 檔" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "切換旋轉" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "透視" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "正面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "頂面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "側面" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "WebGL" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "下載模型" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "檔案格式" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "物件高度" @@ -832,8 +1141,8 @@ msgid "" msgstr "您可以在 http://getfirefox.com 取得可以播放此影片的先進瀏覽器。" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" -msgstr "WebM 檔案 (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" +msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -859,11 +1168,6 @@ msgstr "%(collection_title)s by %(username)s" msgid "Edit" msgstr "編輯" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "刪除" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -918,29 +1222,22 @@ msgstr "%(username)s 的媒體" msgid "❖ Browsing media by %(username)s" msgstr "❖ 瀏覽 %(username)s 的媒體" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "新增留言" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "增加留言" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:164 -#, python-format -msgid "%(formatted_time)s ago" -msgstr "%(formatted_time)s 前" +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "新增於" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:161 -msgid "Created" -msgstr "建立於" - #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:28 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:40 #, python-format @@ -1099,26 +1396,34 @@ msgstr "標籤" msgid "Could not read the image file." msgstr "無法讀取圖片檔案。" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "糟糕!" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "發生錯誤" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "操作不允許" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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 "Dave 對不起,我不能讓你這樣做!

      您正在試著操作不允許您使用的功能。您打算刪除所有使用者的帳號嗎?" -#: mediagoblin/tools/response.py:60 +#: mediagoblin/tools/response.py:69 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" @@ -1155,10 +1460,9 @@ msgstr "留言" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." -msgstr "您可以用 Markdown 來排版。" +"You can use Markdown for formatting." +msgstr "" #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1180,77 +1484,80 @@ msgstr "— 請選擇 —" msgid "Include a note" msgstr "加註" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" -msgstr "在您的內容張貼留言" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." +msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "抱歉,留言被關閉。" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "啊,您的留言是空的。" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "您的留言已經張貼完成!" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "請檢查項目並重試。" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "您需要選擇或是新增一個蒐藏" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "「%s」已經在「%s」蒐藏" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "「%s」加入「%s」蒐藏" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "您已經刪除此媒體。" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "由於您沒有勾選確認,該媒體沒有被移除。" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "您正在刪除別人的媒體,請小心操作。" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "您已經從該蒐藏中刪除該項目。" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "由於您沒有勾選確認,該項目沒有被移除。" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "您正在從別人的蒐藏中刪除項目,請小心操作。" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "您已經刪除「%s」蒐藏。" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "由於您沒有勾選確認,該蒐藏沒有被移除。" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "您正在刪除別人的蒐藏,請小心操作。" From 3b8251f3296504f12aed72892b134dca49332467 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 26 Aug 2013 15:50:47 -0500 Subject: [PATCH 124/160] Switch docs back over to using old virtualenv setup while we resolve issue #755 --- docs/source/siteadmin/deploying.rst | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/source/siteadmin/deploying.rst b/docs/source/siteadmin/deploying.rst index 6123dc9e..de4ce1ac 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -203,18 +203,20 @@ Clone the MediaGoblin repository and set up the git submodules:: cd mediagoblin git submodule init && git submodule update -Set up the in-package virtualenv via make:: - ./bootstrap.sh && ./configure && make +And set up the in-package virtualenv:: + + (virtualenv --system-site-packages . || virtualenv .) && ./bin/python setup.py develop .. note:: - Prefer not to use make, or want to use the "old way" of installing - MediaGoblin (maybe you know how to use virtualenv and python - packaging)? You still can! All that the above make script is doing - is installing an in-package virtualenv and running + We presently have an experimental make-style deployment system. if + you'd like to try it, instead of the above command, you can run:: - ./bin/python setup.py develop + ./bootstrap.sh && ./configure && make + + This also includes a number of nice features, such as keeping your + viratualenv up to date by simply running `make update`. .. :: From 6db375b522fd8ba229e8dd4ad9b7cabdd58bd520 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 26 Aug 2013 17:28:51 -0500 Subject: [PATCH 125/160] Fixing typo. Thanks larjona! --- mediagoblin/plugins/persona/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/plugins/persona/views.py b/mediagoblin/plugins/persona/views.py index f3aff38d..4ea16fa7 100644 --- a/mediagoblin/plugins/persona/views.py +++ b/mediagoblin/plugins/persona/views.py @@ -186,6 +186,6 @@ def add(request): messages.add_message( request, messages.SUCCESS, - _('Your Person email address was saved successfully.')) + _('Your Persona email address was saved successfully.')) return redirect(request, 'mediagoblin.edit.account') From 1847a482c16f5aa1e55ae80f59886371a71def00 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 26 Aug 2013 17:35:54 -0500 Subject: [PATCH 126/160] Fixing another typo, thanks to Laura Arjona (again!) --- mediagoblin/templates/mediagoblin/api/authorize.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/templates/mediagoblin/api/authorize.html b/mediagoblin/templates/mediagoblin/api/authorize.html index d0ec2616..93cdc7e3 100644 --- a/mediagoblin/templates/mediagoblin/api/authorize.html +++ b/mediagoblin/templates/mediagoblin/api/authorize.html @@ -41,7 +41,7 @@ {% trans %}Applications with access to your account can: {% endtrans %}

      • {% trans %}Post new media as you{% endtrans %}
      • -
      • {% trans %}See your information (e.g profile, meida, etc...){% endtrans %}
      • +
      • {% trans %}See your information (e.g profile, media, etc...){% endtrans %}
      • {% trans %}Change your information{% endtrans %}

      From 85572ade58e5a1fe334313c12dac3f624cfd27a3 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 26 Aug 2013 17:38:50 -0500 Subject: [PATCH 127/160] Committing present MediaGoblin translations before pushing extracted messages --- .../i18n/es/LC_MESSAGES/mediagoblin.po | 142 +++++++++--------- .../i18n/pl/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/pt_BR/LC_MESSAGES/mediagoblin.po | 98 ++++++------ 3 files changed, 124 insertions(+), 124 deletions(-) diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po index efb19196..cca4bd27 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po @@ -20,8 +20,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2013-08-26 22:38+0000\n" +"Last-Translator: larjona \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" @@ -37,7 +37,7 @@ msgstr "Lo sentimos, el registro está deshabilitado en este momento." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 #: mediagoblin/plugins/persona/views.py:76 msgid "Sorry, authentication is disabled on this instance." -msgstr "" +msgstr "Lo siento, la autenticación está deshabilitada en esta instancia." #: mediagoblin/auth/forms.py:25 msgid "Username or email" @@ -66,7 +66,7 @@ msgstr "Lo sentimos, ya existe un usuario con esa dirección de email." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 #: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "La clave de verificación o el identificador de usuario son incorrectos." #: mediagoblin/auth/views.py:161 msgid "" @@ -113,7 +113,7 @@ msgstr "No se pudo enviar un correo electrónico de recuperación de contraseña #: mediagoblin/auth/views.py:306 msgid "The user id is incorrect." -msgstr "" +msgstr "El identificador de usuario es incorrecto." #: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." @@ -121,13 +121,13 @@ msgstr "Ahora tu puedes iniciar sesión usando tu nueva contraseña." #: mediagoblin/auth/views.py:334 msgid "You need to verify your email before you can reset your password." -msgstr "" +msgstr "Necesitas verificar tu correo electrónico antes de restablecer tu contraseña." #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your accoutn." -msgstr "" +msgstr "Ya no eres un usuario activo. Por favor contacta con el administrador del sistema para reactivar tu cuenta." #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -193,7 +193,7 @@ msgstr "Envíame un correo cuando otros escriban comentarios sobre mi contenido" #: mediagoblin/edit/forms.py:67 msgid "Enable/Disable insite notifications" -msgstr "" +msgstr "Habilitar/Deshabilitar notificaciones del propio sitio" #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -232,7 +232,7 @@ msgstr "Nueva contraseña" #: mediagoblin/edit/forms.py:116 msgid "New email address" -msgstr "" +msgstr "Nueva dirección de correo electrónico" #: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -243,7 +243,7 @@ msgstr "Contraseña" #: mediagoblin/edit/forms.py:122 msgid "Enter your password to prove you own this account." -msgstr "" +msgstr "Introduce tu contraseña para probar que posees la cuenta." #: mediagoblin/edit/views.py:73 msgid "An entry with that slug already exists for this user." @@ -302,7 +302,7 @@ msgstr "Se ha cambiado la contraseña correctamente" #: mediagoblin/edit/views.py:417 msgid "Your email address has been verified." -msgstr "" +msgstr "Tu dirección de correo electrónico ha sido verificada." #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" @@ -358,20 +358,20 @@ msgstr "comentó tu publicación" #: mediagoblin/notifications/views.py:35 #, python-format msgid "Subscribed to comments on %s!" -msgstr "" +msgstr "¡Suscrito a comentarios sobre %s!" #: mediagoblin/notifications/views.py:48 #, python-format msgid "You will not receive notifications for comments on %s." -msgstr "" +msgstr "No recibirás notificaciones de comentarios sobre %s." #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." -msgstr "" +msgstr "Se debe proporcionar un código (token) de OAuth." #: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 msgid "No request token found." -msgstr "" +msgstr "No se ha encontrado el código (token) de petición." #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/openid/forms.py:27 @@ -392,7 +392,7 @@ msgstr "Nombre de usuario o correo electrónico" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "Mantener iniciada la sesión" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" @@ -481,60 +481,60 @@ msgstr "Añadir " #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 msgid "Sorry, an account is already registered to that OpenID." -msgstr "" +msgstr "Lo siento, ya hay registrada una cuenta con esa 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 "Lo siento, no se ha encontrado el servidor OpenID" #: mediagoblin/plugins/openid/views.py:61 #, python-format msgid "No OpenID service was found for %s" -msgstr "" +msgstr "No se ha encontrado el servicio OpenID para %s" #: mediagoblin/plugins/openid/views.py:106 #, python-format msgid "Verification of %s failed: %s" -msgstr "" +msgstr "Falló la verificación de %s: %s" #: mediagoblin/plugins/openid/views.py:117 msgid "Verification cancelled" -msgstr "" +msgstr "Verificación cancelada" #: mediagoblin/plugins/openid/views.py:314 msgid "Your OpenID url was saved successfully." -msgstr "" +msgstr "Tu url de OpenID se ha guardado 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 "" +msgstr "No puedes borrar tu única url de OpenID a menos que tengas establecida una contraseña" #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 msgid "That OpenID is not registered to this account." -msgstr "" +msgstr "Esa OpenID no está registrada para esta cuenta." #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "" +msgstr "Se ha eliminado correctamente la 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 "Agregar una 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 "Eliminar una OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 @@ -545,7 +545,7 @@ msgstr "Borrar" #: 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 @@ -564,66 +564,66 @@ msgstr "¡Hubo un fallo al iniciar sesión!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "¡Inicia sesión para crear una cuenta!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "¡O inicia sesión con contraseña!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "" +msgstr "¡O inicia sesión con OpenID!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" -msgstr "" +msgstr "¡O regístrate con OpenID!" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "" +msgstr "Lo siento, ya hay una cuenta registrada para ese correo electrónico de Persona." #: mediagoblin/plugins/persona/views.py:137 msgid "The Persona email address was successfully removed." -msgstr "" +msgstr "La dirección de correo electrónico de Persona se ha eliminado correctamente." #: mediagoblin/plugins/persona/views.py:143 msgid "" "You can't delete your only Persona email address unless you have a password " "set." -msgstr "" +msgstr "No puedes borrar tu única dirección de correo electrónico de Persona a menos que tengas establecida una contraseña." #: mediagoblin/plugins/persona/views.py:148 msgid "That Persona email address is not registered to this account." -msgstr "" +msgstr "Esa dirección de correo electrónico de Persona no está registrada para esta cuenta." #: mediagoblin/plugins/persona/views.py:175 msgid "" "Sorry, an account is already registered with that Persona email address." -msgstr "" +msgstr "Lo siento, ya hay una cuenta registrada con esa dirección de correo electrónico de Persona." #: mediagoblin/plugins/persona/views.py:189 msgid "Your Person email address was saved successfully." -msgstr "" +msgstr "Tu dirección de correo electrónico de Persona se ha guardado correctamente." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 msgid "Delete a Persona email address" -msgstr "" +msgstr "Eliminar una dirección de correo electrónico de Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 msgid "Add a Persona email address" -msgstr "" +msgstr "Agregar una dirección de correo electrónico de Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:22 msgid "Edit your Persona email addresses" -msgstr "" +msgstr "Editar tus direcciones de correo electrónico de Persona" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" -msgstr "" +msgstr "¡O inicia sesión con Persona!" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 msgid "Or register with Persona!" -msgstr "" +msgstr "¡O regístrate con Persona!" #: mediagoblin/processing/__init__.py:414 msgid "Invalid file given for media type." @@ -631,11 +631,11 @@ msgstr "Archivo inválido para el formato seleccionado." #: mediagoblin/processing/__init__.py:421 msgid "Copying to public storage failed." -msgstr "" +msgstr "La copia al almacenamiento público ha fallado." #: mediagoblin/processing/__init__.py:429 msgid "An acceptable processing file was not found" -msgstr "" +msgstr "No se ha encontrado un fichero de procesamiento aceptable" #: mediagoblin/submit/forms.py:26 msgid "File" @@ -738,56 +738,56 @@ msgstr "¡Aún no hay entradas procesadas!" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" -msgstr "" +msgstr "Autorización" #: mediagoblin/templates/mediagoblin/api/authorize.html:26 #: mediagoblin/templates/mediagoblin/api/authorize.html:53 msgid "Authorize" -msgstr "" +msgstr "Autorizar" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "" +msgstr "Has iniciado sesión como" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " -msgstr "" +msgstr "¿Quieres autorizar a" #: mediagoblin/templates/mediagoblin/api/authorize.html:37 msgid "an unknown application" -msgstr "" +msgstr "una aplicación desconocida" #: mediagoblin/templates/mediagoblin/api/authorize.html:39 msgid " to access your account? " -msgstr "" +msgstr "para que acceda a tu cuenta?" #: mediagoblin/templates/mediagoblin/api/authorize.html:41 msgid "Applications with access to your account can: " -msgstr "" +msgstr "Las aplicaciones con acceso a tu cuenta pueden:" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" -msgstr "" +msgstr "Publicar nuevos contenidos por tí" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, meida, etc...)" -msgstr "" +msgstr "Ver tu información (p. ej. perfil, contenidos, etc...)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" -msgstr "" +msgstr "Cambiar tu información" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "" +msgstr "Autorización finalizada" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "" +msgstr "Autorización completa" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "" +msgstr "Copia y pega esto en tu cliente:" #: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 @@ -897,13 +897,13 @@ msgid "" "\n" " >Create an account at this site\n" " or" -msgstr "" +msgstr "\n >Crear una cuenta en este sitio\n o" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 msgid "" "\n" " Set up MediaGoblin on your own server" -msgstr "" +msgstr "\n Instalar MediaGoblin en tu propio servidor" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -950,7 +950,7 @@ msgstr "Guardar cambios" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "" +msgstr "Cambiando el correo electrónico de %(username)s" #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 @@ -996,7 +996,7 @@ msgstr "Borrar mi cuenta" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 msgid "Email" -msgstr "" +msgstr "Correo electrónico" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format @@ -1021,11 +1021,11 @@ msgid "" "\n" "If you are not %(username)s or didn't request an email change, you can ignore\n" "this email." -msgstr "" +msgstr "Hola,\n\nQueríamos verificar que eres %(username)s. Si ése es el caso, entonces \npor favor sigue el enlace de abajo para verificar tu nueva dirección de correo electrónico.\n\n%(verification_url)s\n\nSi no eres %(username)s o no solicitaste un cambio de dirección de correo electrónico,\npuedes ignorar este correo." #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" -msgstr "" +msgstr "Nuevos comentarios" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 @@ -1037,7 +1037,7 @@ msgstr "hace %(formatted_time)s" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 msgid "Mark all read" -msgstr "" +msgstr "Marcar todo como leído" #: mediagoblin/templates/mediagoblin/listings/collection.html:30 #: mediagoblin/templates/mediagoblin/listings/collection.html:35 @@ -1149,7 +1149,7 @@ msgstr "¡Puedes conseguir un navegador moderno \n que pueda reproducir est #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "Archivo WebM (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -1239,7 +1239,7 @@ msgstr "Añade un comentario " #: mediagoblin/templates/mediagoblin/user_pages/media.html:112 msgid "Comment Preview" -msgstr "" +msgstr "Previsualización del comentario" #: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" @@ -1413,11 +1413,11 @@ msgstr "Ha ocurrido un error" #: mediagoblin/tools/response.py:51 msgid "Bad Request" -msgstr "" +msgstr "Petición errónea" #: mediagoblin/tools/response.py:53 msgid "The request sent to the server is invalid, please double check it" -msgstr "" +msgstr "La petición enviada al servidor no es válida, por favor compruébala" #: mediagoblin/tools/response.py:60 msgid "Operation not allowed" @@ -1496,7 +1496,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Puedes usar\n \n Markdown para dar formato." #: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po index 2215bd8f..b3884640 100644 --- a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2013-08-26 19:35+0000\n" +"Last-Translator: Sergiusz Pawlowicz \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" @@ -103,7 +103,7 @@ msgstr "Nie udało się wysłać e-maila w celu odzyskania hasła, ponieważ two #: mediagoblin/auth/views.py:306 msgid "The user id is incorrect." -msgstr "" +msgstr "Identyfikator użytkownika nie jest prawidłowy." #: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." @@ -222,7 +222,7 @@ msgstr "Nowe hasło" #: mediagoblin/edit/forms.py:116 msgid "New email address" -msgstr "" +msgstr "Nowy adres poczty elektronicznej" #: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po index 940e85ca..43e41e43 100644 --- a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2013-08-26 20:44+0000\n" +"Last-Translator: Canopus\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" @@ -115,13 +115,13 @@ msgstr "Agora você pode entrar usando sua nova senha." #: mediagoblin/auth/views.py:334 msgid "You need to verify your email before you can reset your password." -msgstr "" +msgstr "Você precisa verificar seu email antes de trocar sua senha." #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your accoutn." -msgstr "" +msgstr "Você não é mais um usuário ativo. Por favor entre em contato com o administrador do sistema para reativar sua conta." #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -226,7 +226,7 @@ msgstr "Nova senha" #: mediagoblin/edit/forms.py:116 msgid "New email address" -msgstr "" +msgstr "Novo endereço de email" #: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -237,7 +237,7 @@ msgstr "Senha" #: mediagoblin/edit/forms.py:122 msgid "Enter your password to prove you own this account." -msgstr "" +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." @@ -296,7 +296,7 @@ msgstr "Sua senha foi alterada com sucesso." #: mediagoblin/edit/views.py:417 msgid "Your email address has been verified." -msgstr "" +msgstr "Seu endereço de email foi verificado." #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" @@ -357,7 +357,7 @@ msgstr "" #: mediagoblin/notifications/views.py:48 #, python-format msgid "You will not receive notifications for comments on %s." -msgstr "" +msgstr "Você não irá receber notificações sobre comentários em %s." #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." @@ -386,7 +386,7 @@ msgstr "Nome de usuário ou email" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "Mantenha-me Conectado" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" @@ -475,33 +475,33 @@ msgstr "Adicionar" #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 msgid "Sorry, an account is already registered to that OpenID." -msgstr "" +msgstr "Desculpe, já existe uma conta associada a esse 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 "Desculpe, o servidor OpenID não pôde ser encontrado" #: mediagoblin/plugins/openid/views.py:61 #, python-format msgid "No OpenID service was found for %s" -msgstr "" +msgstr "Nenhum serviço OpenID encontrado para %s" #: mediagoblin/plugins/openid/views.py:106 #, python-format msgid "Verification of %s failed: %s" -msgstr "" +msgstr "Verificação de %s falhou: %s" #: mediagoblin/plugins/openid/views.py:117 msgid "Verification cancelled" -msgstr "" +msgstr "Verificação cancelada" #: mediagoblin/plugins/openid/views.py:314 msgid "Your OpenID url was saved successfully." -msgstr "" +msgstr "O endereço do seu OpenID foi salvo com sucesso." #: mediagoblin/plugins/openid/views.py:338 #: mediagoblin/plugins/openid/views.py:393 @@ -511,24 +511,24 @@ msgstr "" #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 msgid "That OpenID is not registered to this account." -msgstr "" +msgstr "Esse OpenID não está associado a esta conta." #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "" +msgstr "OpenID removido com sucesso." #: 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 "Adicionar um 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 "Deletar um OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 @@ -558,19 +558,19 @@ msgstr "Autenticação falhou" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "Entre para criar uma conta!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "Ou entre com uma senha!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "" +msgstr "Ou entre com OpenID!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" -msgstr "" +msgstr "Ou registre com OpenID!" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." @@ -613,11 +613,11 @@ msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" -msgstr "" +msgstr "Ou entre com Persona!" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 msgid "Or register with Persona!" -msgstr "" +msgstr "Ou registre com Persona!" #: mediagoblin/processing/__init__.py:414 msgid "Invalid file given for media type." @@ -625,7 +625,7 @@ msgstr "Arquivo inválido para esse tipo de mídia" #: mediagoblin/processing/__init__.py:421 msgid "Copying to public storage failed." -msgstr "" +msgstr "Falha ao copiar para armazenamento público." #: mediagoblin/processing/__init__.py:429 msgid "An acceptable processing file was not found" @@ -732,32 +732,32 @@ msgstr "Ainda não há entradas processadas!" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" -msgstr "" +msgstr "Autorização" #: mediagoblin/templates/mediagoblin/api/authorize.html:26 #: mediagoblin/templates/mediagoblin/api/authorize.html:53 msgid "Authorize" -msgstr "" +msgstr "Autorizar" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "" +msgstr "Você está conectado como" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " -msgstr "" +msgstr "Você quer autorizar" #: mediagoblin/templates/mediagoblin/api/authorize.html:37 msgid "an unknown application" -msgstr "" +msgstr "um aplicativo desconhecido" #: mediagoblin/templates/mediagoblin/api/authorize.html:39 msgid " to access your account? " -msgstr "" +msgstr "para acessar sua conta?" #: mediagoblin/templates/mediagoblin/api/authorize.html:41 msgid "Applications with access to your account can: " -msgstr "" +msgstr "Aplicativos com acesso à sua conta podem:" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" @@ -765,23 +765,23 @@ msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, meida, etc...)" -msgstr "" +msgstr "Ver suas informações (ex: perfil, mídias, etc)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" -msgstr "" +msgstr "Alterar suas informações" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "" +msgstr "Autorização Finalizada" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "" +msgstr "Autorização Concluída" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "" +msgstr "Copie e cole isto no seu cliente:" #: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 @@ -891,13 +891,13 @@ msgid "" "\n" " >Create an account at this site\n" " or" -msgstr "" +msgstr "\n>Crie uma conta neste site\nou" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 msgid "" "\n" " Set up MediaGoblin on your own server" -msgstr "" +msgstr "\nConfigure MediaGoblin em seu próprio servidor" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -944,7 +944,7 @@ msgstr "Salvar mudanças" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "" +msgstr "Alterando email de %(username)s" #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 @@ -990,7 +990,7 @@ msgstr "Deletar minha conta" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 msgid "Email" -msgstr "" +msgstr "Email" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format @@ -1015,11 +1015,11 @@ msgid "" "\n" "If you are not %(username)s or didn't request an email change, you can ignore\n" "this email." -msgstr "" +msgstr "Olá,\n\nNós queríamos verificar que você é %(username)s. Se for esse o caso, então por favor clique no link abaixo para verificar seu novo endereço de email.\n\n%(verification_url)s\n\nSe você não for %(username)s ou se não fez um pedido de alteração do endereço de email, você pode ignorar\nesta mensagem." #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" -msgstr "" +msgstr "Novos comentários" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 @@ -1031,7 +1031,7 @@ msgstr "%(formatted_time)s" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 msgid "Mark all read" -msgstr "" +msgstr "Marcar tudo como lido" #: mediagoblin/templates/mediagoblin/listings/collection.html:30 #: mediagoblin/templates/mediagoblin/listings/collection.html:35 @@ -1143,7 +1143,7 @@ msgstr "Você pode obter um navegador moderno\n capaz de reproduzir este vídeo #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "Arquivo WebM (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -1463,7 +1463,7 @@ msgstr "Comentário" msgid "" "You can use Markdown for formatting." -msgstr "" +msgstr "Você pode usar Markdown para formatação." #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1490,7 +1490,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Você pode usar\n\nMarkdown para formatação de texto." #: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." From fea0e4e4ea9f2e47b907d6e9d95bb3654ba2a79d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 26 Aug 2013 17:39:53 -0500 Subject: [PATCH 128/160] Committing extracted and compiled translations --- .../i18n/ar/LC_MESSAGES/mediagoblin.mo | Bin 34293 -> 34295 bytes .../i18n/ar/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/bg/LC_MESSAGES/mediagoblin.mo | Bin 24290 -> 30440 bytes .../i18n/bg/LC_MESSAGES/mediagoblin.po | 725 +++++++++++++----- .../i18n/ca/LC_MESSAGES/mediagoblin.mo | Bin 31346 -> 31348 bytes .../i18n/ca/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/da/LC_MESSAGES/mediagoblin.mo | Bin 30478 -> 30480 bytes .../i18n/da/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/de/LC_MESSAGES/mediagoblin.mo | Bin 31927 -> 31929 bytes .../i18n/de/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/en/LC_MESSAGES/mediagoblin.po | 6 +- .../i18n/eo/LC_MESSAGES/mediagoblin.mo | Bin 31336 -> 31338 bytes .../i18n/eo/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/es/LC_MESSAGES/mediagoblin.mo | Bin 32134 -> 32876 bytes .../i18n/es/LC_MESSAGES/mediagoblin.po | 14 +- .../i18n/fa/LC_MESSAGES/mediagoblin.mo | Bin 31294 -> 31296 bytes .../i18n/fa/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/fr/LC_MESSAGES/mediagoblin.mo | Bin 32279 -> 32281 bytes .../i18n/fr/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/he/LC_MESSAGES/mediagoblin.mo | Bin 33619 -> 33621 bytes .../i18n/he/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/ia/LC_MESSAGES/mediagoblin.mo | Bin 30474 -> 30476 bytes .../i18n/ia/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/is_IS/LC_MESSAGES/mediagoblin.mo | Bin 32482 -> 32484 bytes .../i18n/is_IS/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/it/LC_MESSAGES/mediagoblin.mo | Bin 31419 -> 31421 bytes .../i18n/it/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/ja/LC_MESSAGES/mediagoblin.mo | Bin 31092 -> 31094 bytes .../i18n/ja/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/ko_KR/LC_MESSAGES/mediagoblin.mo | Bin 32323 -> 32325 bytes .../i18n/ko_KR/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/nl/LC_MESSAGES/mediagoblin.mo | Bin 30887 -> 30889 bytes .../i18n/nl/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/nn_NO/LC_MESSAGES/mediagoblin.mo | Bin 29907 -> 29909 bytes .../i18n/nn_NO/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/pl/LC_MESSAGES/mediagoblin.mo | Bin 31701 -> 31741 bytes .../i18n/pl/LC_MESSAGES/mediagoblin.po | 10 +- .../i18n/pt_BR/LC_MESSAGES/mediagoblin.mo | Bin 31334 -> 31441 bytes .../i18n/pt_BR/LC_MESSAGES/mediagoblin.po | 12 +- .../i18n/ro/LC_MESSAGES/mediagoblin.mo | Bin 32063 -> 32065 bytes .../i18n/ro/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/ru/LC_MESSAGES/mediagoblin.mo | Bin 38290 -> 38292 bytes .../i18n/ru/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/sk/LC_MESSAGES/mediagoblin.mo | Bin 31797 -> 31799 bytes .../i18n/sk/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/sl/LC_MESSAGES/mediagoblin.mo | Bin 30652 -> 30654 bytes .../i18n/sl/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/sq/LC_MESSAGES/mediagoblin.mo | Bin 31904 -> 31906 bytes .../i18n/sq/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/sr/LC_MESSAGES/mediagoblin.mo | Bin 30510 -> 30512 bytes .../i18n/sr/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/sv/LC_MESSAGES/mediagoblin.mo | Bin 30740 -> 30742 bytes .../i18n/sv/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/te/LC_MESSAGES/mediagoblin.mo | Bin 30711 -> 30713 bytes .../i18n/te/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/tr_TR/LC_MESSAGES/mediagoblin.mo | Bin 30906 -> 30908 bytes .../i18n/tr_TR/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/vi/LC_MESSAGES/mediagoblin.mo | Bin 30432 -> 30434 bytes .../i18n/vi/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/vi_VN/LC_MESSAGES/mediagoblin.mo | Bin 24298 -> 30448 bytes .../i18n/vi_VN/LC_MESSAGES/mediagoblin.po | 725 +++++++++++++----- .../i18n/zh_CN/LC_MESSAGES/mediagoblin.mo | Bin 29782 -> 29784 bytes .../i18n/zh_CN/LC_MESSAGES/mediagoblin.po | 8 +- .../zh_TW.Big5/LC_MESSAGES/mediagoblin.mo | Bin 30454 -> 30456 bytes .../zh_TW.Big5/LC_MESSAGES/mediagoblin.po | 8 +- .../i18n/zh_TW/LC_MESSAGES/mediagoblin.mo | Bin 29880 -> 29882 bytes .../i18n/zh_TW/LC_MESSAGES/mediagoblin.po | 8 +- 67 files changed, 1165 insertions(+), 551 deletions(-) diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo index 442c84e548ace3ba7ca759dc17cb1d96808f33e8..34643fb6333cc4592225f14f7d8e0587adf41f02 100644 GIT binary patch delta 2814 zcmXZd3v7;89LMqFZA))VTP@nr3yOAC-l|@v6IEK5mZ=(3)aX`P45f2@P_u4oH19T< zNk)~W$=KF+_m0FSTNW%bWDAL9VT-zsOqk8=``dXE@j3tVKF_)Q|K~ityUlZNo9Dxt z5XWnbc{|^jK6nxb;8mQ1-NzUck4rHbcVG;D>Us(Th%aLZUco@TgI(|*cE(2-gq;hl z;jWPd#`%BXUUcZiQLY830mow=mSU2}m?m6B{P8$rvM{yKnBF)a2jY6n!~>{}UBL0! zt;jBX25O^Au_taXa*Ro!ae$6+{1!Xm8SIYdFav+bY>Z_z4P1(ga4UYm3%7AH@xF=1 zB;sw<&Z8z76Nj;=2}fWAmS7TAI5fJ_sCR#8a@~)Q)Bg$T#UD{Syo%``)dGgyg_@ENQuF@_<`5$uXiD9au~qZdYDA%^2D)B{zhny+%*jv>S?7>0*Y z&wq(p=y&)4e?cwi{1juTmbrvlXv)*}xnfLbep5+9HF*;g(2tt%ENb9un2h%^6yv8F z^BAU}4r?wdW>ks}p>}i{b^Y#O zEJjYZHBCd6Y$objHQ*EYIxfa`%*DYJydN&W7q9`n_y;Pp{bs2CG=|d9&Ynaay2+^i z8q`kekSv-e9sGa4x@dVU{=D6`% z>_NN(b+}t99GlWMI{MRb5p{S1=GilmiCRD@YM^S=gbk>Pe5i%)#TaZumGFC1s;{HQ zjem|TV}a{R)VK#78Ywi6qDs(#+Sx-)#KigbnvFqSyUD0SG!u3Be3*c{QP-^<2jg*! z#+#^x1un3qjKf~UnQrWq(9nxjsB5*%jW?lo_8Mx(dysQz-a`%i5F0UyuS-AN>v|mP ziLc-!ta;up@C(!i&*LthT&frjzLRUIP;rG8hJPxHK2n^sUKOB`3cFE z$zMvDuoaUq@~PuSDcDVNJlq3hP&}J24i&{`46R0 zTW4$QUb+yAv+y(OHr+>ErU)Jd;@2rXPq(ou>ucc z;CfpEKYEEnHrULJbZ9iwu>*A$y!=PjOdA&9ppEv6w-{B^qo~7q3sZ2&Cii=QWyC)0 ziyb%&gE!l=k&7dU*I^C%u_rnSTvnwp8?~|uR7QL_06)h!@FHr!6(gHrqnh}IVST%CF;dS*Cq@jeha5zvp=Lqc5lyu zh5j*V^P+tXOQL-n>Z5#f>x2BK^RqnxS-Ba$u(ADvyx!c59RKjKe<$hLVO2SCde*<8 HzRvR>U8|6v delta 2814 zcmXZd2~5{z9LMo5mx6$XfP@Dk9w;gbq5@&19O48I!Xy>(pj13k@yH|pD4CU{B+jO8 zd7zE0EP--Gx>>H)Jmx%B(^adiiD$YpGo9=G>G^Gp*YkaTzu$9wpW}ajv;V!#{)ZQY z_)^Sl=P0vocnW*tHJpwevdy~VBJ6`(uoHgjc^U(VuV4sX#X!7^ZSikxgO4!?gL0gq zo)J0b`@i8BD)iygp4q4d^Kk?gVS>L|Ev_JL&NCa1Nu$kTaTX@xS{#Z8FcmN37!1#M z1D}kV=pu~4ntY#GJcR>PgyGldhv)GLyof{acTC4vT2sSCSb-byV?MZpcexW8D7Id7*Xg_ITF>-Xbi>* z)Y4UAe>{&b;$xhQ<>Sm~!j57%`a&3XGKCn7#5@ecDX16bpw@i3XAOoB*JCIiLcRYv zYM|fXzxWesK$j-aCjN>VXupZ>y#gFW|5i>xYqA~Vu?f}T1ysY=u@BzIb{JR0#>9T8 z&6ACSwHg7>vQGn1+?eKC%YX%pRZy+HHoLKws3%vb=ZLx2RO#K(!k;%WN=a zdoDw@d(cNAiNZ0|611Xb_6U1m{A_p3Mxl<~ILyEj)aKiU@wgLp+*+_7p1^3lg&J5u zxm(K4_#|L(USLbcilC+!aQkI3vSTX9k5B1${491h# z9WS7k=ucdVHjhgQDseOxRp_^Y_1{Gymx|wTI3~^KhX`k3KJLRIcpY_5#4Ruzi&?1p zH?Th*MP9L1T!F=$#rAj#_1$F*#eXmi0~axH`nL!QBk);NgX>T!Z9>Lm-yzwukuRGu z8Ee1ei93FUsHHoIvG@?5!D!Or8%SXig?m_yO3kWDccFZV zn%Qm7&dc1dU>^3R-iKTT)_{A_Z@HVueykz>8H;cs>1dC~aTlJ&V60e4{@YQgT\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/mediagoblin/language/ar/)\n" "MIME-Version: 1.0\n" @@ -595,7 +595,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -763,7 +763,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo index 3dff58f12157b25f4acd3772f9cf434921d948d1..6d2eb8850a7257af16c528639fa776750095a979 100644 GIT binary patch literal 30440 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 J*Z!>J{{f*4qd5Qo delta 4851 zcmeIz`%{$H9mnyrh@c1t6%a*bg`g-Xpn`%yE{YH@c*7e}6p+gnbjgAtsIc0pM%!Ae zk4`kksEt~Uwzcjw6HOCmnu|@fG4V25Q?)cUX{Rw)jW*u;{_yNf|APEh26&xw_Ib|p zJ>Ty+`~35!&AFZ9E}kS1oSi}9n&!d>#!7e;&a^jEoRbhV|G38 zHSC0Ek!P6m7=|~HU-LEpx?^ypFsTA9Wxkz z35)O|PQn31k&Z6Z#Jf=sI*Q%!1S-IHk=V_ja0gz+AZ+e!OdQWQZ8Z2bd-=!Q<~Sze zS#;uERLc59lSUkb%wf_n7>jTePR9Yb7FXat)WTx>*bjUX707hdb1KoR$XjS=q93Co z+k#ZZ>_FXc7z6Q5)XLsMJ?Jd*4D&gv_QCwqcpR$cd8iUhLftjFSP%B%HD&XaNtZLarFE5C~I_!-7w zxYN$mNYny~y)=~KIjEGmP$lr7E@(l0z6Le%R#fc|B6FIPs1jaBmF!DYMgj)fsSZXx zI07}#Xw?0akfa)KIStit6)NT1P!Ye3s?{mfuD*au={3|!Z=g~g!0ZY<8g>6be?P_V z7*uKUP^FxT>+l)mey@2zLjm;Ssri_UO0^rcvV*8Vj^ieL7nPwokK3tVh{{AWYUR(P zu744gkwd8YU-yq+Kn328fja+pXlR1_9Ruvl1Y_pXABg+01r>ShAp5)*p*B$)cGMh| z%J(o0Z(u1#4d#g9)2Iww#6WCE)?hxt$voeLFna;c!HM`H>UeyN%TR|{r^Jm~$#Xah z_h2#JLIpH_DBmI2fWxsTJK2eOsQD_8OO4m>A@s61bDl;C{s&iMF|+9__$)5QM>ql( z53~1xg=O@2plW^>J7Ew{)e1wf3qFP_LA2kYs7?3;Y9Z5xlYb|TS_bsM4cHlvqar@( zzwoaZO#e1&f(O_g!?{T%h(%qWjV#`j;%r=tMfeep$H!AS0a%NEmS7&`E_L2{b1C5 zVW|7Oqx_9b)P&XIo{I}5{o2HCB5vet?k}nQMRHB%zaj2`XjFQSbjBqEfpN zRr7twwlPO=0Jh@_Gx4Nde3>cY=a=k_-0hG4#zwORV2 zRu+qTP!dMtBIa>--&E=^E$TSEo{NYLOZaV*q?qd8$_Ec0k!f>jK?C3!+KPvHlY^qikF5` zdViYm=6OvFRD4$mR? zd(HgGb^vaq{AN8W)u&M_3!GvH5{aAW$DuNG47DeYqe^rhweoK;6z`%k(s`;qe{a-y zDk|`7?0EmrqM-@qbqpBuEY79hiu>^*D)N=Z_Iclj$@H&aN6n|%sZ2n9x94Ihdax4z zjNLG8x*cFPD#Q8M@&2!-!M-!ckbPzDqK-$-4Ez1R0Ch@Eqe}HL&cgdh3}*UFJD}aT zm;M~FdXR0*n4d!i0|V3Xf<*pvQt)Itu=q5e)9Z!@3={sZ-ZNb;|UV^9~4L7j#f zs0rp{cdSR1U?uAM9XJ$UMPf7UScIeJ+3)|=IGX<3n2Y!4asKuG&z^6;|66b^{ckY| zS5ZjS>L7B&%^BQ+5l`9g|6ii^PS^rFwZkxq{#+b{%P+AAtV zt)vu{+GkM{UqVfE2Q~2kKJ0|)*cCHTDIbr@P!Z~MOh;vMuHS`zD^c^gQ1|uwxxcXu zHQ@`Gjr-7-TsXvGHB5|%UsUU=sjcU)Db88zsjAM7OGxxo)wmj)syvI9d+LWY##tL9 zhIVp$LagwJ~L?eLbVvig&hJ z2b{&0dsc?;@~oW!KF?fFfaNHSwmulVv`2CI(kfG2)$D92Z)|LKdzM(gN_1JnhitHN z7DQU_FDUcnFB}=*n?5W!!1_hSQfqAGtKlW(H8oXBoXxJLT0^_hcXr9o9M b;yb6MXQhqsr5B_)e8UP8|DX2nA?^PKLP6O- diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po index 0ce3670c..b27a4cba 100644 --- a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-06-16 20:06-0500\n" -"PO-Revision-Date: 2013-08-26 15:12+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/mediagoblin/language/bg/)\n" "MIME-Version: 1.0\n" @@ -18,250 +18,280 @@ msgstr "" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mediagoblin/auth/forms.py:25 -msgid "Username" -msgstr "" - -#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:44 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "" - -#: mediagoblin/auth/forms.py:33 -msgid "Email address" -msgstr "" - -#: mediagoblin/auth/forms.py:40 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:51 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:42 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:43 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:44 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/tools.py:109 -msgid "Sorry, a user with that name already exists." -msgstr "" - -#: mediagoblin/auth/tools.py:113 -msgid "Sorry, a user with that email address already exists." -msgstr "" - -#: mediagoblin/auth/views.py:43 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/auth/views.py:133 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 +msgid "Sorry, a user with that name already exists." +msgstr "" + +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +msgid "Sorry, a user with that email address already exists." +msgstr "" + +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:139 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "" -#: mediagoblin/auth/views.py:157 +#: 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:165 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:178 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "" -#: mediagoblin/auth/views.py:209 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:220 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:223 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:230 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:287 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -296,19 +326,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -372,7 +445,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -385,59 +458,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -445,16 +668,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -501,6 +724,59 @@ msgstr "" msgid "No processed entries, yet!" 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -533,19 +809,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -554,7 +826,7 @@ msgstr "" msgid "Create an account!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -588,7 +860,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -598,22 +870,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -628,13 +905,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:193 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -651,22 +928,29 @@ msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -694,12 +978,12 @@ msgstr "" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -713,6 +997,36 @@ msgstr "" msgid "Editing %(username)s's profile" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -723,8 +1037,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -748,7 +1061,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -761,13 +1074,6 @@ msgstr "" msgid "Created" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#, python-format -msgid "%(formatted_time)s ago" -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 @@ -779,47 +1085,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -838,7 +1136,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -865,11 +1163,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -924,15 +1217,19 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" @@ -1094,26 +1391,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1150,9 +1455,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1175,77 +1479,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 msgid "" "You are about to delete another user's collection. Proceed with caution." msgstr "" diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo index 7c80ee7864df5bb47ac9a7ef9c4cc5de9ed041b7..a751e3706e53c187bc3b2e92bd67c36173282768 100644 GIT binary patch delta 2817 zcmXZcdra3=7{~EPZi>o96hgqn3x*OZC@@e=ke{LkYG`P9L68(hD6e#}pId6y!pm?L z_D@-EUTQNbvrKckwbW8f=fs>{W)s~^W0Yl?y+5AsKfKO!_>x18765hnQ7&*?YFV^88+>9}J(DOSCB)*2B*oHyaj-Bx?hTsDX#*hMM zch9H-^FRD>EE9V13C{x52Pa}KmS9UKv#q#_xMI9n7Pew<>@mTtAEtN~VFqy>l8fy^ zZM+TR@PQY{75d#j(hAMG@Q*@d9h-(du>@72g{Tkiz+u>e&!9~-Yv6@4%qF}s$!s7F znCvny#CYN<_y{h+Uihjv|F)k&7!#jhI3CAHJcoMW7t}`XVKjz6X*L)KqDoqfu{a&O z;8Glgt1tx*AbYc`I2MzO-2bal>-cvu7|P%vhT^Z-4R2!@{(~xAXt6U9^;{O}xjZi} z!YJZWY{JFZ6@#X@ql!RPW&$d)8cbt-TgO1ncMuct0(QqgP#*}G>Y6YNI}@j31ZJR` z)rUI!B{&iry!qp}o45^Cv8~fwj~&KH;$s-i`gV?ic77eTz&%tc1D-N_6uY5b7=k@; z6sjUcsOJ};Dp7;lNIfc{9jN9!glf9)z5m}rJs(lRak9R}Gte~|g32rn^`SgWz)I8^ zuSIRB36=RFR1aK5HPtm7fq$biPMuC8VkvSO_7bM!DO7^@(XWL=X1E=NVIpyF)Q590 z3dbTgXL3kJw@fhmpe)i%v)R~6Pb-xo)p2?_Y9fNAd8L0K@ zyx6~yfnMB+T4VH-YdI@FO|#5lZ(y)d}KZ6FTyUM}{h$^#8^kE9VjPU*p>b-5KiXK2U=}{cY`t}WjT)c}~C}W}PfojyfZ9r}0if7Uy*F3ejhWQPche6e@ zNynqkx)SMQTZ7ZE)tgUQY&MD5hyGLsTNu2DM^SP460^r~6Kdy&aWJ-GItJFbF3v=L zLu@v_h9Bcd%wEckz*_$3`70QL5w&hU1_O!L)l&ap1{;~^j+;=|=^a#)eT3@X6R3?` z#{T#h4#N04cN_9?7;z=)dyS~~noyP4k6rK-s)x>_dgpo__1B00Wg-FNo-=z4vyeu& zc{ml1;$)0?-ep*Zg~VG>UEYfNV9#Y{b1)fS#|^k1BbU2MY{vn_C$SiB`5EkFFnR?) zhxj9|#1j4#;7Qa5!dJOW=V3DOT2zL6FcpuXuIF#4j8j&-TjN9Z#%j#O&oKq>U=;cj zXjx@E4AZd`b$#BzB;1P}tF@q>%YDI>z6xWA-$Z5pKI%*lVJLoyLHIRx#?z=CIFCA_ z%gB*r*iQ_)GI0ZSrX8pk<6m?pqIx3dak*yJ}}^aGPQs0 delta 2817 zcmXZddu-2F7{~Fa+EVmFwW@V#=enY_)uL`we&{HxvKpOQTbH70Ze=#UiOXzKD(i&q zpT%ZbXG_L9Ov8jM88KEw*3HNki_T((bT*sV-XG_i;B}t!`(DoToacPCv;^I62|8Hb z)=M+9+Hq#x@f`NSTUdlq^If@UWR&)x1Yfv28U54{{`FQ9gM(#P^Al-=1fFgHxzZ2xcGXpi>VNAly7>+Hd2L$E0CJe_m!~-!3Gf>SM zK<)h!%)lyt{uI^`H=`=HYr5;P2JAq55@UJ4H8Rl3Z=zoC5LL>ce6t?d4s}B^cEk~= zisYiMFGW>iDQY2WQ3=(en)4{C=`Q-e-$q>@IfK8v-x3(;m?WbzOGQ0sEOx^Z)E;}N z1?@#;eiYRM*HBG$1Bc+>sEh~Bq))H_*$rEd>39~E;3M?(;?U>aio!98xC`pRSs0Da zAXT({OvCqa175+qIHSO9J_csFJ^lzE6JNk=JpY1QNYreOIPnnNh%0APe^uZf6DrXP z&Xh`5g(~#{ROyeSGC7aR{2r=8afPl&vQP^Rpqg_QDuH5D1s9>VY72J7DpYgV74mjn zaD)jx@G>UipV$dwUv#BSMqM`sgRv0Rr1MYQ?*4VZ){QCs(uA2*}+G_1&dCp!A}LpAGYR5Q**y|2QL zy=@G1<37}j4*2mgRF|Iiy?~>Lf52Fbn`ibqrl2zZ996;ZP@mj~n1!QWa@SX)5~{*# zd>47IXM>CRZZk35w-lA>PSk0r!6!|J+L9}nfVVIPLrUBN;!*dF!bHqQRj3&0Q!B#{ z@Jmd^`K3z8GuzET$K?_Z!$&v1LCnD6%gp#=%lJpvU&YoKS>fhmF_?IB1@#YQu#Jgu+<`hy@1UCO6IAz}MlIxf z?1_J2Urbo;PD3^hCN4oe?=94Qdr_766vOZ=s)sJ2dgtbH>aPd?%S1Pff0_RxaVXO0 zR)l$Y0;gc)3YXy=%ptBub$Ju&fzd0?=3+m56Sv}4j9TR?u^W34pTTK(+hgz^gORIg zG`x;$FrR+{cm}nAh)S1f5k5`qp)#z)6g-JKp1-3q?!VTZngFUdDsd=&fdlXlj7G03 zEvt+NVHy^oj?Wv|2kVe+wF{{0M!w=oUy7ZHx1%!OhuYI4*cKZw1i!*Icox+I7g1Z( zgltKsU1!jaiDuNE-bdXSzuwsc)f>G~nWSP(@x;dZA7d7DX|;HM{rHsP*qXfbnEGSm t@>&IFj7X~qpU^urEo(&D@cPUNZ+Fu*=Zg1q)-^T9#&xRSzV5f6{{cZQf5QL( diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po index d9c3bae6..6736e94b 100644 --- a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/mediagoblin/language/ca/)\n" "MIME-Version: 1.0\n" @@ -593,7 +593,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -761,7 +761,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo index a9111c301ccce1674168c92e98cf926e64e2e912..4decf20d065cbd6c70df632fcf82dc8be34925af 100644 GIT binary patch delta 2830 zcmX}tdra0<9LMp4Tok#Am|!TNf)^&}gNTqw2_oJQFR7t|iXC=!OvJtT7@l^$jK0J-F%a9)5AR}c?7{%-L4OR$ zwFbLJTVJ)WMCs>5-_$m+NOgAQj_~Hy> z2BQB=TbaT5IB`6NV-|*B0crzF9k-(jL+Mbg%=e%kIEel6J@@moIEwfZs-*Yb&;LP{ zI((Kf<8UA*;dGpe8<1j|&ryl=nr-KICeldOK-9vUF$ilh1oxmy*W~I&jk|yvcMW~9 z4I}U-HewfQL-hs5jK+hg%A9lk2}hEzxkp2nFJ_K0ahQq0xCHxRIcfvd*c)HRFx-#2 ztj91OTW~zy#vvG6$XJ|=s@QqdhVEe)KEwg6Z~D%)nZ}_ONJb5ufSM=^!*MD0!*!@k z9n`q}s7f?q3?4^i`X%ae{)oB*f1@@UKF{7Y4~DY7d4h%?&Ol{62Q{z=HDL{E!bVi3 zPT~l>in;?`7=qn67K7&7g(u-K;)R%wThW6bq7uD@j?V568p_}=9Dv=ZiTf|G{n0p$ zI03crI(!KaV5`PGZOlsSK%I5LLSz2LEjS)GFS4)Y`#6#KGH%0w#ngWbjh&0_j(boU zMn7Y3eL98`&qQTXgev7W)O&mgbp)p{0?%L{yo$>3I;w(gZrqI;=g+&VibWMs|Nb-* z>Ch$1#8{k*I`b;*hqb7Q-asAINz^4h?S6g^b#&k1P;7JcU1AqZM9rUpgRl?>;#!AB z6pbCI9W|jcJ%PHVS5U9p4OFJ>s0!V2ToBup2uc z(a?ieP#b7<<6Ec_cB1aaedK*Ly_VSpl5iLCQ*PXXn)n9t^I^JhB4!rbN>-yP_6qLB zdL$vo#FyBTj6~h~98`(RP-nje$Ke*#Q8c46Ig6UG6_xQ#)N>Cp7JJ+{cDXU!H!~cM zV-4yp8M;Dmg~N{vjU+ni9(5S=F-|7FgZY@u)lS7tI2fBT9?zpP>_9y~ywv_C6e547 znSV+kY?Xa(2&$5kP#ew1WY#ycX=GsyYN5|?76tq28{qE2+OG{)LVh?7>kOv(6a4 z%uF8Y4m4p7-a=iTQPe#hi*N$&$4ESn%kT!);H33@x#6cc60@JTM_Z25h<7_Qj?uV= z2XIprzttG>f-$+c0}HVQV==ngZZHFtVJRl!R@C^TZvU^Sx279)H&R}-8?C}I#P4DR zI^WY6LF0GyU_Vw@MRHMRyb{asHPi+=Q45A{v>QlsorOBnQVhh^sH3eym3|`z;5O6| z?X;$uI=7=9HSt@h2fuJVhnlbjv+x`AmgF7x^PY^_7ujo7MZ=Mjq297F*#jCX=7lvB wdjc9#HZ1an%udi4=9d+@fW^OvRB? zWNT`<()EY-Xhrakw&lCIEU7j}o0iFx(k9ErSl^%L-o($j&U4@Aoa;L0JWpMR&;Aad zGnIi(k};+s%a|c}4dd`3F2j&)W1?|2j>P>q0MEN#M_=N57>Ezh51(KFc4ANLMt}65 zZtd+FI^8%g29BUZFHUvMMh%#UnK&Q6_c5jpYlur`7?XyrI1oc}Z31IZ3(m#ySdP>1 z2x{R!;~@MC!!an&u^&X|8Pki7iO4)=8hY?$OvZdn#abMPUttkGzz=vKYo;+7#8+n- z6M=rSZDj^y6mbmp#VOba=b{#{#Bn>SFqn?5sLc1FUO0^X@H6-G792x-4OP--?&trZ zN*yxC7;WhQ9E*9FgKLpunQu^u_{_EAJ83i$^&o2E_1GJ0u@CM;m9EkC3)FL0P|w{) zUu?rLyoU|giCR!yzA^E57*&~zuD{}F!~Q>|p~Dw7k1}BfdawwCupG63Y7D^L7=i~; zhxIrP!%LWg4{<0CEih&eW}+%~8MUCN7=q8SKl7WwS8S%ys0k8K52m69nu2|C35H@N zD$}i~=MJJOaRdkBC#Xy>pbqCRs59^nYM~+X?O990VCFZIX!zkwRL1$J2MbXHZbA)s z1XZasI0|o~&Oj&j!7dz+K@04}lQEWfA*SI*OvbaQMDL@cy?aDM8T^g?u?sbD*sHcb z5_5@1peC-wE%+g}>bZr+tiX2EUeA4vJC7SM1=laK*Ya~rC%%qb(SI@Z-$>)V#dgKr zs0N!8|t|}H$ME(2G zh@(S?ECZvl0JY~;7>c#1f$C9Pbp~}v&%2*rL~Y%VI2_wtdn~aN#-YYf$3Zv`BXFfd zBa+5;)QTEWnVv$O(i^Djb{CcD15|}N+}QKFy*2$%nWvz(Fw=DbYT^nUh}%%}9d%>J zOG7W-KrP^o8{bEj@G6o$1RyU&T6H{zUG75F-vrr{2MeThBCgBFuR-8s<(t;ZB4l3h&sP~>@G>KtsVIK0& zoaR3z5L{~C8-l9jWYj`)F_HPr92%Lp2{lm@#^Pg~jiF`sJA5h5ApRIt>ULa>zHjnF zh1IA-bq-ab>zI#!pvFlpxBa!4NZg1{0*$LQj^n@X2S?wshw2I{<95_nXs-&p70DP! zT#9@Jm_4`++i)C~tmF^tP+vGt&>u&v;>2S-`r@Hg)ZdRr106y55o(W5p-yeH>kp`f zJVagBfJ$3|D2yRaK~206HPQR1_xGYIbpivh89n$d>UQ0#r2ZQCH#!DmH;%!mw;2p` zP-mbKv++La@QkMJX;_F8@gRodWn7APaWhU{!(#Aj9F0?}?ADfJF7aN6#t9m?@etO$ zW6V1AR2wrLw_^cb!f1?q*Df#}mEj5;i5pSRA9MSEN8Oq()Y(W}YZqFD3B;db7&<@E z7)9ex)C+x?T@}ef?Qsc~;ZD>79-$`m)Yt_~aGizP)8!b5WvH!PgDU-6?1`IETeQQP zYIeIF2T%haLcQ4HdI2@ycbJK{&|5O&q@VX}WL\n" "Language-Team: Danish (http://www.transifex.com/projects/p/mediagoblin/language/da/)\n" "MIME-Version: 1.0\n" @@ -593,7 +593,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -761,7 +761,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo index 7be0f35ec28fc8a3e2b3fe1ba6793a053ee82146..735eb7823cb5accc12024c391faf003509f15c18 100644 GIT binary patch delta 2825 zcmXxldrX&A9LMpmD2M`rfQlmG4NL?aKTrXuC<0zdK}}N-O~iYOH@x6}GuyOW-hP(4 zyk*TzbCl9Fb2iPDW?outj@9}j)0Q@GOb5DIy+59(jqy6)hv)g8^ZlOlJe+>k;>@!a zpD$|T_nFz=e6s|+ib;46XJFI_vqW5i$+!(W;wjH-*pm1*w!y!!6*gjPY{C%y7lSdR zz!~ltU10u~iQ~AS2lG4&Pzgul5S)lNTA1y?Rm8K3%m!ftcE+fYW_>UP`(i0(U@Z>A zI@H1+dWMWLizQAN<#z)g7s9wO5}C&)ViZos{#b=d_<m! z4X2{=)nGhsL@o57=NZ&}Kl>R(FlfYRv~kWD&t%lr`*of9?Fa)UI*Y3OJ5)stsD(X8wXX9dxAH91 z>o^J3p>@~}H((xaM=j(>?1lG{UAFcd1RqwQI=K`5O0bWC_VO^sV4W9#gSzoLPR9o9 zgITYc?ZGk(;`BeoMa0ch+yrx`n*Bq(2YK~v_v>o4*{?VnALCgZJdOSZUUKuayOt zyFHCZwJaUA=cT9{XQL8TV=LT>+VcQv;zOu~p2VJb0WIYURhg8&07T{^DJ~i>-;Dq7uG9Ri0Sk-kM}o#UoL#>jYF`bG>*yYMx!F&enOc z{}KZ|_&ci7d#F8c_O1ubbPEeZ9iC38#AEPXoQVneH}=Igv&_ zKSXU|D*`rZ1)#GnpWU^4bv>^`AmP^W$+>b{+*tvHV< z*of*t0%fnpa?Hk?$l5J(iRjSd zQ42hWJ@B>{hg7@6nTDEZChEB=RK@Et6nA439>Vr`qMH7vGPuZvBz%PZvEwqT!6F=w zpWrxrf<-u-G74}rD!zuX7`wtf*B3VtZ^8{2xzcrJ2da}-a4I(Y860L%vdWCy_5`_P zb8FlLzu^Spp7d7>T#o6u7uAu==)*rTA3LvcTULe{#A{Gz<5L`n_fZSz&B2L5e<_1L z460Cxwqkd@fST|Y>X3%6d-?y`Hlw!S1ggai7>^H8TNzgCz88@gLL853eNQj$huR{a zbAV-ge;A5NT4+&~HC^s_@R@gh(=gZB^sn05GPSCySvln#w|K9rJYr}&61LmHD4FCWD delta 2817 zcmXZddrX&A9LMo5H&HHvToe@*FQ|y9ASzNS$|W#LP*W4c8(<n{=^EPH?*)&&LiMiU6)%ruzmNre94q|iB`{Q{w=j(i*-}8LW`F_uN9?o|7o$2s9 zS>4T-YGxl!GwX*}FcI%!8AfEA4ZxK+6t`nfJnh+x0mQek8~%lX*owi}hF$PK48ous zXQ*e79P>R*+=~l(aI$AMDq%iO!kKu@&uk~w5--X#n}99Y8zY`G8-_`kgvF@B>M;wC zp%(s+XHdRb3~_wE&ka(!5Xyx-WFDJ|kvJPiV+AVV`(At*%Zc0Z1P_!Jm`x`Rd)}-+ z&PC;`#lE-+wa|l}pQG;k*~cK9K`TaKr)N~5ixW{>lYwD42S?#jFW!y4h!0^`JcAi{ z0h6%Qsznek*36y;z2-cr&U4?|Ih`U?lN5RLibn6y8Kt z{uq_G6XP*#ma8xcwdYe&hphy)B{iu0`*of9?I;5!`T|w?x2TF*Pz&oowJvV9TlrYj z>o^P5p*rl2Z{QT%fm+Bl9E|snUA9OLLK>E#I=KsdO0bWC_VO@B<1sJ(8g=7UEWs8W zhGXZL?Zp!G=k!0uYU1{}Zi4c8yz|5#Ag{jdd0DMC`wa{5A%2OO^Xb15was^}+QBTU zxDn&~8 zK!;=pYUPdI4X05FfAy~4!C>OYsDw{YmG@uh-kL;I#d)aLbq1=iN-y4snx_HP*<)Vp zyTm{b-au7)7q#c@-gUo4Zeby)!_yO$xB$1}LhOfsV-j{fq}+WWFJYG6|4s%I_#vypxdA5=pTvB8fMYR(ESk6)({U?K!Sk4mowyQ{mzlkS zAECA|fI!bhp*lRqb25%%ek)`!3F}c4okcxxA35+Ay4;L^wv7KM!hS-15602wIxNDe zcm?%b_zKt2WaMLL)3F%$p|;{aYQA9JSzii+Tn5K+4GzUYuewiY0qWGRMcuaxwH4=a z1h%3&5Kq|~uoN@!7i8_${WaIg^%z9_8Lq)|7=UAH=)VT(HSTrFzy#u4&q~y3-h!&^ zAZmfg#4W(zPE zXW$Vm#7CHiS(K53TTpQ`#$fbX_uO#YLcAH@#O~`{XLh1G`903Vb{~U}85Gr;k=q_2 zm#lKVo8WgWA|6P8wZPRl3iqNqav9U`Pn?Evue&WP!BpZ6sI&1Yj>mhb1q|lkM5C{m zfnK``)C1cv0nei*yn#BTUFx6yy|&G$EjWQ{@pbHr_fcEfZKL~Mgku-t-l*0mcySVH zi^e#|*?8}VXHki>y&I}9khlgza2=|GH?Uz*-VaUJV^+lZFE4M(PFWn=P?Q$aaJ(+M qsd?HY|A6$&)P}I!Awj7VGgC8~#^wIoPxp;pTGdPUH65=D_5UB;VS|GJ diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po index 6b75198b..55e879b9 100644 --- a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: German (http://www.transifex.com/projects/p/mediagoblin/language/de/)\n" "MIME-Version: 1.0\n" @@ -604,7 +604,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -772,7 +772,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po index 992588b9..6eff8296 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: 2013-08-26 14:18-0500\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -592,7 +592,7 @@ msgid "Sorry, an account is already registered with that Persona email address." msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -759,7 +759,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo index 7f674ff668119f921bbc995cc15bddb8813c18b9..2efd841920fff92a5d43bae2f73e07d29540aab4 100644 GIT binary patch delta 2822 zcmXxkdrZ}39LMoTkjn`a;i#Y>97Vj~r92Rzi5MOfFC<8yqKU^yMN|aBNSnu{$!xk- zM`)&bW31+7T`0BwNY`5alQW!uXw=q9(_E&MX=-HekI%0Scs<{T-|xA6zt8i#cDvX0 z+r2(q?Fx8}F}w4P8G_$n8eYdG*l(IKDOigm@C_V@#~sgNDDh=<;Wg}ye_#aO#c+Ix zVHobSMmxs&OyJSL33TYiJVzgDz?qnfrFg!VF>m5};;QM!WMdZ&LiY?~(s3MW0}F6G zZo)h~hI;M>CSXLN)l(QSCZ3LobVOnaGLNaiXk3gFuo^RPkK;M4A`YEtOfxU6#Hqx$ zX4yp1E3~s{#*czbGhsIHi!_S=u&Z1WO1IFSV)C-Yw><*JLlGukT zT@fn9HK+yG;TUW~s%g$4KPIloF0>M(i30~{C{@Q$6Mc_S_&fH&`>2{nK4VQml_m@I z+*Az3IoKDAaW__?YJU$^0yEc`{xB7l@iH96{ALXe?VuG^yH8Ln`wk=UDynujo!C`u zQy7bSekcyb8JLOHn2P&w1Aghmxh3|D`BCF9M>q4E1{z9zGit@}I3C1g;`gy1oZy({U0t(P`9A!?vIsG7SM+e4Iqnm7$rx@^?@g*XmtP=|Xr>MWc< zm97)x@m_$2CWw8`9>R1~&2mu-^P>iC#8BLZTIlPj!+ID!_z`Ny=TSTCa_mNJB!cg` z7LbgZFUN@kB{Y=68q|c1sC&H~HDHSq??cu8FlvHJxC?Kh2e($*(zPRdGN&;Ihb*-_ zEk|9uwYUd2A{z*pc)xuh8I$=(7HZ-$jKd{30qanyZbLoyDJnA;a4=p$y=Ru$47pG{ z9gU@!kL}osx&@P;=U2zLmWFnA6tl4lr=Xh;d?C)m4BUerJcnA?EzHNz7wo;BjxQ0{ z<4U}aeX(@8Jp;>7nca+9=nfpu{HBFQE`EiYC}f2_16f#1T;X`c@gGd2zld3M?W*x< zyoitE;A(qVXCWU=vjR)-1nLa9R@n@sVnC;~oW?=iicjE(8k>>%s8nymG1!iyu@gt) z1Du1YtNCi;I@AK9*6@+Rr%;*Pi{aRXOksY)2rODl{(I9XV;e54z#&+LN%$)2^zL{1 zk7F9~1@z#39EFLscHuq@BW^^!w-NRHTc`z`M4h2is1kP8l7A14%XDbsuyuBasW^kU z2q$BU<9XBkc>I3o$4#QnofG1G5p$9c#0w+>uqX4t88Asq3s0;+I z&`>S^MlX7r?BOa!rLGoNU<(e#9vqG-FWVIR92cQ#T91$61}AX!cK@HfAeefP~bxlNvtAEa*kgDpAY2*9@f)^8Ff=j&N!6{AdU`kV1 q$G7=8A)(omGJ;VB!^6DZNf{G6G7J1kdj4&HaNz&XcT8zY5BU#W-F|rh delta 2814 zcmXZcdrX&A9LMp)9Yj$sLL$gdL`6{(0YO7iE`mx52r7{X;ROg0l?-j}Su!nWwdx0( zXlgRLcv;htT7Q&lE&s_m%s(`0Yo#+SQ)}LJ+WX^qHuig+@8NmQ<@-J7`RlgN)!RNt zn?jsaV@y}BG4c2#j>cT{1=1pE(YQg48VYV zYp82@zHy!n97Bg*oavf}8n6gwU>W}8W6b-wk+^P-F`3wp!!V-InDICPwSgr#3AbPl z9zi{K9iPL%B5OjCV@wPkS#$(r2{MnV#DQ3a%1}L~;cnNnxPsVst}$=%!fKpFd~=@7 zK+{S_FA>u@k`!=c#e&=^GHFh=0l?gM8~EBzJ2@eb;Rpklkjcnl`aLzS)= zmEuO!f?F^JyOC;|v&f$bf6*?q8V3?P`)MduM^F>}f}!{i4#Eehng=bgjzE0J!&3YP2{dUxfyIeoU5yYS25Il{l;RQGT z8~uqNqcY-CW_K2fvBaZL3!mxsFGZE41+}q{FoO9_kK1t)HPI>5j{02x!vx}}MaGQ7 zbR3J-sG4ubFnkAfEB0U_o=0WkE^={9Y`HO0a5)af57E&|x@oA^hfouJh1$_YxBn01 z&)ni?5*AdbaK^OaJ-m(0czv-k)39m@cOE;D3t>8z+D!h2>BLX49n&fqW&@3rmBz$j z%1btNMHo(8hg#rk$YC*CFbzLNEwmrC(1)n!{i|$AqEWYFIBMJ^H=d2UMe|S_uBl=h zku;j=(12S}sq03a`XBJwHAD?`2UYWkm+c{nK~0>5D&17n`-M0W8&QXQ7wRmWK$Wf! zWAMI1LlX>HW)I;wRL!zc3#&m5+=_m<4Ykl6sKa^?J$Mwg<8!DT_PgFfZ6uKIxfT$Q znlIChoe~;KVIyk7R@A+I8#Q2u8}CKc{vc|Ci`aoT(1Y#EZRvWDJ(*LOg>f}@rxmDc zw+8p%W@H17iLSK|#N!D5k%5}H93yZUreX^!)!nG)zC>l_JjUW>)O$}c0fS$$J59z# z#Ix}e>_pvy7wX8ej&U;$?d&jSVn5Er2tM#dSc+-58$EaywXmC*i@q!Ey)MAliPvF0 zUc)dfTV>BcEh@7PYN0!E67!o58Z+>F)I>h3?HS0x65>kNL#~f-IQ_-U(v0;u8!zDV zIIO`Q*15<>)2zZ$Jb^j`!HqTpiRkE*R?s+r?Kl}nziKnG7?tX6n1Vex4*PH{KEz^7 zY$7|j7PWu@YdE+#9hJ#F7>NDI6y|pf!s2G~?@yzgZG>PY#$z4E;hU(_yU*=Ej-!ds zqX!>gGRCg83(vy<;#Smqn^DhyfLg#w)EW8~Rl>ftaMp<3R< zR7_~IhpQBox;3~Oy*LsdVG_n~vMJ7Wtwhzd1qWc88@FRH@lI5UJ6!kK{wd~j8ln8- z7(QDWYJkhA0dL|UyoX#}6VMwHl{L(_VMTA=#M+_Wk||N%S#6PCPg_9mx!f#Yzx3&; g-hl;40jblbr)KqL6x7D)*\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/mediagoblin/language/eo/)\n" "MIME-Version: 1.0\n" @@ -594,7 +594,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -762,7 +762,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo index 85015ad9a49a9bf9bd816beeeac5617c82ab75b7..bcb46cb265947da363d64a5687d9bb627ba47ce9 100644 GIT binary patch delta 5811 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 delta 3346 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 diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po index cca4bd27..1fa0cfce 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po @@ -19,9 +19,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 22:38+0000\n" -"Last-Translator: larjona \n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+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" @@ -602,8 +602,8 @@ msgid "" msgstr "Lo siento, ya hay una cuenta registrada con esa dirección de correo electrónico de Persona." #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." -msgstr "Tu dirección de correo electrónico de Persona se ha guardado correctamente." +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" @@ -770,8 +770,8 @@ msgid "Post new media as you" msgstr "Publicar nuevos contenidos por tí" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" -msgstr "Ver tu información (p. ej. perfil, contenidos, etc...)" +msgid "See your information (e.g profile, media, etc...)" +msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo index 028c52ba1e6cfa8516953e96bff9197d6b0dadf6..316bcd880525fbfecb89aaeae9a57523ed84bae4 100644 GIT binary patch delta 2819 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 diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po index cdd0844c..a03680cb 100644 --- a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Persian (http://www.transifex.com/projects/p/mediagoblin/language/fa/)\n" "MIME-Version: 1.0\n" @@ -591,7 +591,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -759,7 +759,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo index 034a3ddeda1a3ccebe82475b84c963d0fd8e9aa5..e4c0517cedc1ad3e400658e16a3921f931db4745 100644 GIT binary patch delta 2825 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 diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po index 7ce92b58..3f0f86c8 100644 --- a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po @@ -17,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: French (http://www.transifex.com/projects/p/mediagoblin/language/fr/)\n" "MIME-Version: 1.0\n" @@ -600,7 +600,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -768,7 +768,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo index 205fe4be01fce80fee4f8adaa8b8f631256e8acd..d5daada98c891e3fae98223659127c48ceed0825 100644 GIT binary patch delta 2825 zcmXxme{79c9LMqFay#lrQLUC%i&8(TnOknDmT0Tft$wtu4DD@KF6w7jYOHmuHpYTj zM@ToJv$8)3?Y78-5N1ZDSxj<67JsmAm?i6ySt^;mKhCqH>Fa!-``mNB=X<`-)85|U zy0gP|W_6E%#~5=s)0kLn#S!=zi?MH(F>$yKN8&z=#BUsLVOQdZ*aLsVZrFjZ;4=)t z7wE>2Y-=ya{@Et*a^fg1=!?@Fvr!Y~Vg}B`wl2o($138|9Ai>3h|$>hHJjiVOd!t3 z@mPhdZBC*#_&W~4(3!@>;OLnFdm)Dl-MO#~S;wr!Ubr69um&gNIn=@(xC+PQ8gq#+ z97KN1f;WsAhR3iwUd6$93;W?C49Djfg<*j_V|p_fg%RjQ-H?aMxCB-5t*DF-pmx@b zz3?H%+SWmt~;uo^p&AG2w;T`%w*gJdq;!`>J=$Cy4Cg^CkV2~2d% zLmf>S_QW-)g*W3sti>yM2t#qnTw`Y7a#ZP0q3&zNNrv-($Ur-d%{OKOPC@N#J*tE? zs1oi#P1uNGcna057jP&(z@_LeU=A$DZ?OrLKSKJ-&|&(CJLe!>_F}4 zIVxkRagqMim1>Zl4(_pd-DR)IRxYSeuPQ1gC`>WMa-h#jc!je3)wV0|;5fi7fW zIOd^tRDznQ4mEKj>P*k02Y*F9R)Y#{Lh;Bc8ZRpG4{$gh$1=Q*`d-oko3IZ9TDY8n z7Oq5m(QQB;$Dfl9C$Rl%#Mvkszm z{2X|uEAW~iQl7|aL#J`f-6QlDr|{w zV?~2ft^*>cm{9dIedSMJ<5#t?Ee!V zB1@Yq0S1i>va0!uhV97a%qKN=q0p_y%q5wSdl=}9PoM|eP|fAqW*@6q)R|@BXuO39_zWX4rp_jof;!WDREZZl z@oMZtTQ?FQ={L-T;4;Yw60C ztZ}6g^}(pH`eIK={nOg;mYbOwuCA$RDfK;PB)C1Ew3Nv$6J{JAs(bJHUqt_ZZ_CqK Gzw19XaFON! delta 2821 zcmXZee@vBC9LMnkf{LO<2#6q{qQnr^Ew3P`8z6=uDj1pyTqMBoC;lQ$>;W~LP8|zf zMmf>MYSRrz&E|BOX6A5OTDvQoe`uIm&G^Gg|Ipqa&$Hd}I^X9$_nhzfp6~PMPc4Dh zTLQb5hd3T%%m=x~jKm%si}$bs!}5$tz?C=-_h1x$;d&YS5#PoT{2ha^4+r2s*dL!@ zFa}Sv4t5QnW}IgeM{_|xoa&l~ny>(;UA8iPuV$;LW7g`KDbD(BinkK*&h$1#fa%~=L&B0p-uKGcpLqcRS7 z&6wvf5%n~9P)Ajax_=2Ov3k^*ZbIF+7d7wasGhijUhG5tF1eKBVtw->16|0)2rNYH z$cLJ!88z`C)R~^bm+%hiv5J{z6G}i%(RfjbZ^JS8F}{HpQNK%_ZxgOSM+?_6(86m_ zrEYO=IE>N6$FTx0U7>-?-g6A+3|HL#L>$5wVi@LwUjT=x++>CM9>c+=$ z1o3H9bNhXcEmg1kMNlO#1-?kYVOW5Ap_HR0+JZrN5Y?ndPzjzuRq#COto^7RKgLm* zy4W^r5qgN%q7v?O7^viD+zUUWy0;HCVOo_n2ld#MqAKA-HR%pa#8%W%ogP?>{^>~E~-0ysGYorD$$3il69jJ?8Wi;$c@J>v8ByI9Ze-B zV+}rA5X*?$@eclrlkw)8sx;>xTW6ok`Ix~MyKyRBzyb_fYRt=6gz4CfYQ8RN8B5I-F750oK;j6?Yt_N@?@m*9G zdsp&LGtS{p4t|BIV8ANdd=rq|OpWXJs58&5H)a}^qLap;ok0(Nhe~AcYFpxKm`wZ> zHF5G9UQ)Oa^}7Se$Mo=LCr({!d*l*QU1Qd9oKT0_@g>}WKVpBZSWo@+Ma_EqPOrxV z;wIM)RQI06k?6-ne2DQF)nF6#qK>W#gRvc>umd&UNgRTHjKE%u#77O(Kb1k)TXy1X z^bnUJFE6tPi}1c{<_2537M#KL9@of?_I=^Qa;~q#F1&_c;?}qAQBK}u|39%ES=yX) z7#wDh+sJDcdy&nVw#{~-kasv=;#sH)9K`W>2IKHPrsDu+E5V5vi#u>4cA|RYS2vDt zve!#7hU?BQ20G)TsGVOyHJ53&k5w${%yKXVdoT$fVibA`EY1Ji*Se9`6Ja2GXUA8Nw?a5{!=r8\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/mediagoblin/language/he/)\n" "MIME-Version: 1.0\n" @@ -593,7 +593,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -761,7 +761,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo index 51c2fba029140caa5e04ab7229ae2dcbad38ddee..8a5ffcf47999c2c357ddc6d1b2d85723f2cdbaf3 100644 GIT binary patch delta 2819 zcmYk;drX&A9LMp4+yvnVa`A$iw*)T;@smVxU?G@}ClHW3eu?nwMNFET*v z;98uFhfxdv1rx9f<1pIi7}J-=2%j-MF$;-f@-YH^s0_`)M{x(H;%8Wj9q8wQ!a`#v z(!Vg(2I@7EDy0wH z>j6c!ACKc1AAnB~@ z``R!N?_dnx!-E()-QHJ^!|1<{%Jg~Hb{uIq|85#8zN9CN8G?Bjfh#Z^H=!0#jiI<7 zqwo-_SQ~ICUc_|l!iRA53}dRW5S6hrsABBEDD1*`;+x=^HWdR<0g_QSrlTgBHyO>9Ol9!G8TS9BEkIt}gMHpb(9)Wn|I zc03LX=nuhUT#4IoKmLfZbBtMvw{Q$jf6|z4tip7xoNHgpMw~$ZJXT}qJn~;jqh_96 zv6*jcApv6raa1Y! zSD*|ARAkd|FfPStdyYnK4ssU;i#SGqK>fGwHy_=68mE3@@{1U5v_P4QfMg;vRe# z*??ox7ul6fLZyBVD#e>o4^&|q`cX&mF)Gm4?)5g*f;v&pg)X-9M40LO$|i>iMPO z4PIuSi$i79i~6u-V+!$2A&o5DiVD<>!|^6gL(g))4Ooi#cmxOHb$k|sRv7a*ZbB8+ zho}s-UZKUIP`W2{!G++!mmuV!? zxQ$+nBf2tDfI8#l$g660p%!ox6)?QQE+Ea-hdR?m7>4Djqg{)kxDizYRj4C+(dspR zcVIVa;yToWpSXUGn(z!};rXVpxC#AxEL+vou&6eu>0;W2=(^T^QFUeBkfx7vX7mWm f$Q)PKEAQc8uQzkt#HRGTEeZDK4e|fGuQlLb>Og*H delta 2811 zcmXZedra0<9LMp4Tm9Eoq^LwL-!6$7bvU>IJ*Ap9Ns;-46T|6ni% z=UDr@M&%gi|A`0Epn+3dvr!ZJF$-tm#QM)-{h#V3$;OfH6FK90vZI1y`cES|*q*oCzW@J};lGWGM* z?Lz$uY-EPwAlj2K5}!s7&O&XV#Bm$e;{Y07N1ePLHDEu+V6*%D6pp5T9u?9D?sHRU z>t0N!JswkVCbCCUjqJ^wMI9t+hMnKZr;tiRF>2vj?2o(Ag9lKdJK}m8)$eCizYYw< zI~a}ka36*|WBWDYFzO$nB7M%a6Gs{Dzn6lNZ{)MaBw`MRV>$N2O4J6bu`lky2;7fK z)+QW^KjH-J!AEd(kujUmkBZorsATNI2<*XF);B>jZ7AYV3#6brrlBUvbf3?|DC#Rv zC*6WUSci(l9#sEEd>Fq#C1*P->F&DEJ+o}Cjllt|ZzfXEL^-IFPeYw(E)K>jROt4i z7HGy~Y(?cj4@TnyB&5bO+b*1r!>Jdca$+5h$0MkN{)UbgzDhwSxP`HJA2qROj%|;@ zeCi1}2A5$q?!h*Ue$JRuyoo6|V=nJJZo&yz^}Ky8n=ym>IoygN#l(LTg>A)l$N!>o zA#R?{`bju|dI9Pr^HIsP6&2D$sFR#PMc@pEVjJp?ub?8>jq2y&omIbB^x&xZ#6N~Y zIt@y)>6m~^FcM$GD6B_K^gb$Lr%+dQ)_s1#t#_g}c-J-d1-oDdYW@O@$5I@K)eZ$E z%U;xuj-pO_0=2*u)a%xTx{~{-2=$_pbkG9()(k_PJR5a|g|4Njg{v?Q>rm@`=+>Rn z6g2QMY6G2a{T?bO{&o#rXp_r}S|AH+aJF0j1vPOuPQ|cA_O1(2k=%wl&^uU%?;!_p zOxj|*vrJUz=b%Eo4mDsC`mhFd6~|Eved9jwKy9cSH7=yY&eI=NPeJm{jKdFbJC4HC zCHfLNJftv&hPQAMevVV{F8a|&YNz359D+wtci4*B*fmtv$1SzL3AxBW)5w2H-k>r& zE(R4*AL_%Fg{iD>{1mcqBWj^zI2>rI3 zGAc(BiThJnjF00!^x{vr5O3lZ^sgrK@heQhf;IMPH)1~ZcO43cDRf{x)~q#VJ;qh? zdw_LVgcmUZlU}h`kc&FuY8;6*n2F7(6JJLqXTUm}8)=wMeLZR;O&E<%JB4Hlw@?FO zSX~jxMcwgIWn2M0_Iv diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po index 8151c9e2..e04d741a 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/mediagoblin/language/ia/)\n" "MIME-Version: 1.0\n" @@ -592,7 +592,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -760,7 +760,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo index 35db081438b50bee81bbfb3b76495638bbbd6cec..7dc7108d64274ed35b26de251245d243018f29a9 100644 GIT binary patch delta 2825 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\n" "Language-Team: Icelandic (Iceland) (http://www.transifex.com/projects/p/mediagoblin/language/is_IS/)\n" "MIME-Version: 1.0\n" @@ -594,7 +594,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -762,7 +762,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo index 2f0001eecc9ca2b73e94f7833ae8e4058281037a..f62ebb932eae3d8748f7313aecb6370318232bf9 100644 GIT binary patch delta 2818 zcmXZedra0<9LMp)MR>S~pdbn=Pnw1@1s^~HHBu14OVY!|kQ6~pQ4((`GV#eSYH6C% zKcw9>|8O=js7#$3F1J|XqMMpCb4@GRbXc09TlW5Rej9sU=lk35ch2{G&-eG!Q}_H% z-}5_G6XNq2W16QLGZZ^fJbnC+O0ny>&TV-a@w8M6o16IbOKlYu|sV2qk>H;{x%xByeI z8nf{oRN|L04)5S_4A1u&6U!hu-xwE8N7gZg7>-_4g(@%|_o5Q&zz>`7<~8VbjJl+is)*m5}ckgK-Sbpi16@E_{G}G2j_nx+up))P30) zh6PSsg8hjruo>52Fow^urH;lC#2KiHm*Yg%H)|QF`C8D8=P?{_V<5$}tTao$IamI`Jh`#j2jQJ+>1giT7X(>ze}%G~pMhj5{2=a2W9=)C2c1 z3SC~igE$N%_Mj?}fx15jhhP=zXnd%qYepsdDQcYy7{U7HDg%}L7HXltQ8xw`*@;G@ zn>Y`3rb{sen@~M)7PWz|u@Eog7)&a*B`-z(Oanh2{05bPe+kKH2cZnKgMR47c+|v` zPzg=N8Z5$OY{yrz2fMMZl%#OsT$^AA{!4rp)9|n7?7WF(#ym+}fSd8jxH zrCN>Zg&jBm4`T$LMm0|-W?>Ji)Jf%bCo`}=u@}{xOHd!4TGUajNA0)?wV{2e=Ki>x z`s+h*k_#&B&!~w*p0`bxhzZ2msEI0272AYr(k-Z-*o8{;1Jryij^CjYyN8MBns0ky zJnAi&}#E(!t z^|m^(?|lX;*$Gq=eTkard&euN-nfCXw5UW{TebRSeYCt(bwo;!_y6*qD4Q!&E$gL-7K-@hHl7=%}G72d!AEL}6RBMd80uhR-tsT)zf(Y*dK<@J7-^Q^1kA^s zScpHON{)NS`W4hs97OH#JdVQan1^8->=}D;JaG*w;rDO?Uc)4et+yX0Uk-yO zxKN5ZtIaqZKS7=G56E$u2Tr_fqg`+pDuK^%Fm|HO^fwH_Zq(7<#bE43^?+Z4Jt7zK zJxDhZc3|RBJ4r-6ILEOVBZ7Den8u~ osgwN!GO|*e!lpgm$K%OL&1_4XRzF1d9j&}PQ1`X%uTSv*4=oRWF#rGn delta 2818 zcmXZde{79c9LMp~(%&tmRlAhlp-M&dR!gTOH#dxg7L~L-}6<`p@g^#cowxS+5jnCl?Ou$Zj9%H8(GaNHeC7q3` zfX|8RQHgBC5qKQ=GwuAaY2%q@H`0JgC~%ZP27^bz5jo?8lRxfF09l}n2bG% zhoG7@8&#P(n2n9j^;UeB_zJ3G{xaKRJ20MjH}+wDbC7{1Jci2njN^G6NPGqLz$5I1 z5#@FVF6>V1K~-W5>i$AZMnCFkHlmttA1cuxYMo2igZ0gI1}ga-)ItwYH-=Z(iH4z@ zxEOV&OE44nqI%#oY6CxDDPF~NOrK#(UWxpf27a>eM^pkKmDFE5h+?1}^guWELrt8I zN@xPEz;YagC-EKZz`wC>rZG!#{w$l|8SEl{fZ2F|ww*Vv%9vbYFK)!mRn&ha1HDTs z)hbjkY{vvVggx*ZRP&s}JnTS~I(@F)$z<$JT!w1S#i$QYE$S%Np?16%wW0l}<~}@^ z`s+h*f(t6`Z>WhQU$sq_hAG4asEK^2ifuqO=_XW9yoXBkL)3gn9DhP3_Ad^@hN4o&0>xPsJCYZs=_s> z^|m;1-~a=a>^Q24zC%rP(eWCpH`-AT2v3LMGtO6RpbN?#IsI(8@011sOJ(F+Js!FcpO$? z0e*t}FjMg&8e8xGN(SocRve3eU;(-o)2TQcN8>>pfS1sX4^a0dzGi!;0@cg`WD3)P z>WPXa_PK?qN^ZjLxDzv2-|S&99#5eb>cYX8#XB_xXJRq7IPon^CeE&=N?3*y@D!@4 zLYLVy?uQk`qmf68zfZfM-0H;V zu|L=U#2gHz?lKp{uom@P9je=RU?hHwn*THGi6>W5e=T&L3o7YdOvh-_ti&Aj;tnju zpHZbwU2V)uxD==3Axy+hoQH91=y0sTE%+4mCET*s9_?4Cru;p?poKwh9lOM9xDMCz zGZF8g7WS;SUHvxdC|XcEY{Q{=6H74q4SU9A=pn8_CHw)7!5cUNlj`k|eX{O5>i;!K_XQ8sr-c3w$GCs- diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po index fd0c792d..da22297e 100644 --- a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Italian (http://www.transifex.com/projects/p/mediagoblin/language/it/)\n" "MIME-Version: 1.0\n" @@ -595,7 +595,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -763,7 +763,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo index ea328a9ba92e36d265357ad75f1078f568ce1ada..7a5af71006039d3021e10fac48bf1bf33a1b78da 100644 GIT binary patch delta 2818 zcmXxldrX&A9LMp4+(Zxr!4xz^LBk8>5A=r`m$-@IEu^$S#A}Lp$xJSqPp-0QsRhmp z&Mk5*r#4s=+E!M}W|G<;T59SBWmuY;&U9^wy+56&zh38ip65B2@A;nJ@9rI+dv|=A zD}o%4F=ls`F$3@eF+Z=x}8^1&P&OMG>b zohYur?mQJ^=+D4jSd2Zf0=0k|$L-jLp>*s;?fekxgI4T~$KB@_F_HKhDy5N=?el0< zoP=XA1&8BOWUXc=K8@`-6FpPx_|9e;Np$Q%P27gTcoutNJ1TWIUHzxp_xhvW8-gL| z!3fO2-B^fW_y-QcfAA5Eoo4moV}|peMnlC{g#&R1YQV$T1COB=@I3}%Cx+ooRIzqp z9L7&)*O-To;##c1dQ`@u*uIJ}19c>M7{&Z%9u2L$3N^u7s2A%{1Jz?M{1n5n4fXyd z^ut@IOx#7iZwig+3$du;OvPk%qn>ZX2yDbq<~K)ZXu{*Dm7PZI=oA@y0CjzlKJ|b9TkQplaa( zDibl>u~77)c9MrGrgDtNEvTLB#|Ui3?)WuoV<%A=ynuS|9_qa=RB?wFlmFf{VvB8& zC1Wh{B-ELgV>qrw4YUPy<_Ay{G`Y_|bK}#f1zvRRLQNP~V#iOxXyO9YZCK>c=u2Zg zYDGIyJ8eWwZ~}ELe?%QgJ1Rq+sG9McZEsC5YUd+RwJ_SX0CjujqH3ZFHD9e8I|pg# z!*5UvIPJ!lP}l5NRBil)DlVT=JHasANSx`$$58`c#w@&tsW^6y&EzW7hF-&M_ztoG z#|$j9XFU{$@*o?P;-#n$R^ljp1$7insENKpJ^u-{0SEd7bWS(4T zi}yX$cTK2FoQM8#$!4%2eKpec( zW?~e+O1u#t$G{4k887MwXBXvRaU!!K|Qo<~g_Mmqd41NB`l>b(-wgfF9tx*9`q({l2!fp^iNownjIJcInGnJ&!7 zq7@V-?nRPhIxrIpR@$?E8zYJT#M$WoqA}}mKE8qNI2;$PvPWBs6NpES!dh&2 ziB)3CYGZQn08YnSsH)E7p^l;qwZqLg1RHQ1ev2wr-!=Bucu}>n1jpb()Ixs72y{X# z?X`Rx8Ci!q<9e*aFHs99skJ`xt)Q9oa){slt@g=+u+ delta 2810 zcmXZdc~F&A7{~F$E~|pLp#qAEgqj!df;2!OD1sVdi%BXfq_|+30W#@jY$z?!lu^TR zCUPi8ZO9qIYAUC)(cJn&GYy@AG%U)cO#MgEzCX|V*XKOvec!V@=Q;P@yX|%7w%4KM zfgYDJrZL-?p?C^MVmHpi-jj@p!3rFOTd+U2Ii5xz;;R^lf1oe^ivf5K{qZ6Cp;^*5uWri<~^(=E}m>mDxSqb7&OIhU<7Kx**G2-Viq=_ z7Jd$+@Gp!+zdVmI@ie0HjOm5h$ULS1LvT7K;T)WR^{4@l;vDpuYRubwFb^jZU(2@> z#TM9|r{ZAxGqDfO!BAX=TEJS5)3F7^=-7kW`9ahNZP*u&InUcMfw&u$(!SH|^FgS1 zEV?ln6LBfBR#_yh*yISj=PRO)Ux`p&TL4Mx2;5<}31 z5txaMI1_v0-#8ra;{c3)*6PO5hV!36L&aBxvA6>@;9(5Hqo@V^gaO!vz3~RBSbK07 z#uXZqg1H!tHCTgPT|2AM=|9G_>+6)CBLKUfhlvs1f_%7Z{EwQ14$t zU%ZLR#DA#wAK^fZF0#d$ipj(?QP1lz0-G_6`OW7vG~qGS%Fdv6)Qv+hc$V!SjT$Hi zRkYQpGjGCv_%V`F^EK*LbYUDmLe)gvb51d%Hd>D!rFsVq?O-oz;1<-tzc~GuaSHLD zI0nZ*Pu1gGyntP}5WjhW^kOU(_7LY|3eKBtuVn+K5x3%cygr-!SJGJal3no?R4qI} zWg?0@7KU!rPI6JjRE|-&8MTvr7=fQ+FZ>?0u~VoFUPQfj7xi8bs<`_UlmEUnqKj>j zC1DKlRMeT5V>s5J2HK1|^Zlp^TAb%!Iq@0P0^1#XP!qiIj-mxM(YL7QzoHg&4fWjvj6tsjHgm&}Iy8y+5x$Aq zNCFi*LHECi#v(d4Vk%z8OdLUH9xlRU`~-($Cvp+YLoC5rrS_-xGo-FeC-TTVRc4F# z1Jrjds7#(l9oFn;ADI5${4B)k&l*%mws8_X_gwOCx=Sy(U?xGcIy0MOAMlDuwl^>vRyc z!z1X%3#f_1NQWP0qQ1*Py;qEya1E-ct1%2WR*-)Uyo(O)v<;uYv&fH{>A^glwbGbL zxCcp+>BOfo|5ba|?_wnJEu4$Kt0-7ph;`V3iCDJU9_==qLfqz|v6n^Rn=KM)KSbw?Qj#0!X`||S)hn0Jft)UO^pEw>8P!ayss! zc5)x};qbNAc+`MnFazDKfstv0yvs`)noHKVemC}NWJ6(6Wb2pNh2B0X>8^&5+!21R biRrGi)(N>Q2J>EPbIGCpkKZY;3ibXUe~p4$ diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po index 2477ccd7..315b64c8 100644 --- a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/mediagoblin/language/ja/)\n" "MIME-Version: 1.0\n" @@ -592,7 +592,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -760,7 +760,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo index 68d041e4bd6320e49ae863dee26bd75b50d7de94..a9e4b7c9b6859af81249736bf1c1f0bfa026bc14 100644 GIT binary patch delta 2818 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 lH1^6*a(OZ`J>y!(=3h+En9$1K253y\n" "Language-Team: Korean (Korea) (http://www.transifex.com/projects/p/mediagoblin/language/ko_KR/)\n" "MIME-Version: 1.0\n" @@ -591,7 +591,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -759,7 +759,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo index 09b42b99217628d6d02f12ba35d1c98269c336cf..e417a066835b54120229127a1cb5c288b910b359 100644 GIT binary patch delta 2826 zcmXxldra0<9LMqVpn!4}kc)yoUH}1=^Z`;xLxD#?O+mby1YRNxMJb8A{nX~IW#%X^ znQk>rnf>8HLLf>^Xng8=X*H6^E>DJJ?Hlv?e?^F zdrma;c6`Q|{YAzMz;;Z-TUd>KijDDNBc|gnOu$pF9oU1o6MJJ9_QZP_iVraa|HWVo zDX~Vl#+Df8@x)1V=)pqQ64Zp{I3BC;lE;|c*i2kA$(S*C1^Z!isog*(YQd#A3hS^C z_n{Vk75n2|Hx4Uvj7g$naG5c^umE|FDaHu&qcSuD^Kc91;8~oHcX1mJOfEMjpZM}* zV+LZx6g%H=OeW67K3L&ei+zck92$`{wqX>$<9gT~5WqP4zjFJpV@ z#9%COJnqK~)VR-Z2)3in*j-G-$mx$4=$JGb`bQ-W!bXh1w=fJ3q84xrL-9ODi1kvR0R)IXm_3?0)^18Pw_t4GyxHTJ=`F$RyI zCOC~fu>&>!GHUz{)S-OjnmEJ8qcMyADcB2}F^cyahlXDKCdT3()Q;LP1uvo|>_Y7< zsLGgOn2D-+B`RZcFawvM#_z=+fZECTs2w~+-Qz6opi=3_Se%A>uGa0ZM`f_d?carciT7e8el(x_>%mXx z&>`zUrM?qY^N!hvx40fa&HpL($M0P4pl(5^^Q`>< zc~L7Gi`wZV)XtZouF5i|lDISM$#1nBe&O)Vn8!E;7QK>zLDfkVlGZ($i`F1DY{CLBQgA!g$Rd=l^DaLii5)x+8R zq05{_mC(D?K9`L;GgDEen}^xF-_+0;kGn7jJ8&p^p66qMY3RpQ$Q3rHQ9BN=GiC*5 z;6&VuIvdweHGY5^ANhj4p0(JI_yYRy20E%)OuaGhVt?nY(qBnD#_Cg2~aalxc16bE7)rn?rbApe?p8XZb$17_h4j9iV|1YQ%r>?XgmKIz{yc0L#ZQOzltL*K#hbrx$CS%57i9_Q98k>-E znbeo;uhtt_LLBt6{oO7_FY!K9DbCtaby%aC?QQd8 zEU~lP?bwJuI*y@I_9Lps4{$N|f5rVoqh5Fj6Yz7_>!_OE$1r?|Ds51UO?@ba5J#g* zlwkYwOp4o)ikdhJ^}f`c%ARz{Lb&3@AsVFeZS9h zw9oTVLzLq;#vCX$W*By1E?&o_IIzr^Ol-svxCc}5q-!_!C+@*0?8Pwb!$`b~5qKZN zF}&Ow}7Q{t{~ZRn(!p=bBn$<1sjr{uwv`n=zjEn=Lf-;#V*UUq|ie7!Jh?s0n*f zJM+vXz34;Lyc(6U`RKzHsPVfo2j9afcmWGBrq-6G1RcFNKtnsIMlUW#P27Y^bqh|z zU8rmKHMU~pJY&AX?YJCk=Gz6F#QVfQV-a3`!j>Ru0of*g47XtO0`7l1jlb#0#1|LZ zv+x#bVdpR&J5f9N7PW)BsC%5x9aJjIF$rg(o(sDD^{5Osx&3?4OS})`@c1I~uLsZ2 zp+nYcd!8SSCU1X#~-@P zSyTx#R@vu9q0Y=qROuGrXx?w?XiUOAI2OAx2hC~*!*Hy?^~e=Ar%*eNeu{Eo9!|x5 zsI&0{s>Xkz#>dv%>lwts#GP1(SJ6?;64n^=HkP0duc3Ar^|U=a<1wGO%5^j55+6pg zX}-i(ELdwZcMOBXy{H!j8tmbH0XYt4EB4204dg$J#&2{eRo789{uh<%=x6K#e5iOb zY6nYDJ8Z#h+>6Rw2*a@#b?W~_jSC}9kvI&KG1qlMBl*|Fv*=Jt*WyTQM?PvMgaM3N zXTN|ot_N`n{lB78oU`73SXyui@osFx8@L14Hrd++AP#bAQKOR7xjV{z-joWB%TRA2XI}L7! zgL>d7DrG;SYJ3M*;Gh<}fL7EC4`C{Hy8eW!X&*-8Kd920O*Zx67(p0^Dv{Urk2C3R zM>c9=AL_v>*IJArUWnSsDh$2(3#Tee*KFk`a5DP hhKKtnO!SWrjjN~_qA{((;#7_4I8&M&y0Y=2=YM(CbWQ*O diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po index d3568228..1c6745c3 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/mediagoblin/language/nl/)\n" "MIME-Version: 1.0\n" @@ -592,7 +592,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -760,7 +760,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo index 739458d7013ad3e6c517008974fb60d86df3de85..92104e30781d3e3b862c4de9372f7ea78f962e2d 100644 GIT binary patch delta 2818 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 YC#!w>LcbW@mtEEsrTf}r8#;Xc2PlPgaR2}S diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po index 39ee99b1..21a7433c 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+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" @@ -592,7 +592,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -760,7 +760,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo index ac4412b2d41fe03f744223d4ddc6c955a85fe601..f355de82e8de7febe74357813d45202d4a78f46e 100644 GIT binary patch delta 2862 zcmXxle@vBC9LMoFR|73|`s;PRhvzxxe81;=AAWe? zc=W(=d__#qZH(DfU`#50i^K3HR$`y&#tg!G%)o8<1fH_Jh~dQ7Fa~d654?*}_y8lZ z8zV5X&@$FGzR(08FPy}LUd*>GL@ii?Q_!b4%$V)Cj<{`xF}WCDY)mqi;y|oM7jDE! zxF1Wf6Z>PvOk;-NR8(SBGlTXEOhhrUA02oYvW(t=tMQ=EmY(t`rjKc0zf zCQ{IY`alFwcOFDlpalowyQq?%MQv~nU3dw#@g3Crk5J9&s<7^S2CBK2*tVd0qCLn! znSO^l$PHA9|3PgqqS9J;0_v&?Fbj)OJ=2ITY(`b04Yl5Tw(Y2&?^yP^~Xv(3nC7IZV8Qx%d%I#V(wQ!%0VfUyW(_K90gKaXj8bUC9W30-JFzuEL*D z&0D(EYC1pmByK_-bQ6wZfAcznDR>68(L+=Q*~^TXgJoET`*Akj!vvgO%l`o^$7%Q# z>W*XTtY%Kf8N~TG7q_4???eyAEvNo!HZKGH3}41!*ms5XfyqTJxDX4m8As!1I2r%I zV$52}zg%p@eEbVZ-i)UVdTuvH;$>{YUoZm8>#2V@g9_5kJbcm>tOT@BQKB!g}yljaJ^zKung7JQL=Wl)U=F>0ML z49ziA$%j&}GOR^q(vG^K?@c9KhsrY4+OlTWme%{@@7dU1zwg8IJm25<`};oU{=EU; z-y3jhW1!b#jCpgmF>!biV-v^g{6x9jCmECh}-5Ela50RjfufxjKvysV>8ac zqgafWF$&|0j2VkrsKQnid7THiFo+9BaR45}5Ilj2cm}nRe$2!K-dc;**v122qY|#3 zXE$^NRq>}d5<4*rdmQ^QlK5{g3ndDjPc;~e!I+48Ak(=%*RcvGaJ?SY+SgH)zl|#3 zEGA#c47x=gDV#qlZsEGj^K#nX&gs>bBTq9?{}Ppp(VD38911@6h~ntD)CMX!#${B zJ&a@UEEeJwoQUHW8*>O3ppND$YNI1c$$?`riu}gILaiu9C8$K5T`el{1`NlS9p6H2 z;3VpWofv@UQSa$SCAf?l&ReL;1D4pKi$y&*6GO;v@>!@=rMiF>sEXF2hUX<5f$ur- zIaGyLP#bkEwMQ0=sx%sDttoYE!d&7uOvcNo&W4uJf9*Vqh0Z({BXJU{6FI0#i!m1~ za4NQ83tqtguzVTkD<8MN6JO#3;v1NQKbPAA;w$W|<>CiiZ>XUEhgn1~x0QZ~YI!$C zVn3>t4^Yz^QfbT-EJscKUQ{I=sMeoA4doZ8g1S-n{ourZqGruh*-nqDqW{B)r*L5; z=AeEcDp6;?8`XgpjKy|T%R5mCx=@L~MJ2w5dj2=maE3o&&pZt^+{+xBQ8RJe%R-fQ zp*GTkYVmDUf|wQd#R;gRO2)~Uj+&VobmMwdCtg9l@37->)aQE+HH<%EG~RJyZ_rA6 z*5gr?CZb-HjY?36s%#;ug5{_Ld+-#tp(>fT%66y*Yl)jt!*~PrUU#)Ea2mctoQHJM zYp%0UtNJkkLs#1kq@uotZ1muKREKus7(9sTkPo$ibEu*1!LfK9)iGBMo5vtLh7~vs z{nzN1&}+9Z3wIz+NoCdc24l-psXj z=!!9jcr9w9jhIM&^9+kDJb_Ad6IDUnI%5`NE|%aST!ei%98>D}gs>22;b*8b{s%S8 z!`B-#2a~W2n^6D1gt>SFy&AR&8yFZY!+5-f6ES?FeP9OW6EDFed;=fD3s{H&n~Zr5 z=VK0jgA{KW243#T>Ee}5Kflo5=XI2q?)EHNAIv5@fNa}z=h@L z!RJv4PCNdD&k~!RHqmYzP1u2IaTjXXdQoS57enx09E3r;>}NU*_5aa07!z!qY?4^$ z#xzXAZ0Cl0)NE|WAl!uuai1?RA|uAHZjCQ*YIS65Npghm%E;(!R}79`x~|r}ZA)#VyKarUZi~CFzNVqEv9@NbFL=YT M(1)+;-Z9\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+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" @@ -592,7 +592,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -760,7 +760,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo index 71aef5b2148fcb0c47c92000eca62612c55f17c4..b4b98c5f1da3a16f46cc53d6c8a89b98885b3d0a 100644 GIT binary patch delta 4653 zcmZwJdvF!i9l-IEKnQ_Acm#{#b$EmUNrD6^0}aHG5J1dBKpx_Q&Apps;ojZL?%fb+ zJ6Efs#m*ou)oFEXm697Jk!w^+{a}q!Gw>y>#j|)LPH0tX7J4`z58);F%c3vi z2>S0}1)jl?_z{-lr#K4#i)A>f%~)AW%!2rtL+csRP92^WfoKG@*pN6=i4Fpd8BpB?X63B6SSqn7)9rfO9wrKf$$FvBeZ& z7tW>cqvZTPT#7>|sVTdb_?OcdPeTT{1SjJ{lp0utvYF)H*BQ< zv38qM3-B=BU>2E{X$so!GZbez}5tI!)g46IZ9EqoJ3cgVEt)0X_4jm69&<|FQZ&gpB8_wxxv&#Bg#fPP`>kXG$gkNQ6@Z!lCu+7 ziLap)*Sjbae~2>hCn!6-lzVzQYLrN^MZ3@b02VQRdA(Lqk6NBgz8a zM49mKD8==8v9E42xvxYSa1Gv#+ff$$4$4AC?^23vsajl#x1b!?XHdp}5f9-T$OdvM zWtp4@xR@Uzl${k&K6n9_;Oi)<7}sMWFdO6IMA_LUlnCv{S?Hk@_aUTC)&2M@`~am0 zk0mHlIsb3dkcp=ym0FG)aW&qC>+yM9ieqi_UNg#tx;x78npwz&0R#}eQ@LPBjj>I=y;xCQ2c_6tyjZ(dz7MK>ei z`*0pc*nm%A8NP=y&Ic&(m1oQX=HfW|i?9+`WQhM98tpug7ad%PcOZqYeu}cg@q0~* zk|;ZR1h2+7u^BJ(&H3JqgY@sf@8W;(0Nxdt1y*HE?X1R5p6|)g7@%kLf_UMcG9udc|9q|)plA3cBnIc zA)oObkB&d!Bt5@rv9(%_S>5V8whq&lPIzwC(ykq3Z5=pSTYewog(_qDmbMah5Lmtr z!s3g~YEEr1M_WlJ;dri<^mHM=VO?%yRCo30(lDKWX=7<=F6AVwtTW&R44yV)@ZOIv zj-oSO(oU~bEm?l=we6&8aqU4bP%UBB^PT-x;nBiT?~6UnHWR6^a6D;!>4$d5wNiX^ z{)dsY{rokZ%_TK0sjTgr^#|HI=XJtx2v~$iNZ0xH?)0i75DDv&uuzWQq|`4k&QTJf$jE3 z`7QJFmDipq&2^;;57&(u(^<#|@rQ-uR+>-`*uK+C;C*?h2jX!Hk9}c34SKV!iGe1m zwr0sz;MHl?NU%wXuY0Wl{$+161UsdU_Gqieat8Tb>VZkBinB-*TyMaOu1r-&9owfy zzu#Jsb7dr%VR#s|7ZNjVezW(pb)BJ5i8}GN;ta+4){+M|Y5R8J(fGGGDRsrYNXclY z&-KXX7^>CML^rVd>~w=#@9nc$T3!Bk+mDyltaY=Tg?POQUvhGx%%ej)^&|;VHe@b} zQ?{7&qNjHr-N{zsdX;cI%z+71Cy)Nmg5XRQsTi`(oV5vDSBo!(t|SlfdP zI{dD%SaibSxM?e{q$s!eRP=fB-eniRyLjE44@sQ;OyLAcBwE8F6g_FbIHkklFcHxD zv@Pe{PGpH)bWiWn`n6K3#jwU>ka`w%ehpr{28toR#`5QSKPbP<6jQ=-6Lv~2g{{St zQ7kgfctEA6`n@nJ^X{o+`yrQ=-e&i7BrA+@nkfp9bV{1LsKu2zk$(HYbHmx56-CF o%+2%FdxC4nxo`6Y(sNAx$Oh>Wf zv&W?NM>;uUdPhghCezX;EwiUHmD6i1v&pf^oav!`f86^IpK~tvo^yVWd-vi^+m%0U zZ?;5+JW8oufZjKrTY9B*I*{)L0^HagHT z*)+;BZn6puES$szd9c*di?Uz^K7dtt*``z*GVo+G2)Ll3O*+tR)bL-Fh0^Dk8|9&7 zVjK=^h%wCTP?|M>^4wM|!lNjWU&Ae!^pM#D`%#+kD#qeVXbM4oAxgL2|A zC=Wb@@wf~nf-aN=H=!JCD@v_*qa64IO6k7B1iXQn7*TERlZ!F3f1!23i$j=CM~P?w zN@jXdnr0_v;31UAFQOda7T%5j;S`LWYc}CL9L~H4rRJ~T7`%j1ny4D`AHl%MKo&^F zc+5x1gck=6guF3o0glDp*o|M}*H}4^M#P-?N@e2?yp1QZ2;W(t)F}KD@5l6oN@=WF zNdBK^aFq*^x{gI=gncL}f79|^l+=BSZoGvq99C;a;zbEyCdz>yMhT!5^Uj60A3LTaSXtodln=O43CB3py~0RKSQsGz}opdRG_ zYtf76a039p{F_hS?)JO(y^k5ZA&7a0B+=G-=owepgJ?8tq2ot%!2Ic;3 z7>0*23Xh_c_LSvW9K`&*HUA7F<@e|k19{*F9D%>1+?dd7E|`kks9ZP!-A1Hy{Jr+3 zdc&LNOVC>yoJN279D7(%iAP6I$#i&%OFZL^u~R16^ibyo!##C;t-g+?U_ifAIZp3My~p8i^) z*VL{ib$0jz9Zk!9r(Zw)TF|w^*U}j5RI_~T%`RU{i>ux5tJgPcU(-voGa`dsKG!OL zpwXwF&#o|1mPFh1sZrT_MqQ%*chp+r+q&Ul61aWYG`oJPzCb^b|DG=Mzn~8mh!hFIDM(K zNP9X1#;aw~Hsf&DaGUO*)T67r3-!wKLdmY~FOS#1cBkoBZ\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" @@ -596,7 +596,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -764,8 +764,8 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" -msgstr "Ver suas informações (ex: perfil, mídias, etc)" +msgid "See your information (e.g profile, media, etc...)" +msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo index 6b261faedbc8e83af8705be25a5e06000166b006..1dceeb288f6880e19f2054f0645a67b919aeed62 100644 GIT binary patch delta 2818 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 diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po index 64ba716d..fea1e215 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/mediagoblin/language/ro/)\n" "MIME-Version: 1.0\n" @@ -592,7 +592,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -760,7 +760,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo index 333470199d09bf3f040b429ab411b0830f9b60e6..67260588f70647131ffcc18f4d860b2d21d2d6e9 100644 GIT binary patch delta 2818 zcmXxm3ryBk7{~Dk@I??PBoNFig5V8Bya8$&f`X=!%0;ad715*=Z;7d|q(~Abf_Go^fFV;=U- zb{nifZD=1xf@aI9Gs4=lh<^lx)< z1Xeso^zakxfEO?kZ~1ID-b|5y#7iTLMj2`$>g$1{n2hI8q4%3$)(3mwBbbMpU@OMs z>!=WahFaJ;?2Us6Lpc^<3tq-`xIfoL!W;j%3t1+{a$yOo2DV`s9!Evul+UXeO#cps zpx-332n@qG?25ZE6GQO|K8-g~k;$LzLcbk{vR^wwL&bLkwUeMJW-*wA5jYx?a4L4h zDtr)MLoM_uYT=h~Al^fwZ2d`mGO1aEs)4uj%^pBcfmvsa#6HY#18C^QGf^vEjk>WK zb>l8nsGG4rop(*j48fk5 zje1})YQn9k7oWsbyp06Q`b={mm}5X>{{Zk*h`3$N^MsoW(Zy zEq25ksED>Mar5*<759`9<)6kZ1{A{W*aJ^s4E}^&(KFAzC;^r8Q5cHZ*cS6p5iG%O z=tch7LH<)pL*|?H!$GJN6r=9n>7}8G8nFYOLhbZADgwcr9gWAK2S=caD+>d0C3eLM z48nt`jWl2seuX-|w@~l%EO7I6LG`_%r0 zFjPe5pmMqv721Q?1}|V2{00^3zp)&X%lJy-TR0kX7n{AR^S^@z(XpXR+#i)UP*r{f zv$4}sS0i(AI{n=^9{)gnSTdKnPwj5JLH{IP!grRtQ&jVu`@ro%E%2Dn7VN9@f0o8@ zypJlzVJqCXe-W;ye*m{)0^3-H$5B+iX+##&~(7b^b>rpL>1o|?1a}*3ke`BX*dy;`;Djw977M@ zMLp+N>1rkhbvj0(j%N;b$I?nxoJ*sQ0j1zO)XrizxW8hh$dCnAxzN{O3H{&~&4{X% zA?0H~V5!_mbFtcoh}ma4K^oCSm~2!)PqUR=6HxaU&|#4d}slF-lW5)6fHF zFaf_uJs7sl8G)+WXq<)pn}Q=#+xyR%-!v+zD5^eaMR@&;6i-ugMy`Lrkn{odAzAUB hl$7)VX-xyO{_3Usk{8{N{r|rD=8T7$^6G{M{0k6Ior(Ye delta 2802 zcmXZe2~5{z9LMo*z#rxCK%u|4i2lVJFuaEch@$2Rh)3lGl1GY1CaL^ML?l!cMMEpK za?QwM(P6H+=213Hv@KoEV@tNwaxOP*)3V;5p8v*pJ$*FcwjMZqyK=5 zBe3{+vzGWRw#Q2tkM{z`Of>6HKgCa@8I1zeLW)oi)MFwxph9nx%=$n)4#zCi1iP>s zet-(`52%GTU~fz&423usPvccA!2?rVB>Y{cx{#$|7cQ(s)xd6ShR0EnI2-ULhS7h7 z5opuQT0tas#m-oRX&8yuaWURSMJ7Abg}xex8Tmg-L&bLowUZ`UW^J$!w!(Dmi!-nT zZpIe)K5C)$sD=N6$@m0`vL%xEL{hT>RRf<)H*1a|IcA-(HTGeC>rX>3o`YKPden{O zs2krxh59Q@!n3GcKE@D?o8hj7m3j~(KdQX0OMg6Mc&9@hobmji?AT)%)zzG-MPPrKKi#%IS(sv z$8H!ZA`4JC^`k<22*dFbcE)R{Q2&jEn6Sd^Fdo4%IC&-C5S{-$G>DE3UFH6$97a|7 zbWeP6&rRPp_Y9kCI$kRZY`1Sg?#zXcV6W9Y%h zsOMBz@!&_(Add{PO$(f zANvENaZb7W!mY;B^nbzz-20{*&*x|?qJIY2izWECn!QJ(9#7!(ZD!Pu#cX%~cvPSk zcoCJFE|qTQlTi^V$4U4hQWo|I`(eQjGs?*hpd#bl>1tvoDrGyc75Z<}P>7yj5_YX} zA\n" "Language-Team: Russian (http://www.transifex.com/projects/p/mediagoblin/language/ru/)\n" "MIME-Version: 1.0\n" @@ -592,7 +592,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -760,7 +760,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo index 07717f03e3958ecae0edfe9fe22e70eae04b506f..b9cddbc97f10ad7ac690cd1ef45a1653d27d536d 100644 GIT binary patch delta 2818 zcmXxmdrX&A9LMn^;17SIg5m`P6H!p)rax4aR1|+8BnV1c5Z=H`hKOjQDf7{25)MmX zX3oYmFMoK;?Wf_^a_L%b&I-3yt*M*K+q|sIEL+Wbe>_hc^L4(*=XuWge!u5=;LOu* zolm=+TIF?o#+bc1#tgyBn1J_iAx6wFW+>KTBEF9U@l)5YF_`!!dhsrX;BOd;f1(Hf z#qQ|wTYI_o^Bd>+gQJ+xjoGe#)B_7}3YOx%ZpO4?J#j;xF`4)nqcM4=O&}MQKow5L zX3WN~FbX~S#*DzBsD%9aj-9AxqBj$}kabLl8}G-d#3xY?dWh38wZNFwSc@yT;X3Mp zd9#d(!5R$3W;brd2;vji7tf(8+2t_M!gt&Yo?tk!r_h)|I1nQ-%{2#;i05Mu+={9| zvl}18NyNu78E+%Wn|?*cN;9>*i74VD%gla3Xrjkcf?JA&g_-<)Hh!}l0RVc!zFKo;r&e$)*`?))+g zC$2^H+QDIX7?tTocRqZMF=vR!V;0^=Z9H+Vy?+cwvA&tcKqW52o>+s*Y$Lva?_dNT zL~Z0W>M&hKJ@6LlbpL{?z!U6)JxguI(HKjdf!b&Z>b|uY&ibZ-fii8;1n$P?8KG{x zh+6n2rr|$09Ft$R3m2nWH4ihf3U&WJ)ODYudVd3bIC7p%upAu^6U!O&!y43~*ow-i z4g2GVn2#qg1OLExarAuNaSUKR9(#p3jDOXbXIO-~udvK+Xg7{0?!=w=u#Eb*G1y#g zGwt)5EqO9(;g?VwT7>Fh9VX#%)O-9rs&ap$t`DiOADn1Z3*t}}Oh;9y5C>qn8?ULL z{_5oxCSq|9>QJ3V_53GPW$t4vKEn`qCocGO$27j*^>p*C_9$6zOFfxD>IJwrXXb+O&ZG33Ww=AS8;y2Q4k z8da%H*p4ko#T*k?X?vOCItP_WJ*tNej>Y#d62HJW{0_CTC#Z~qs%(W~a1?Pos>HL9 zVwfsCi5D;h>y~mr_5OD-$YkPy>xgCcn_q$X%z)|=usuE8z5mRc6 znS-U+h=*|^CapGx_L@pm0$*Y%M%FTiF{rm_OD**eX3)sQKy1Qz?7%cU@6P{<$|!V= zeVr0e8=Hn&umZ>7ZtRYiP|xc^y?%Ev41?S|40TtCZ2y7FoAdt@=Y=y zU@<oDDr~~@*oFmf+6`VsRlM(d`^zfZVel~%O?U)H z^BrYquAm=hZr~RNwqP<|LzUjU(f(;R1~p%Tx!8cJ%mo~a*HIgdc+0kSE-Jxh9EQ#( z3{-(D=)=EIU%He{_QC?B-KG{(@G9yp@NTvxPQ}5*epF8vp-Q_HJ-8lwV*~08>~QDX zZ0s|88T8;k4xkn|ieCHybvACGdUp$z;iG`J|HSB^r7Ht7QkM*9|1m1OeWA}2IGa-v q6r7or(H@pNqPx$Rl`$zWE_cfiU3a>&c+mgXwV%z242<3s7W5xTrF}jC delta 2806 zcmXZedrX&A9LMp4KLH83DGDNrs1P@yA7KJ1h=BgQaFMhmyu>drX$W2t6Q+;pG#Z(d zrbS~m)K+TN{7qXem#*dJtZ-}oQORl&^c%ARzd7g8=-|u-I{p5bo z$@@VcH-tG}W6ayrj2VR&Fa>|b#TZp;OcFL?D!zup@uch5=ppXIFuaZf@ed5ezcB>= z!(a?9vxd9Ilo_Z0!EsFJ#v<2J)B}Au1#9p|kTD(DOx!x%m`QjCM_|Sbn?M;V0Y6U0 zHY~=kFdl<_#*D|&sDw&=j-6P=L|x`ic}HIu4fBd*|vUep82 zXB#sT8!!~x+_(dyiH~6no<>!&$6=s_uelf8#VF$7ImX1{FdT{#TuU&Wcs>q72UUSK zH}1v);-i>}SCQmROa+_6TAYdpP#bZsFvwI;_z*UrGTVrwaXUt1H))@Ez3m;S}omy{MLY z9KN%9Ek>exKM`}V9JRm(*KMd)?MC%mHyU-0_Uv$PwhnT;SIf%&NDoScR(8 zCftMVNW~nJnf>P1p^y1a)T!^oaTvGUp7O_WGVyZE#DlmJdypSf zu)-$rE{-Dp$c?{2C3qRLS>Ie`pi;#?XBVnL-LMlY@eo$vpID3~tTGZ`LiS|3umnA; zY-Z)C``2L+cDVMSS{3;`UsX&)N2j!bK>$1PF|2H`588oR=me(Wx2Q_o!&J;%ZOmM( z!R>em^D(W_7}{&;#lm$Y&_%6-$rE=vc|qn z<53$cMlD!}dAJvY@jU8zJ*e038ir%gT6@SNFq(MGTI&BW11}T(9|lYzZbH6E=1r`^ z-_eIt*Vz`lf-3oW*YNfB15|;FnD^t$cn0;B_+GFZ{1H|0=neKCt0IR%HxoPYJxu32 z%FtZIGMv8Am}+dtOuURL{h$}^f6a1G^Ho@mt*FYJMKAWEHX60bwstNm!8S}r=QsmZ z;3DdV`=~EnMvJ|02GVY`8nf^R)LRhRYD=7n3B=P-JzazI}5G^Bp$M zHTxM1;tvN<3%rkEcnNhjenR!G50&BVKv-=4hyg2?21+N?58G3n8yom^TJ-==UZHo- f;PUao-hx7JeqdtxmQlLqq`xYz|C$jkqX+yC_IGy` diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po index 79b000c1..fade34cb 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Slovak (http://www.transifex.com/projects/p/mediagoblin/language/sk/)\n" "MIME-Version: 1.0\n" @@ -596,7 +596,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -764,7 +764,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo index 3ca9a4040579e5df98c4c9b8f217c67014f9dcd7..cccf7f9593aa331ea50ded177992c76798d4183c 100644 GIT binary patch delta 2818 zcmX}u3rv+|9LMnofrBJ)0Kq^-yn}*-2M}SB$lWVmQqUB^ONkOIJx7ndYL+X1Of0hOK3kI?JuB@6YG0&F%C2pZ9&A%m4X52ha8ee9#wg zye`!1F~%G!FeU*%!!h_XR$*kJF^SlKV{tzY!jq1dFp&6148@-?2ybHu{(&z12ZPa7 zWDRqSE;8PS1IN*!52rd7p$43edAI;w{fueDEyORD7?X|eQe)z=6t#gG)PlX3j-5Ca zdr%9HEHh>>CSeQ~lzEMLltu*|{jmW9@L3GQCRB!6F$>?vT>K4}V9Io!@xgA)A&!`7 zCo020;^jC5S7Ic3F&qz|7Vz?a9ez3@=s4%R(1ZHmTO5de&hx-o#*8D5Mx}HL>Un_^ zFG6K(DW>3IWUZzfr=fec&CEP}xS;1~r18Lqk6;%Lz)Kj8U!ziY)A0f7XkzEs_YzUx zrC>Bp!b3P6_1+IS5^te09a(No#$*y=@@eSoYH>KWVi>-O8u$ci0Uu!qUO_j0hbq=S z9D%WOjmgAp9ENq+gnLmLbIr5gr(+cHWQ=8gGlNDX9o47_8c|id4K+}+^Sl$Ih>xRo z+J!;*B`RZAQSbL+90t#~#W@UhM3Yg^XJLO_hY`$gHqp>PJ5f7-9<`%`I22Ez2E6R_ z-@+tf_X1l3*{BWVAt^O;a1?HJJc5&mKSU4SLv3{26XahjnMgxB$i-MJK^50hr+)>O z64&EncoKcsi&wB|p)o6P{vum+C-4FB_n3*-E9|w5tt1P?S-1o1E6INgjazi+9yctu zwXg>V62E~Fcm}nj3#c9Zin_-mxP#is6pY3q)P^dY{%TYP*EsPm)O-6-#r?_>@~@6# zbm*R*!$iD>TEO2Jg;7u1fkvT@Dj#)J#i-}=op=?h+8Z4^P~)FME#v|Y#+#_y(9gTn zp6y`NiZW0;oraoVHR>8|L`}RMbz53cMcRqO@paVBKS3Q~k7F+mBK`~Gao{pL-vm_b zEuogk48fZq<#%@f;cGLuCa5sM8#FbTc;Cd{ezZG@X7f{6+xZG|i2KN(> zKsMkt@6s4e$7$3(y@uLpNVWYi3?~vNpi*6qaae=OP!noFt*Gx_!bCiZ%1{@QZSyI< zhGS~%MlNEO?*CmHX*?KD31{PCd>q@b40|vG<5$|$&qlq!4kzGYOu_R=xtP1iKU2QS z7Ox)@h`UgkypCGfFPO&s<_?WK9J$&~RE?vEJ8&kR#$pV5imQn;a45E6Js!hpnDDec z)8(iPZNmlFj&rcrd7ib#Zm=A^+QADnUd6LG9;<5Y56~XeMDL)E=Dg!=978;GEjIxR zuo-uv#tT|UJ)s9Z=tCEFBjsQ&VIZc~k^dkX>2>z3vruPT;#i5Q-nFO{wxF(4Cu)c9 zVJcok{V@HB!I-?>ewT)NuNcFz3f)+T5x9Ll`PaaE>CjH!LS>*E`B5{!V;Po`=R!Py zD#pv0kFEw=<)s)y+>FccAa2JyxC=LIur+cIb+jWJ?NOF^X&j|vAGTxqMq@VP$5@0p z&lococc7~JbJS7vp)wP{$^O?Y9dn5*P(Li~sD-|bs*P`O5)NbV6kLePq_>4e5{(Y@ z;8|2g`cP*azQq{o#$=!ta0JKV861Q+9PgvfG;*u`vmJvv+C&V&(Wn|oMIBLw)njs; zj;W}Di%}oeIW}S_@fOU(W`AhRN@P0sGc5a4m fK=J5ck0&=H$DdgoKIGxM)jR)x*MD{Mjevgv!r*m8 delta 2814 zcmXZe3rv+|9LMp8s}gd!cvMhOyrQ7uA#P%*$T^5p32$H;7cZrvpr)c`@uDR2%myUQ%bSRj%)^=iS^s&;NPf_qqI^|8wx{-H=c3 zh8$TH<@k&-ty7Fi!LM*Q{)W{UTWriAY`_utI`+lmu9q>4_y$JduNaQ^um}E$k@y%R zFv4$*c8&KN=l_BG(V-6~x)!4bEX6{cjgg_o?8QdnH%g4jL(f!WlCT7|fm+mpn{XVq z;Uw%tEj+f=nEp5dy;xN07}JkN1sy%H0Yh*j_QK7Wg)Nwar?3F;;sQ*cX3P#g*pB0g zW2W1QreYXzH4ebV7>7+5gL_a5c-wJ1j-rQ-b8g&;`rv2mjd$GVp)-sbMI4Vx=>*jC zA~&9g%Gg58z*c0f<~$amXQs_eIcj`oD~+)<_Tv-SfzfywWAF!5>TbIJi#i%_nSE~{ z>brDIz#MGFQq+6baR}Z*Wjgk0YZ{JZelv-N&TcuTVhi@d_fZ2MLoMJl?1A55EdGKj z);l;Dz2(MaV=fNFmG~m=LS-ysmi;~x93I&v*TxOpBGj78#(K5;fSVf}pazm>)`VMNCSgLAoo_TM zb^8{^tYhS`XZ`0Lu>4YdgC7A zRAd8=IYMI?9Vb!uvQK>G&M65++XftX-EvWC_!a;Ztm7xwK+vZC= zgu@ouja26!Ph#Q{oBA23_v>&BwqgceK+45DK>nGs zrM7sFVhV8wDw9`H3;P|%GQYV`qYwu_XD6z`p~OL)jwdmIVbAlI4yR!~^1LFSi>kLq|J!jmAMdgXvhc!u|m5L{0P&>S!*w-oxR<1L`PL zEW&2oh8izyCC7t4%){(}{&N$#&iK^Zes1!D%u2UOo zho9hRyoCB;dV~>}R&T!>gL==8F<6DMxDq|MrJnq2;9YcRryrm)a31+lGk;(ymXPOS z+=D8{D>xY=R@*8sK`*g`Rd@hj!uz-#SFf=(@(^{jgV)-l3^+92rDHel$IKUu*?^y; zAM@84Q;sjAs`_ixQQSdgCUL#}uURG*5LcjnSoWb7`XQ<|e!^T#Vekx`i^`\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/mediagoblin/language/sl/)\n" "MIME-Version: 1.0\n" @@ -591,7 +591,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -759,7 +759,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo index 4deac0e6102124f4b1d0c96fbd41d9cd50ac33bb..f89a2d4126f413c54adff358e172ff4297f06fa1 100644 GIT binary patch delta 2825 zcmXxmdrX&A9LMqV0|W^H0WZJerh-x+gg+EXry!t-kRT?SDS~)O@~%jT^(^LQEwL%f zOSv+c(r2=8JD-os#gjNLG} z(AvW_y3jcPP3+}@9?W$uL`_(Pqi`~Q<1uCL3k~iK&8UUm!vx%pJ@F_i6K7Bp zTu0q^AD=)o+1?+9+HfkWISWudFcUMe0hPG}7{mI;&p;ELM%CmZ>WzLzHB;z|cH(r@ z8<(IDm!o=MH>zZ9n1hE=&2<;`eB=~c`z+LR@1WK@flhY@UonWlZ&5q##31~~y&h0u znx!%oH%2eJ(eHiBjPK_r^H--$(Uq}oo>uX%)|F_&2;j=mO7Z|s0kOLHo6IW;TAXk#PxHG5Bv~SvNqS_IDq&ZDpPk+^ThKx?SsQG9!pTy zYaIsKc@wJ1wxDXZ5B0zqjK=Gzh5tnL#zR!|CCsv?W+1AR<4_wa#okzrnx`Jsj2qC4 z``p+$$w0^K8fu}NsEPhUb*ZPyzG*nB1W%zRF2T2PHul3in1JEc#?UrqFpk6~)CNwV zdh8L*&H_);IkajKWgXLd~dJoy75Y4aZ{g0&6X*1nsy2 zPvICGQEM}}29t>Qpx*p6@+mOMuiAMVFqgOmopc5l7<_@Ag~mLK2Qd|IU@S&1vJw8; z!%jAX6fP8_4_Ba4z6S^5ab)x6x*JbxwEq`;19jhS^x`oL#ETe-S1<@~qe}8C2IC)Y z{5NtMh8fQqdrTs55I4l59xQY%!k)wvQ7NB=E!E@BbzJK;&l@mjK}SJ)b?=tT-pH0p xUvS5v{IY<+;UltI!p0_d^Z7<(J=ZaG><{s}FQ%rp@BjC;9LkUB*tPnh=U>IeiNgQ@ delta 2810 zcmXZee@vBC9LMo@@ArG2aj@I9 zzuR@PzOUb7jQPZ8OcGwi5%@d4hW!hTNx>EP9Day{G3a;+Lx}HTUwnYQ@e%gHCm4o3 z7>c3Ot^FLMryKwO6UT8u4;DBUq9!cH$yk9`T*hq0X5!lCjmg7XI0U0-*o|gk25~8R zaTQL*cGSinU;_3y@z7$w{lQagcUp|BV`k$(oP%R=F^i*~U!6&8Qyx4&(44l3BkAVSD-^4~OAA)SEV=7TS!;zz)L#TeE%K?a)O0;(q0P;c}rs+q#) z+KES@-nbOK*nsMR!>E!S!+bo2YOY79=cDG?+IvyYeSli;Ec(M4e9IsTub_6?iM{cu zbKO;Gn`i)La=iw(VH-xeIC^weBXRc2_E_%69^#wGr^MWN#h7#)I^UQ{I0g6M+WF*v zBZI-O+8yu34B}I$8h4_ax{8|jCMsjU zEg=6f44!Zy1tY3#$}&+4m!W=Nf{ECQnrIig@l#aEjyZmfsl?x-GW7^GPa>bw!I+Cl zSc{&X8;<0MFHkkTj>^bSsD-uTxIYTntEeKLjW`J9wuPaayxM* z<`K`uRBXc%Jb~|GH|FEI6@1+=h}u~7Teevb;2Pr3QKd>GVKmrxlRRWZ-RP z68sUlWLCUw%yhhuT6km&pHFN>ZFmPp<7pg&mvAcni#mn{pTGgJG?9 z!~Ss$GPp1kJ=lm!`C%M^XOPXCU!1sdt^HeY9qPVA7>}nh1b@K(cmsRm15`=6Fbp3% zaW`@ryyh7L9TWFDJ8=T)L7(Fc96&q^mGY`U-`M;iz3LVR3bShlZ7=u620DD@y+U#) ldbYcZ(nCEHCVKJ%7Lj{OXGCU_6}c6puP2}>pvYZgR%es diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po index 757859d6..112b3255 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Albanian (http://www.transifex.com/projects/p/mediagoblin/language/sq/)\n" "MIME-Version: 1.0\n" @@ -592,7 +592,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -760,7 +760,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo index 2dd2d4617f2f48b0bacaaef4c0dbb6818da8602c..7def7506932628f50a7dfc0eab0ee00fcd0ce915 100644 GIT binary patch delta 2814 zcmZwIdrX&A9LMp)9h930gam>qfPF^v`TU| z-E=mZ(vTFH=4`Wd!A&%^fZH(7B=XsuU&i8x1&+|KW$E%&c z`XG%8#4^&p#oTs+Hebw#}1r~ zH&GiORl+=&i;*~|#A7eiF%ZbWcJ#vC7>s*R8EVA|*n{KHr_`7lOvgqZ*o)cpqo>*V zD$$4j3Va&tFdQ2(1V2S>;E2Z==*Cb6zDGsgi+bP&4#oS<^?>QdjG-TmN@+godXdww z!HM+Un2Mhudp6%<83vczK<1+6_w1oDmc{|p!aX<`uVM)Hp;GsUV_=27F9CJm7*wPa zFaoo2A5KS|eLp^fxA7?qpJ7eG6xKKSG<0?=F%cUv7?0v0>_lzg90uT348z}0#d;S< zU{s|s8JLN~u^u<$ZdAtnU$Pq-kJ@M^MzOvrqY=)48@0eX)Xq1dCfep){~U+VZ%0jV z9)0l&DihaG_xEEA`pvY(IUH4VS*Yt(7>ErR%KByt4NdeuD)J^&MEfxg&!STIGirkS zn2Zrswgz%gN0pDH)Ks9}ij6oDn^85yIAD|-n3{_0upi+7R70DxvKtJ9|r8Wk2gd`PV|P zG7yd1F#-3XYN88=;18&YenDmI0qUq8JJ$!#v;BC~2A_2-M=iJ(HUAEb#a7gjc6w;2 zSb9)9>PJQTCu)J1SM2MSggTOOsJCSTD#9vE#2QrOTTn;%j$GsD7$r2C6plFa=9d3pC(+xYOx}EwB?O;S|OvVHUoP%H(NOKtEy=_96jz zOzlFuvo)yH??R>c3)BP0@OkV;9mQ=_1W%mnF>bq|B-C@cn1K0C-;LCrS%!!43@VT% zi}WS*P+T<97&woaco!#OG9_Jt%P}2~V?6eu&d_U#-B=u^(yu_u!E8qU%oYBrc(a$< z=SonST#njk1CC{Vvyny~9ziX16GvjqGGnIU3s{Idu?R0>97ZjtaM6V?;z3kV^`SEK zH&$Wf3O0wes2Vtl3iuLwo}=-Y#z9Q0wZ8=yF_Hcw)I!5o+D~Y%<1$QQyb1XPm`>b= zgI3vJ$KB|r-;Mg<#MRm2oq-&?nT;@dd|TRP_#^Qtwr7U#A3A zgf2|PX*dq+(GT~do;!rPuL}e4GU|1_hB}(t_2gd@|HFVHja|*ViH-7Z{liv7Y8sE*RHikyB~|`pYzZ-L?dvWF&|pqDgdgE(Y{MM9jEXqqbz7XHQMFNx6R{PwkxLkXo<}s2X@s+? z3$suesY9LdF4UPFM{OWrrRA1B0*;b+pZ>)PIcrcmQ=ohpjHt<_vs= zisU5f!CxKwP!rz5JiONt6qz;5d+ExK>kAh}wY1F)Ygyp(?>IH3(%UC9C%t8G;V3_s SDBcre__J8i{_4*fJKX(=Y delta 2806 zcmZA3drX&A9LMp)O+XPuKtj1CHx)1a5CJiyxCkgHfj2Bg3`H(pD5G@MBQ>SS+p<+e zwX8Wy=VgJ3PII=|y5Oc8ldRTKM~!97Y-?KTdVf04Uv19UIp=wvbI$jBzR&aH*pSze zA+KXifsV%*(~)OP41SAAIEX7SB;S}gT#w1P3&-Gb*Ix9Ye;otySM#Q8VR#?? z(67Kc!ZozOIR8x?$$%c5?V698uo!c&0>^qAvj95&!6+>RshEz}0~JMO?K3})afROJ1r2d-im-g2)GD>Y^!{RmV_b5Yj| z-F_8j(67c+d=uHT`2y$Sh%y_6lZ%Sy4VxStez(&;0pF>ULxYysuQ2Iwv z6P!a|>_cVZ3hMp=d;onbY;ne*iY^m%y#fQU8G~8hY@wlvUPVQ|3l&i(M&lV&>b^%! za0^o~w9?kVOw>{3A}KXxsJEg86L1fzCb}^Ve?tWtyO7|ta54==kcttQi7Ku#cf1md z=vU)pJb*7?ANFI#B4bwJq{X)AcH({dCovs+me|+wcg&(ca;Y&d;+&=Ae>08q3~0x> zRkjwYFpU1Q7>uu>B6$Z@OrN7tdKDGPT^xSg3# z3$0^d47Oq%zKyDh9t_2=Q4{@u%GhnxQQdQ|4}aYDqfr~2=vsfBF`k22xD}Pjlc<2c!QI%8 z1mKvuYP+-bsMNoLO7X|22M(hLPoa+D1}cL4?)Au(c0-A%=dv*lbKQP5Qg@~n_v2|) zAggNhC3Gk*8j~3~hnYBpvoV>HF2>b39gkoPUPGOsdD3od9H!DOL(0KyM*f*T{!{U0 z)!OHZP?=nf+GsOQWqs2^BM0}R7P^iJ7`d9yD9*w{Y{NNt0i!W|4L{B3!AJ1}R8d_+ zW$16L#IQPJ`1+bUR1JKF3iu*AQ)t|yu@6(%+TVf;7*GE$YN42V`w7iP?e< zonlcDdN3a6;xueTKkP(3w-0q+5BlRJ)a!T!bu>4c$iF83hXF+zwT{Zi4CJF`YOokj zU_L6}s*wVG1fR!Qcm~7q4lc*w4P3(}+=hdgiW@fCqwT~Z`ez*)AJXt|=C2k!h|gfo zQ!IjASdO)y5Lczz)<#F5+l(?$Su15yGk- z%tU3R9(BfTs53i^+CWf?U2rmL1C_1~s55QFK-`8p+TEzszk$Q>UDOeMWKA=lxC2K~ zksL=o_@nDp)P%oa4&Lkv49|-4uCMLNpHdUCw>&Mp>ttTJw@-SuXKzqpqMv7GwkNA= OM&Y5c|GVcquYUpmKXB0i diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po index accbc5cf..78491b09 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/mediagoblin/language/sr/)\n" "MIME-Version: 1.0\n" @@ -590,7 +590,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -758,7 +758,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo index ff4255308ac708e6abdb2a87cec12adf889549a5..98e3d10c093596628628a4480c5ebb9d69124c4a 100644 GIT binary patch delta 2826 zcmX}u3ryBk7{~GR`U>7a5JWCYkQYSp@`_x1H5B6_Ab7#MhM{7LLTVSRME`D>P89U*1Y>&6F1Kz=4e1Jh1 zoNEnnjmR}l+rlvn=)*Ctxu^vTF$<^QMUOFCu!jEpd}A`P31hL_I2%9;>cEBQ!%7^3 zub~e9J;vc57>OYTjxpV7Bo-Lc5z~=<%xDb3Y*dCyFdf(85Ilji@n@{#gX}_M{Pe#l zvKzG9_;c*p-1*sEHe0ccV^v-2L~{IDq~IR7&r<|Ng-3 zM;041jPY1Z!STo$%}V5K<}{{ZmlC^=lTAYrO-7}BEq1|;7>YYksXOHQ5o+GosCid0 z1g~QR{)M}+;{;p#gV>w?TNsUJU7Io4Q2%>0bou&CqzssYTCf5;;|kOPYOw=0U>NR3 zUDjjxFkV7M_9s4s$&-xPjN?!l`xcckGucKSj8W`wqG^ONJ{Yw@7V6gKp%yAem1HS) z!&+3No3T9}KxN_xYW{l|g_ls5vjr8or_=@#iyi6vuq*o;KMgHZfI3JCDxxy%g$`<= zJ*W*%V1K-fis(KnW8NukDK+7kK;Msja296ZYD~rVQ3q&2$4lcT4MlJpm1;B9E*y;- zk4IjN8Gu7@1uC`su@#3-<4I!Dbo=Z!;J@@wVj6xp!0!BCB?-!L|&d=Iy~4JcOZmYBu@r zLE|e1RI_WS6#tEp7(K^MOhGN=N0n+iD&=#q8!mSHFQ9IFo$K4EgPlWt|0BlXebk+Z zaUQcL@}W*th>COu>cds2=e8MD>sL{)WgqI2evFBD1{HZTDv;k@y=CsD!&t_Bs0w>m=TQOOK>nC} z{B;=1=Gj2J+}L!z|3NhLEaqb-ZpYDh4ht}3fic5z8ph)W)bl%v*?0j{FucP4PIv?v zGCNV1_aD@Eofq0nCZkH1hC|rjjG~c+OHdoViGA=Yjz{wZKa8Ll^KmQo!X|tYTX8Hd zTx2ibQB;P$#3}d_PQc8?_71E^AN~F445o33#sPeQL-9bRF?}_T+Nc!=VB`{O7WSjR z2>Ib=HsMSj-1QUG^Sp>k zVGHW{1XbGz6H&GHqYgd`wb2IDclD@D9KjCwDQf-CF%+As$$#6z3@Fkd@;MND<1{S6 z0(=8iqTkSu1DDy_SD;FE7joPsLN_&7&uBE7&R$?ctMwNCYD)qG(j4z@}^s+VG zY;gy6q88qZ`tUQ?M%04mQ6;#7f%5zhJb^P&Yogm#R0eVe&x>lf5);;NdSP%wR?Un+ oSk7IKH*@6hhAw%1gHlsR4)+Jr@-ljAZdLiI|K|p>YQFRQ2hOa5xc~qF delta 2818 zcmXZe3rv<(9LMqVauE@^h;maDO%as@QNR~(n1H?t5#G_fq2?7YUBp7?)7&K3yd`KU znYXagwUzH&S(%${Nl8Y{isn``8rI6C7G~+N?~n6rjL$iT=Q-#6|NnE|mjkyvb+

      5iL7JBV|UEOkywOT=wKS2#rgOPzQhZ;Q;o@?e`%Us z$Wv%D6OVluPsAwnVmMAktvlCo2g)&mflAbaHLizHJ3a0G{Q?f9e+8A&d+y&m+}}+Q1eJ!F?Eshfs(0 z6b`^*VQHQe)6}g#V1Bu73bki|{^^KQ?CYplUND(Tc1(=B2P!rXo z7C4J3coh}V160NWW_G63L}C(sFAl^~%*L%a68)$Rw4oD7<4+oj;4f6FAEG9Xon^-p zksD)%U>a^jrS=Hk#kASREXCwG_S#ir2mN!Hi66`*yLc15*t?XVaAqm_KTqQu1{C4m zdG;)va&5#2#@kSlw4*YTz}?e5&PJ7NI!5C>RAl9@o3Jy3sORc29#3F6emr0Gr||^? zs@Zi^ivPi$82hAsa2RSLFRE0tQ7NB~J#eMle*tyct6bkkZLA6P{!iE&AE3@eoU_30 zC>^yUA1cy0s23|y*KHT7B(I=u%VE?Z{RsQxMO5Uis6hU34OnOcjK>7V(@`0i>h_(b zH1y(D)CP9A{aVz*uc6MyNgRS_PzzkcD!lFXpI>A*z8m@aFlW${a#*?7$K9kDxQ0Ml+3L*n#PIbTuEx8b>YEjzckejddI*(_evn zxS5^!BL0YDaq(K4@_JNeA7C)1m)rjCi-!vQ!Oi_nM1 zQ6>5vb8zSeTl;0GlD&aCoGrKzZ{k)g+{lf>Moh)xr)_B~F`xeH4vph9T5%s%J!8x! zOnBBlum?-%UqwZl{G2U80V=``I2fyN8oqSEs24A~UP4XSget*z=r5c6zQ_M*%(l3I)yw^P!^>i7OGfsp&8?X0kIMVk6PP(B hqqcj&px}(0F&SQeRzY?jJ-2Sj`OfG3xfS1g{s%>|fCc~n diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po index cb06194f..a14257ec 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+0000\n" "Last-Translator: cwebber \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/mediagoblin/language/sv/)\n" "MIME-Version: 1.0\n" @@ -592,7 +592,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -760,7 +760,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo index 0fc405fc3f9994cda39014a61f653e034ada3840..0f6a6db2585f30209eb8dba5aca489729e91438e 100644 GIT binary patch delta 2831 zcmY+_c~F&A7{~GF3Wx|I3gU)x-4hIBSIIPX6<5>@7bHa`K~2fb)JteOC1uKtshFj$ z&h&@PH7(64TWm&c%$Z8GnVhM{&?YUX!gR{MKhFD4e|^q#-t(U2InR4<>kZ%EH++Yx zBLZn=wma9X51z$Acn#-aOrBXHF2}*R4dd~M=a(2l{1ZlC3x?uN498Y%k9RQ)+vhu@ zJiF#wpl#wFbm+w~p82Q=$Khx!#dAKh?YNq_qR=cGo3SUx6uAQ=p*CEM_ugS$~1 zzlgo?H;lu`;(&YLFE;ByM>evKjm0R;MP+C*W@0@K$M>-eTW||6*W#hpvc zvgq%I$ykEy(bgb)vy-TUL``(_2Xbko&{2w7xE>?10XyL?RO;UJJb@bbHEP`V7=qWZ zD_+Ol=$qtD-h};$k79ScO9g@@752~v@3vC*iB8@&D< zSVX)Jhv5}mkFhh@3~t9quxh3&y0iE%@h!~2)`#3@Ic%2M2;vglfX~b#|4-5gec0`I z1L}up7slcdjKi!$=B zg}$L99TLbD!cA_%07j?p8=*N?&lmCF-@E1?tT(@v{>`8wLYQ17F z4ph+4i%+38u*r*epawRfYU41fxIRWLa1}S>T`%4|&yC-Ux%9t>Bk&gL>q;$m2g=25 z#FLQ&1ne>m?d%FBqRn?H_M?ht5T;@o>M9yg8{3D<&{5QeK0{s2CDc5Zz4$Ite->I{ z_6E*D9i$xE45B{k@FgzOGf@X#fq{Ezyi8+1p1~BXsd7cN7q!p{9Ez7bLmzcNy(!2~ zflbFcJcz?FX=&RnS{dpG=Q!$$t|R4Oq1Em`V?j0f52a%<9sRKyb;sL0_oF_WAS#8Y zQJ+%_>V$XDk8w3_;Y9M0C?iND2Eyn(8XeoUH$3s4)`gUUqU6pbM? zE@B$`R=bR3;2`2@s5@JO+Q0?Wf~^>jeV=esX7LxDNH=Tb}QrCVUt5l^n-ld0|e6U{S*Dn05=Rf_3w2B7=uU{1MUE+@o{jytMYg n#MRBd#uxL~gk+COZ;UJ$7?zecDt%-yqhNe*_rlh0{~P-sq#u67 delta 2819 zcmXZedra0<9LMo5K7b;E$ju8FBwj*N0YMQm14U4j2&EJi$?y)EQktebqG=b(G-n28 zsmm!Jc^0^9DX*+<(}U?(Q-%nE_?k4VPh8Y(Q<`b?l70u{-WZ73=5t zFkZqev@)}YARAZXR8+>!po;M>YNPg)Ssd$I42>w_RMY~wsDTBji6(f@7hn(KRj3J? zFc?2TW#S{$_ygDre?%2$J8EM=_S|Dk*sf3G&E5i>g3B&C-P$=?m?yQOVk4A zaS+}@)j;1V?g~?olv+7z;g>N5x1(yJ6*KW))In3GvW6B;qoEU|BiCY&p(bwf`nO^c z@h*H6FXLK_uHX~IEjR}kJnf3^GN`&28+>qO7)@M&4^oS|!YWh-=c2}~$2@!kBk=o5-9L?= z>4?WGn1uIHHIX#K-FZ4{q5@RLW}~jE#(TcZi#MP)xWzMo+Sqy2{8zCL+Dvz)34R(X zmf@%!O+uZt616}B>T_#CUCDM-hIXP(*ow(`9Ch;FFb@Cnv{`Q9c5m!2)3FCOp*FS)m7yc34SkDx?;>iROJ3Z8)SvmD zpbip5#b)dKA5244U5z90EqokLU@-# zfO_vwR3?Mxx{XHRP}a9N8l!O>YN7R*f=93ff5Ac=IL~Z6)?y+Ca0#Bpd>k|16;&fD zL(Mn^51~Hm&;>5j6{rI*MgI^Q@6*_Wr*J6NE_6k;6SdGWOvQ_yzD4e*cL?%RU{i1% z?#E%6x|nR@bkq;dQPdS(L(0K?weD}moLcf9OvgMr`r%^K9dGvBjrwd3p;CAf^*Obp zPIwQKF{aKfoP{C8HK_L%p~f|0XKX>ezZZ2ihwI3{CjO2No%DAcjQ6nu2b14oT!&-v zB&tRtmYO|*g_wt%Fc!bTS$F~0VD|H78}SgPVa_slwKZ5o{FoFHwP$xcz8Tb#XHjhXD90!4}UqB\n" "Language-Team: Telugu (http://www.transifex.com/projects/p/mediagoblin/language/te/)\n" "MIME-Version: 1.0\n" @@ -591,7 +591,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -759,7 +759,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo index 2faf972721be3bf595d10943f7e4c5a514b4d61c..6bf6670a3775335d93df0f230080a37861e6ba45 100644 GIT binary patch delta 2822 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 diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po index b97d40c0..e0199183 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+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" @@ -591,7 +591,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -759,7 +759,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo index eed7eb84b4553a6112a634394a47bf8241d6d881..ebbc7a24fc4ca8827b217c2390d8bc31b79c012c 100644 GIT binary patch delta 2814 zcmZwJdrX&A9LMp4$W6h^Pl$_hQBgub>jz%Ikh`KFVQLx%i8n$Z)XZsV51SU#S!RgS z<}xb!M+@6;rMWKZnmT4GYlT`mbCiiuj(_Z8+56LZ{%mu;&NM^V z00RrHp{|}n)WW~T80^Dv3@&!;h1g;`3}hg2Og4sM4k|;XI2j$BgdbrA{)o*ykUQI$O!{Z% z*!c#O*vv%ZNXBDv7-nJ^&Ot3;vEvRj;1C90K<#`7>VZ8t0^8l|pI|cmv#6BzyVrkr z`=O=AOkv!EDL5Nhqj?TloB15Ik&wA|ekX^xkVlSV@mJ%ZYK9%@HrI11OG zQuhifKszSkm#7-}1;el(Nhz<34V;W)=@y`Bq6WSACMuI%=qT`I8rs1%jKE&h#AbmV z4@BM=u2$Bm5eb!7Hfy?xOCykII;*g8Yx5 zk-*EWBFn&dEJ2-l9S+CMsEJ-hW$X~@sE)YTKXdyRPz(It^*$=#m?d`p$rwYw6eF?5 zp`l`tTG2k#PTxZX=tRA4-KZn^0hOVfs2v78Y2TVq)XvjTM>xf`6t%Hs7>%1y@mk!z zbC`x6JdIkw1-F0I^(Rzq{Dvy7zfb`ZD~)*>vrzq$sENBVAMfBaOs}$;tVeBV3+}=l z$Oaq}^ORlLXjJN_qf)#C^}tem7#mPWaS#>gL-%?oY60D-=lU=n``x~0sWH@>iNtnn zL~SIZT3X*7<|Xv1qb5u2X2Mb&`{bP@Fl?Q@N+wV&QR949I{{v~PW*`_FQD?l-bqA_?51>-$L%mL2 zs2%oT0{)E(99M4xm7$(nfV!^^gK!(_`JJevIap8rHSq@wXs73J0^Y)f7~WuOU^N!d z_n~U!F6QDS@;@EdU^pJeN<4|1F}~55m+%0l;FvY`Xv=UG{dEqFw`m;5*RgUfztwmL z3vtytewy(R#^XIq#!=7O9nQq@^eZt7x1o0Y1*$kNp=x8$dixttidx84^q|v0BZxzzI~q>!=h5ZLr3n&U7+{U?%El3s9*q#y~7b)xsjH*HpR# z%TW{8q8@zBwG}nt8<>sn`a;5|MGsg}>nljBj%c|QHMFJ58|XWhUp~NpYF2v7;G)C; TuQw|_)0a_H8S_8)UGn=Et+#mD delta 2813 zcmZYBX;4>H7{~F400F_}uPA~bD!D=!TLKEW0HTPRX5@lMA<7bJu9fj`bTS>wOmNI` zGIjKgmO4_FQ<+Yq4&ypaxs*1RWn!Ac8(S>x`|I3y%`kkBJWpdF_3IdhzhDryVF=#CcK85;F*x5D z?&-@n|9=BV(V&jGo}*C%7GVxf#?t|28*nN0vO=?=_%%jj#2B}M{-_1#E~a8JW?%yj!4Gjd{)Dg7A#bc%7WI?k+;{=S zE;2o^C+)G=88fj1jzuk?)bBOaVMiKXLhXDlszW1o#a-U>PjC?Rlcfz(f zo}k@_iCBcJ(H0|Xv(Hf*2`zEs`*SHI(=ZV=aRY|q8ti~gsL<{7JdAqpJnFq~F%WNH z7rcdA@E_FKZ=PV*7q?*)9`n461C8@3HqX59E=($1@(Lq`mh2u zz#3UL%qKld*C5da-KsaU90yzXtK+-1nkKCmPA1V4MXjG1Zqbm7>n~!p?d>0 z!7dztU!rp0SL}doNJ#A=YT|)Y%o1=EDkrKi72icg@;v%A@g)k{!By;rt*C(?dhNka znQ>#xheX^ZBm4>#!ON)k?xEg$fQp!JI`QvH zA)d>uBum419EUpd8ua1IsDa)@MQji1sP=o$KlAEmQ49Re^8sqYJ~Q0-=@>)37^ASt zPeIAjfLhUJ)J}J!CTKxjw+pBvxrU0+4b%>UX1ZGwj@o$=>IgGDi%}b^z-U~Kns1|5 z_wS{kj>l08IP2A~c>avajo(no^%rV_gfh+_vrzS;sDUrwD7=fAm^#ZvvKF5F`n^*VE<}*vZJMPAM z)J7sJ^dO4TE~%PO z5qclF!FC+^$XfJV7wLJZ4X;H1V-)sN*nw9u8U6EIQtd-cbPn|iz3th(+I@OQAfEuM z!dLNA9D>7Zh!)miDxSe$v|9InMLP_nI;WQS2T`b|Ar$LTXS~dFEh>ArqC$8Ob)C+m zc6c3orLh zA4KKIJsg3_#D5sh$4K0ZWq1@I?l8c2YQu8*%1Bvn6;J z^Ks4#{Ncep7?1aH5cXW;c36P@sn5i0T!q^45ma(sMCC@TlVK@|Zv?EcWFT{2@0hJ3=of$U6 zYp6gCJQvk*y=Nn8z;`eQcVcr{VMg>L)s@XnwhDUA^Y Uj|Qh?Wv65|XB3ph{O`Sg0g;n?!T\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/mediagoblin/language/vi/)\n" "MIME-Version: 1.0\n" @@ -590,7 +590,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -758,7 +758,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo index 6b3d085f4db96a240be0f9e0c042b0de99743590..827628b393d4d3e57e5cdd19c2b54e43ce43dfe5 100644 GIT binary patch literal 30448 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 OUUJa?N7wtjZZK=6XdRc;;DyyFMl+L3 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 NrT=-AtgBUr{sTHz@Mi!3 diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po index c5112353..12019713 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-06-16 20:06-0500\n" -"PO-Revision-Date: 2013-08-26 15:12+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+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,250 +18,280 @@ msgstr "" "Language: vi_VN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: mediagoblin/auth/forms.py:25 -msgid "Username" -msgstr "" - -#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:44 -#: mediagoblin/tests/test_util.py:110 -msgid "Password" -msgstr "" - -#: mediagoblin/auth/forms.py:33 -msgid "Email address" -msgstr "" - -#: mediagoblin/auth/forms.py:40 -msgid "Username or Email" -msgstr "" - -#: mediagoblin/auth/forms.py:51 -msgid "Username or email" -msgstr "" - -#: mediagoblin/auth/tools.py:42 -msgid "Invalid User name or email address." -msgstr "" - -#: mediagoblin/auth/tools.py:43 -msgid "This field does not take email addresses." -msgstr "" - -#: mediagoblin/auth/tools.py:44 -msgid "This field requires an email address." -msgstr "" - -#: mediagoblin/auth/tools.py:109 -msgid "Sorry, a user with that name already exists." -msgstr "" - -#: mediagoblin/auth/tools.py:113 -msgid "Sorry, a user with that email address already exists." -msgstr "" - -#: mediagoblin/auth/views.py:43 +#: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." msgstr "" -#: mediagoblin/auth/views.py:133 +#: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 +#: mediagoblin/plugins/persona/views.py:76 +msgid "Sorry, authentication is disabled on this instance." +msgstr "" + +#: mediagoblin/auth/forms.py:25 +msgid "Username or email" +msgstr "" + +#: mediagoblin/auth/tools.py:41 +msgid "Invalid User name or email address." +msgstr "" + +#: mediagoblin/auth/tools.py:42 +msgid "This field does not take email addresses." +msgstr "" + +#: mediagoblin/auth/tools.py:43 +msgid "This field requires an email address." +msgstr "" + +#: mediagoblin/auth/tools.py:146 +msgid "Sorry, a user with that name already exists." +msgstr "" + +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +msgid "Sorry, a user with that email address already exists." +msgstr "" + +#: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 +#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +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:139 +#: mediagoblin/auth/views.py:167 msgid "The verification key or user id is incorrect" msgstr "" -#: mediagoblin/auth/views.py:157 +#: 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:165 +#: mediagoblin/auth/views.py:193 msgid "You've already verified your email address!" msgstr "" -#: mediagoblin/auth/views.py:178 +#: mediagoblin/auth/views.py:203 msgid "Resent your verification email." msgstr "" -#: mediagoblin/auth/views.py:209 +#: mediagoblin/auth/views.py:237 msgid "" "If that email address (case sensitive!) is registered an email has been sent" " with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:220 +#: mediagoblin/auth/views.py:248 msgid "Couldn't find someone with that username." msgstr "" -#: mediagoblin/auth/views.py:223 +#: mediagoblin/auth/views.py:251 msgid "" "An email has been sent with instructions on how to change your password." msgstr "" -#: mediagoblin/auth/views.py:230 +#: mediagoblin/auth/views.py:258 msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." msgstr "" -#: mediagoblin/auth/views.py:287 +#: mediagoblin/auth/views.py:306 +msgid "The user id is incorrect." +msgstr "" + +#: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." msgstr "" -#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82 +#: mediagoblin/auth/views.py:334 +msgid "You need to verify your email before you can reset your password." +msgstr "" + +#: mediagoblin/auth/views.py:340 +msgid "" +"You are no longer an active user. Please contact the system admin to " +"reactivate your accoutn." +msgstr "" + +#: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/user_pages/forms.py:45 msgid "Title" msgstr "" -#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 +#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:31 msgid "Description of this work" msgstr "" -#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 -#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32 -#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:49 +#: mediagoblin/edit/forms.py:31 mediagoblin/edit/forms.py:54 +#: mediagoblin/edit/forms.py:90 mediagoblin/submit/forms.py:32 +#: mediagoblin/submit/forms.py:51 msgid "" "You can use\n" " \n" " Markdown for formatting." msgstr "" -#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 +#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:36 msgid "Tags" msgstr "" -#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 +#: mediagoblin/edit/forms.py:37 mediagoblin/submit/forms.py:38 msgid "Separate tags by commas." msgstr "" -#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90 +#: mediagoblin/edit/forms.py:40 mediagoblin/edit/forms.py:94 msgid "Slug" msgstr "" -#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91 +#: mediagoblin/edit/forms.py:41 mediagoblin/edit/forms.py:95 msgid "The slug can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:40 +#: 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:44 mediagoblin/submit/forms.py:41 +#: mediagoblin/edit/forms.py:46 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" msgstr "" -#: mediagoblin/edit/forms.py:50 +#: mediagoblin/edit/forms.py:52 msgid "Bio" msgstr "" -#: mediagoblin/edit/forms.py:56 +#: mediagoblin/edit/forms.py:58 msgid "Website" msgstr "" -#: mediagoblin/edit/forms.py:58 +#: mediagoblin/edit/forms.py:60 msgid "This address contains errors" msgstr "" -#: mediagoblin/edit/forms.py:63 -msgid "License preference" -msgstr "" - -#: mediagoblin/edit/forms.py:69 -msgid "This will be your default license on upload forms." -msgstr "" - -#: mediagoblin/edit/forms.py:71 +#: mediagoblin/edit/forms.py:65 msgid "Email me when others comment on my media" msgstr "" -#: mediagoblin/edit/forms.py:83 +#: mediagoblin/edit/forms.py:67 +msgid "Enable/Disable insite notifications" +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:87 msgid "The title can't be empty" msgstr "" -#: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50 +#: mediagoblin/edit/forms.py:89 mediagoblin/submit/forms.py:50 #: mediagoblin/user_pages/forms.py:48 msgid "Description of this collection" msgstr "" -#: mediagoblin/edit/forms.py:92 +#: mediagoblin/edit/forms.py:96 msgid "" "The title part of this collection's address. You usually don't need to " "change this." msgstr "" -#: mediagoblin/edit/forms.py:99 +#: mediagoblin/edit/forms.py:103 msgid "Old password" msgstr "" -#: mediagoblin/edit/forms.py:101 +#: mediagoblin/edit/forms.py:105 msgid "Enter your old password to prove you own this account." msgstr "" -#: mediagoblin/edit/forms.py:104 +#: mediagoblin/edit/forms.py:108 msgid "New password" msgstr "" -#: mediagoblin/edit/views.py:67 +#: mediagoblin/edit/forms.py:116 +msgid "New email address" +msgstr "" + +#: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 +#: mediagoblin/plugins/basic_auth/forms.py:43 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:63 +#: mediagoblin/tests/test_util.py:110 +msgid "Password" +msgstr "" + +#: mediagoblin/edit/forms.py:122 +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:85 +#: mediagoblin/edit/views.py:91 msgid "You are editing another user's media. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:155 +#: mediagoblin/edit/views.py:161 #, python-format msgid "You added the attachment %s!" msgstr "" -#: mediagoblin/edit/views.py:182 +#: mediagoblin/edit/views.py:188 msgid "You can only edit your own profile." msgstr "" -#: mediagoblin/edit/views.py:188 +#: mediagoblin/edit/views.py:194 msgid "You are editing a user's profile. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:204 +#: mediagoblin/edit/views.py:210 msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:240 +#: mediagoblin/edit/views.py:247 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:274 +#: mediagoblin/edit/views.py:281 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:310 mediagoblin/submit/views.py:138 -#: mediagoblin/user_pages/views.py:222 +#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:314 +#: mediagoblin/edit/views.py:321 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:329 +#: mediagoblin/edit/views.py:336 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:348 +#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:363 +#: mediagoblin/edit/views.py:374 msgid "Your password was changed successfully" msgstr "" +#: mediagoblin/edit/views.py:417 +msgid "Your email address has been verified." +msgstr "" + #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" msgstr "" @@ -296,19 +326,62 @@ msgid "" "domain." msgstr "" -#: mediagoblin/media_types/__init__.py:111 -#: mediagoblin/media_types/__init__.py:155 +#: 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:136 +#: mediagoblin/media_types/pdf/processing.py:142 msgid "unoconv failing to run, check log file" msgstr "" -#: mediagoblin/media_types/video/processing.py:37 +#: mediagoblin/media_types/video/processing.py:44 msgid "Video transcoding failed" msgstr "" +#: mediagoblin/notifications/tools.py:54 mediagoblin/user_pages/lib.py:58 +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/basic_auth/forms.py:24 +#: mediagoblin/plugins/openid/forms.py:27 +#: mediagoblin/plugins/persona/forms.py:24 +msgid "Username" +msgstr "" + +#: mediagoblin/plugins/basic_auth/forms.py:32 +#: 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/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" msgstr "" @@ -372,7 +445,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:56 +#: mediagoblin/plugins/oauth/views.py:55 msgid "The client {0} has been registered!" msgstr "" @@ -385,59 +458,209 @@ 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:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:68 msgid "Add" msgstr "" -#: mediagoblin/processing/__init__.py:193 +#: 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:96 +#: mediagoblin/templates/mediagoblin/auth/login.html:28 +#: mediagoblin/templates/mediagoblin/auth/login.html:36 +#: mediagoblin/templates/mediagoblin/auth/login.html:58 +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:137 +msgid "The Persona email address was successfully removed." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:143 +msgid "" +"You can't delete your only Persona email address unless you have a password " +"set." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:148 +msgid "That Persona email address is not registered to this account." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:175 +msgid "" +"Sorry, an account is already registered with that Persona email address." +msgstr "" + +#: mediagoblin/plugins/persona/views.py:189 +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:22 +msgid "Edit your Persona email addresses" +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:414 msgid "Invalid file given for media type." msgstr "" +#: mediagoblin/processing/__init__.py:421 +msgid "Copying to public storage failed." +msgstr "" + +#: mediagoblin/processing/__init__.py:429 +msgid "An acceptable processing file was not found" +msgstr "" + #: mediagoblin/submit/forms.py:26 msgid "File" msgstr "" -#: mediagoblin/submit/views.py:49 +#: mediagoblin/submit/views.py:52 msgid "You must provide a file." msgstr "" -#: mediagoblin/submit/views.py:93 +#: mediagoblin/submit/views.py:101 msgid "Woohoo! Submitted!" msgstr "" -#: mediagoblin/submit/views.py:144 +#: mediagoblin/submit/views.py:154 #, python-format msgid "Collection \"%s\" added!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:67 +#: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:68 +#: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:73 -#: mediagoblin/templates/mediagoblin/auth/login.html:28 -#: mediagoblin/templates/mediagoblin/auth/login.html:36 -#: mediagoblin/templates/mediagoblin/auth/login.html:54 -msgid "Log in" -msgstr "" - -#: mediagoblin/templates/mediagoblin/base.html:82 +#: mediagoblin/templates/mediagoblin/base.html:105 #, python-format msgid "%(user_name)s's account" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:89 +#: mediagoblin/templates/mediagoblin/base.html:112 msgid "Change account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:93 -#: mediagoblin/templates/mediagoblin/base.html:108 +#: mediagoblin/templates/mediagoblin/base.html:116 +#: mediagoblin/templates/mediagoblin/base.html:137 #: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 @@ -445,16 +668,16 @@ msgstr "" msgid "Media processing panel" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:96 +#: mediagoblin/templates/mediagoblin/base.html:125 msgid "Log out" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:99 +#: mediagoblin/templates/mediagoblin/base.html:128 #: mediagoblin/templates/mediagoblin/user_pages/user.html:156 msgid "Add media" msgstr "" -#: mediagoblin/templates/mediagoblin/base.html:102 +#: mediagoblin/templates/mediagoblin/base.html:131 #: mediagoblin/templates/mediagoblin/user_pages/collection_list.html:41 msgid "Create new collection" msgstr "" @@ -501,6 +724,59 @@ msgstr "" msgid "No processed entries, yet!" 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/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" @@ -533,19 +809,15 @@ msgid "" "a happy goblin!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:39 -msgid "Logging in failed!" -msgstr "" - #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:45 +#: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/login.html:51 +#: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" msgstr "" @@ -554,7 +826,7 @@ msgstr "" msgid "Create an account!" msgstr "" -#: mediagoblin/templates/mediagoblin/auth/register.html:40 +#: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" msgstr "" @@ -588,7 +860,7 @@ msgstr "" msgid "Explore" msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:22 +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:23 msgid "Hi there, welcome to this MediaGoblin site!" msgstr "" @@ -598,22 +870,27 @@ msgid "" "extraordinarily great piece of media hosting software." msgstr "" -#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:25 +#: 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/templates/mediagoblin/bits/frontpage_welcome.html:27 +#: 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:28 -#, python-format +#: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:35 msgid "" -"Create an account at this site\n" -" or\n" -" Set up MediaGoblin on your own server" +"\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 @@ -628,13 +905,13 @@ msgid "Editing attachments for %(media_title)s" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:44 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:178 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:194 msgid "Attachments" msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:57 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:193 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:200 msgid "Add attachment" msgstr "" @@ -651,22 +928,29 @@ msgstr "" #: mediagoblin/templates/mediagoblin/edit/attachments.html:63 #: mediagoblin/templates/mediagoblin/edit/edit.html:42 -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:55 +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 #: 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/change_email.html:40 +#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 +msgid "Save" +msgstr "" + #: mediagoblin/templates/mediagoblin/edit/change_pass.html:28 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:38 #, python-format msgid "Changing %(username)s's password" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 -msgid "Save" -msgstr "" - #: mediagoblin/templates/mediagoblin/edit/delete_account.html:28 #, python-format msgid "Really delete user '%(user_name)s' and all related media/comments?" @@ -694,12 +978,12 @@ msgstr "" msgid "Changing %(username)s's account settings" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:46 -msgid "Change your password." +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:53 +msgid "Delete my account" msgstr "" -#: mediagoblin/templates/mediagoblin/edit/edit_account.html:62 -msgid "Delete my account" +#: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 +msgid "Email" msgstr "" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 @@ -713,6 +997,36 @@ msgstr "" msgid "Editing %(username)s's profile" 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/user_pages/media.html:139 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:159 +#, 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 @@ -723,8 +1037,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:65 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:67 #: mediagoblin/templates/mediagoblin/media_displays/video.html:55 msgid "Download" msgstr "" @@ -748,7 +1061,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:71 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:73 #: mediagoblin/templates/mediagoblin/media_displays/video.html:61 msgid "Original file" msgstr "" @@ -761,13 +1074,6 @@ msgstr "" msgid "Created" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/image.html:39 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:132 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:152 -#, python-format -msgid "%(formatted_time)s ago" -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 @@ -779,47 +1085,39 @@ msgstr "" msgid "Image for %(media_title)s" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:79 +#: mediagoblin/templates/mediagoblin/media_displays/pdf.html:81 msgid "PDF file" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 -msgid "Toggle Rotate" -msgstr "" - -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:115 msgid "Front" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:118 msgid "Top" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Side" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:126 msgid "WebGL" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:132 msgid "Download model" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:140 msgid "File Format" msgstr "" -#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:142 msgid "Object Height" msgstr "" @@ -838,7 +1136,7 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 -msgid "WebM file (640p; VP8/Vorbis)" +msgid "WebM file (VP8/Vorbis)" msgstr "" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 @@ -865,11 +1163,6 @@ msgstr "" msgid "Edit" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:83 -msgid "Delete" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -924,15 +1217,19 @@ msgstr "" msgid "❖ Browsing media by %(username)s" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:97 msgid "Add a comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:104 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:108 msgid "Add this comment" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:150 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:112 +msgid "Comment Preview" +msgstr "" + +#: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" msgstr "" @@ -1094,26 +1391,34 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:35 +#: mediagoblin/tools/response.py:36 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:36 +#: mediagoblin/tools/response.py:37 msgid "An error occured" msgstr "" #: mediagoblin/tools/response.py:51 +msgid "Bad Request" +msgstr "" + +#: mediagoblin/tools/response.py:53 +msgid "The request sent to the server is invalid, please double check it" +msgstr "" + +#: mediagoblin/tools/response.py:60 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:61 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:60 +#: mediagoblin/tools/response.py:69 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" @@ -1150,9 +1455,8 @@ msgstr "" #: mediagoblin/user_pages/forms.py:25 msgid "" -"You can use Markdown for" -" formatting." +"You can use Markdown for formatting." msgstr "" #: mediagoblin/user_pages/forms.py:31 @@ -1175,77 +1479,80 @@ msgstr "" msgid "Include a note" msgstr "" -#: mediagoblin/user_pages/lib.py:58 -msgid "commented on your post" +#: mediagoblin/user_pages/forms.py:49 +msgid "" +"You can use\n" +" \n" +" Markdown for formatting." msgstr "" -#: mediagoblin/user_pages/views.py:169 +#: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." msgstr "" -#: mediagoblin/user_pages/views.py:174 +#: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." msgstr "" -#: mediagoblin/user_pages/views.py:180 +#: mediagoblin/user_pages/views.py:190 msgid "Your comment has been posted!" msgstr "" -#: mediagoblin/user_pages/views.py:205 +#: mediagoblin/user_pages/views.py:225 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:245 +#: mediagoblin/user_pages/views.py:265 msgid "You have to select or add a collection" msgstr "" -#: mediagoblin/user_pages/views.py:256 +#: mediagoblin/user_pages/views.py:276 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:262 +#: mediagoblin/user_pages/views.py:282 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:282 +#: mediagoblin/user_pages/views.py:302 msgid "You deleted the media." msgstr "" -#: mediagoblin/user_pages/views.py:289 +#: mediagoblin/user_pages/views.py:314 msgid "The media was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:296 +#: mediagoblin/user_pages/views.py:321 msgid "You are about to delete another user's media. Proceed with caution." msgstr "" -#: mediagoblin/user_pages/views.py:370 +#: mediagoblin/user_pages/views.py:395 msgid "You deleted the item from the collection." msgstr "" -#: mediagoblin/user_pages/views.py:374 +#: mediagoblin/user_pages/views.py:399 msgid "The item was not removed because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:382 +#: mediagoblin/user_pages/views.py:407 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "" -#: mediagoblin/user_pages/views.py:415 +#: mediagoblin/user_pages/views.py:440 #, python-format msgid "You deleted the collection \"%s\"" msgstr "" -#: mediagoblin/user_pages/views.py:422 +#: mediagoblin/user_pages/views.py:447 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "" -#: mediagoblin/user_pages/views.py:430 +#: mediagoblin/user_pages/views.py:455 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 aecbd5e027d08972b8aa93fe0873e938d9c5b350..fd9721a8e90bced1957d1f3199336043b3f4759b 100644 GIT binary patch delta 2814 zcmX}tdra0<9LMp42#SCTilPVt3Wj$dRD`0(3nnO~LMkLYd5gsGlBDa8+;3~JCDT}A zS!#}~X|D)6HaX8?F!65~hMhPNZ{Z;P2Sc$BLohVQ z8sUu2F<$?`u~ev|-ariZA{9l}17)^Y~qYz0UVwr6));Y;J8;9|H0jk4FoQRuH8QO~)xDGYpo2Z4n zgHy20#RKz=nM6DXldu%k&+{lur?3w-;FqX@no$cogG$+D=S@_*!H*gfj?ox_3C<~~ zBbtXA=OffYnot|~6-Q$arZK;Xe9T_H4CgA;1eK@(_TX5oa&bK>BgavfwF$MOEBGMZ zN2NS#ITsgKqn@{*#_L4gg+DQZ`Ax_Q+aVe?@pM$fd6h|Q?issq)p z3)8U=wea);+r9wj67NPIet?><9X%C(r=T5mV>I4H)ekMSsg6Mnkb={&1hw!QypBU2 zx2f*NRN}xYjsdH27FMmc8*0MI#BErP!D|?12ZgO`Y^ttdEO9R?RZ&HDA(^OnKI-;w z#$?=&I;kHN55{8j6ZS}^ppJGa>Mf}7D2$*`g&Od6REm$e_#$eh?WhU5 zQD@tWTFB_N_AVsgU}8UN!MUi*ScIc+8;-$h)Pm|=?46{bfiF0(;1J>t)C4!3y%`|um%qy<9jA0U{gO8HIN@Q@hVhCN>G=m z9JTVp&QDM~J&Wph71i%A)Diyc;_*+~g{0zZ)R&<$d>?1(8c$tk&!iMHc;Ml~_!;)^ z1k;KA>um-qF@d-ilkh{-7w#M`$9vBF4ZK0bZ(uyWk6PgO&T}}O`OQxhvN3d{ohSzr ziJ!+zJm|dWjND|;bO~ovSx2V@Q>?xa(aj5=2X9emG9LHoljh<3*oxQ^cU`=!oc!xS zLAkwz#i%ph=zIZndtXJRumN=mTTu(^zzKK<=V1I6`$a57^(#gl)eh7=wWzyt0Cl$- zwvd1A^m8gS!Ou7Y@1P&kp0P(#?mU7@>3J82SGc=@BdM>%QhW)Y#SUlDR-1`doJf5y zYW#R_8y^!2rKr^CCum5Fz85`Ke9d6%nCV|Gon7Zs2;%W@$`B4nVW2lsW z>^$i_g=*J=VVbhl7R)6~<-s-AAmlmQFbpH9k3{V-t}$%nyfFhdl{YS$wmznA?aEh7~=C~rDrzIUR>PYt~Ss-;{SG=cXkK;2c@Zc9RL6T delta 2810 zcmXZdeN5F=9LMp4h>AdpULQ~(&&RkT&0-S;+csj(GP53os>U&llyl*}|Hjd;~8 zyU-rg$-l+n_ya2cZ_Z8}Kzu7mBZ@{up&bz8Om=2qKb}uTO(;e$E=E;oJu2~Qs0DYS zHu64>#Woj*K5EP;;_;Y>6{vZ^bu`A&*oaE_4Jy$g)W(jYN_N(H4K=R!V{96uF%sjP zDX3SJiOTaSY9lSE1N@Fd@CJ@yeG~b(y?hg$b5IKePzl!JFl=z~PEO|-8 zVZ4hfd3KR8D{(IBc`GX4CDdKGf|0CmdKTLW(Wr$}Q3EqE9{t!KD^Vv{fjaSvsBuls zEvUphP~$#FUCvh5-;R0(H&OHAW|N2YjhBWxe5i?8s2vxgPO=>J3O3+Kd>a$+5b9^u zftuHe8F&x1@$?cqel|`dUXAJaF>1Yb465-54V|b92jFc~f7BDU)E-mx*f0vpkX4NuwwwO|Ty8`fZtQqnv_qrTLZ>Q@{}+>I(#|1!IgEL5C> zy8X*=1ipfLW&5xnevR7r5$6ficcIP2H&Em5U=&8o;~46QnP*Qv2DQLs7cWFTUxiB4 zh+5zsRK-5TXly}kuVWU#M63uZ!cKvKvXlt@JNNRroHZ=^Bq+VBbjvX7XSi z`f)$rKM7_K`xn{@1Tdbs2@~-X)EDkJ7U3Od;UZ%mAbu0$@FUa)4?Byur`Sw|AD>584-{-7D-GMzg0uNwNrMN(2 zH}-$p{yx9JMB;W-!jNUQ--GGIIjEmw0Qt$A?Z`iKmH*PPlwD26^{D)WPB1E96C|RKj+v;6tidFF3%PgZAdbdS&)J2GQ6;W-aRY`D z@4^V&jVk#*=YHpRsBwodT-WKaZJ1M-%!Bi8KM9K==e##&5_f+VZQ81zO3d6)92kEx2dXipvE=V2Cjts53%WZ Aod5s; diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po index b3757f2e..4aba553e 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+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" @@ -595,7 +595,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -763,7 +763,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo index 04664c86a6c85bce60be397382b19dd96405b037..0a29257dc57ef765f315f90b42a37cee7409e244 100644 GIT binary patch delta 2818 zcmZwJX-ri|7{>9z3wWu5>@Emcs7ggqFDOVuQ5FTU0^+`*NVV=-T(E^6)QH9=QYD&b zVzhLNVu+EdY3&znu_3Lk>7u4lLySu|s#T-L*3$peIUk!Ce=~E=nRn)$_ngb4PQNFe ze#ch?IX+{|{v2as@oOB2zv6rh%{3+-SK}aTz-T<>dI3H3Z(Ka6_dC`RBJ_xiW^BK_;AlzJ!G z>mjIq0*=NcOvZ9#jpl7+ZRQ8mM&e(w^E=aMq%g1;6?iZ9z(W{}&8XCU;(8Hv-yPI_ zf1(GUVL19trk*eob@nZofG4pxUU9vLNrv#hiN6oyn$t?jD3Sz&=b@`yD*CQCcM<9A_)~>4C=;lsEG>P>q{_< zel==>o#>ATQJH8$-QR+J@B*qhZ=;INOtIHv&`UQHLx^v3X=tJ;sGZM1?Whv_V?8Q$ z@1X*m!NK?w>dd>9*`x9zDK*ikz}c9Hvrsiri$44qwb481DDYhx+QCDNLNnD)9E}?9 zj}tHnhvFKn#e;YmW2W(j-~&v?>C=t*2e)7vZk}OZ%Tt&^{}R51y=IdCO*D4Rv@7<` zvbB(a5sZ(;5S)tI$s$xSZAYc_C~7Bd7>*ZEsqH`=;V-BR-b39N%sZ?5qA(bfW|Myf z8qI);Y$C?vLJY;t7>0XL6TOeh*jdz3op-N)@Ahw@7I@z^YK{$4c0m}iSC3>6>~>#@Y`Uq(&bi8&ZJ-=1|LDwA7K8*0P`JdA9> zF(b{I1;y_j^ZRL(3kG@4%C7=QO|i6*m=CDeiBk|W*B~e+fZ*w z@_WKXZ`(RJ?wb z_PJ10CR0!g%fuAon`|0cxC#~M7$#x|7NP&E#^hrOj>mo2AFtsme2U|6>0(<{&8Q50 zj%9ciC*z1EHq#Dj!~4-0M&mqFrb~@z#-U$e9X*{m9_@zFqeKi zsz!pz`&i7!m#`iq@f^;>%UFY>R S_85$z zbaOiGvc%bPsB`v@7B*Ivt4wR^Sb6E@CAC?W!``3H^Isd|b{`d>d#4dTpB;X<(fLpOUo^U;nLG-U<82*I8cpp9Z2s>d1 zhG0m(wX7CaS) z;+r@UkDwO*8^&W`p)oPoyU?*0{0xLLP=v%W0cXX=Zh=0nMuK(jQg=GmS6pS;|{FFNCvi{c76c$z+vo$r`_vc;z0V>P$~7i zWUoh{`bjtpy*LA)2 zeZON6KEY@-CDapiL!JFm?2E@S4lldj!{-g>?a^e1Ye9T-b|6E(r6!ix%!g}QMRYN7)7`h1L{ zzXCPECJe@Xs7xG0-G3CH#q+4*yooBhr|$Lma$9TJ7)gASOG6V)K<#`IYDd-B3)iDk zcL){WGFCKVlK0`I%VOtS$qQS*<(c&x%WY;HQLo!=)R8LYX5vZA!Mj+9Ln!SuT#mi58FhwjsD)ieRefx={hKfv`7!(WrQ$Vn z?Q>mFnH++_n2jmKH#sy$;6hZOBiIkyu^5Bq88Ze;aV+k}UU(H3;bR<)3+CIRYDQ(~ zW30d{$k*1SzG5@I8nxj)=nSE8j>bWJh$*;xfi0?5RG^!vPiSC`H5vQUpM-n@Od~eo zSD1?Bukr@rTGR*UI)-5PTKj)RFASo;vX=Y@({LCF#dWAN-r{-yRlUbhsc%EQzqe33 ze2j@0U1tNQp#oK-o~uFK*MuJ2i+cVb>S&JFk$+A62?N^c4>$-rkdK)exX{*sgL(AZ zP&E=x-bZ0RzJTj72G8OQyo8OIzL;xx3 z#K$Uh#-+%sYL=lEa1j;o57YvBF1PwoXIg||I39JhlToRkj-7BW>WFHsezVjaSb>^& z73#rvTo0or`~XMbsg|&qtR8_ib6c8cRmJWs^T)I#F8eNE=l1;9gVKllc7~66F2t8T P+?UmoF{UB@fA{?hZ$NkA diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po index 01d5613b..31a46b6d 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 14:18-0500\n" -"PO-Revision-Date: 2013-08-26 19:18+0000\n" +"POT-Creation-Date: 2013-08-26 17:38-0500\n" +"PO-Revision-Date: 2013-08-26 22:39+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" @@ -590,7 +590,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -758,7 +758,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo index bdc5b27530f8743672419326818ee001bde7ff22..29abaf6522eaf7e541e38b5d3d4c7ef31c3d517c 100644 GIT binary patch delta 2818 zcmXxmdrZ}39LMno&_f4NZh{CYA~!EUa6mytNiK?{p<`dCcYVmer`H zxizLaTcv3%BU?1-MwzZ!7mB4@x(r<boc|pfnKU|46ZWAdx`iq%aE{%&aAz9oxoJ2E%PDg?EFEF6Z#IF|gTnuadlcIP2fg43u8&ba<>Tzn0+BR5f(HMoM^!wj5+ z6{s!WiOcaYYQ>(pcE0hbv-e>n`Ar!O4X8#XehiiPNgRngFdUDdR?v=G@fp-}-OdZB ziGOwegSwoN^K5@QrV$sR#;wLs@|$(8V+$(5cGQaYp$a>Ny1n0H68?^(Fk-&_I{8oq zGt7QMxNTi_&#$Y5)K=qel7*?PrScXdQ5~}cz@gkNi z;2nWu9_T+)vk&hOcVaf4UT7Ee7mg#2USv!Y-n)otH1H@LaX8{ZTX{ZetLC8!*^Ii) zTTw^yCXU84?(;uT3;5f`fs5@pFY3Jz?&1v8f^u;%mMmr&>X=W5R=xtY!c8tdg!=p> zYNAh31zkiXyn+#U6LojIRkpAw)bkTD7AsMOH=&MpH|kq()bAen1U2D#)D~TJaZI(X zGzpa;8#U1sR3TM33TyE$+=eQ6H|jDTz!*G%!?6oh&@V3b-=d+3qnFqM5-^xJ9hD&0 zIR)d1i%=8S;ETA?^@l9AN0^GU>7R~;xEHmsbEqxv!Clyk%5bVPdXdbc!j&!DACizV|jj33T zO0*wS@hncl8_vv?Hm*k%auC^l(}B}5{$aZlOPw1~<99kgLfwJeI2wo5vHx26WEzLC z9<_C$tL!b!MIFgP)PM%e!abOPA0S_S^D{Ek`0Duq!~Ix@pQ8%!HrSOHBd-Kg?&8)4 z_TNLt5ju31$53b6;rs!0d#|CkFnG27JOx$QG)%&IH~}}|KzsxHZ#`1`Q CFl*5O delta 2810 zcmXZeeN2{B7{~GRKo9av2tiQr1wjx}M0rF-AVgjiEK|hHKqV+q34962T+Q9JoEc`d zk@ID1EOfR?(?*uKY}%V;+G@?5l(k}(xJu0CA6nM;$2os}&UK#qoO500oco4jeZHf8 zzQaucFKCR}U2M!~{1V4uAJ$-0i7{hvEvDg%I1G$?SlEpI%YOTV;N4tD%4KB;QSEli2E^%0hM!&nNIxdJ$B+_ zsLH>_k$4^>@Ve97YfKDrq(>u?MiT0QNzQy{IY!aH7&V|C({LkdhdNN>-asw*9%kWj z%)md9(=;RI*#eehD)CFGao)Q$Ceb*Fny?==(M?ohzWeOfMLE+@&lTWcEW-#~|*si^)kjKcY-32IOa>_8>{G4^7~ z{l=`r^u+^bYIfpn;*%J}6A##e{=x~wu}gS0v2Y2~Xy5@lM&PIiZRRtZOq>3`sv5*c`UWcl%)y18t-;bas z`V^JWFQ^6kFdA>5?oN2MO)LiW{4|WmN>t*FsH1H|y#)t6_rNEp2`{3y=!%QumfB3m zq87+PO_Ya9qzaR;7Q^uwRKjhj%eV)J;bBa`Q>cV~cCmMph9-_(W)n!nLBtuT1+txa zIFh&sHSu!Xfi12-u-qQuIGjiSEG)$BsKU;ow!8=1@G>&LXIg4(#!sS-pbfR~tEhqd zP?zW(7x$tn=tor=c*rJ{fEqU$b$6z_xCZ%3n|f@=w^2u2T&oYC$LmK!9UYj1XK^O_ z>+HZ%%qHHB+JTd(56VSn$iwz>rsD$o7om1wFW!m$I2!*$B{=#KYbs7+eUm|>0IN|8 z?ZPxXgSmL!nYqHot5Au&hU~sMjzu`4-tNRQXESR2R_8~kJMa&V#bGPie^s7KV=t~k zZQbBi_LgR&j$|=vz-r9GZ8!!$Kwf?G12WVESF`=N3k&gcR081*w&G&slVIk$xTAsn z52Is09XiW{sIxup{0?<{ucEdv>{0uBDk`x8Ou-7AhOOwwH*w(Bqju^PYMoxx{8vzS zE3}dQpFm?sqg@~$RY4W1g6C03@`dwXR7Jri+u!Kyz*zdfMJ~3vjE~`*HO4%FM^Wo! zt+g&i&A-K?(MjVoEWw6##ypM(u@qC*Qys3xB\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW/)\n" "MIME-Version: 1.0\n" @@ -595,7 +595,7 @@ msgid "" msgstr "" #: mediagoblin/plugins/persona/views.py:189 -msgid "Your Person email address was saved successfully." +msgid "Your Persona email address was saved successfully." msgstr "" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 @@ -763,7 +763,7 @@ msgid "Post new media as you" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 -msgid "See your information (e.g profile, meida, etc...)" +msgid "See your information (e.g profile, media, etc...)" msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 From a126ef4d893b9703b46b8a4e2664c5d29097f96f Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Tue, 27 Aug 2013 14:24:24 -0700 Subject: [PATCH 129/160] 0.5.0 release notes --- docs/source/siteadmin/relnotes.rst | 61 ++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst index 72fcb3d4..40e84766 100644 --- a/docs/source/siteadmin/relnotes.rst +++ b/docs/source/siteadmin/relnotes.rst @@ -22,6 +22,67 @@ If you're upgrading from a previous release, please read it carefully, or at least skim over it. +0.5.0 +===== + +**Do this to upgrade** + +1. Make sure to run + ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` + after upgrading. + +.. mention something about new, experimental configure && make support + +2. Note that a couple of things have changed with ``mediagoblin.ini``. First + we have a new Authentication System. You need to add + ``[[mediagoblin.plugins.basic_auth]]`` under the ``[plugins]`` section of + your config file. Second, media types are now plugins, so you need to add + each media type under the ``[plugins]`` section of your config file. + + +3. We have made a script to transition your ``mediagoblin_local.ini`` file for + you. This script can be found at + +.. add a link to the script + +If you run into problems, don't hesitate to +`contact us `_ +(IRC is often best). + +**New features** + +* As mentioned above, we now have a plugable Authentication system. You can + use any combination of the multiple authentication systems + (:ref:`basic_auth-chapter`, :ref:`persona-chapter`, :ref:`openid-chapter`) + or write your own! +* Media types are now plugins! This means that new media types will + be able to do new, fancy things they couldn't in the future. +* We now have notification support! This allows you to subscribe to media + comments and to be notified when someone comments on your media. +* New reprocessing framework! You can now reprocess failed uploads, and + send already processed media back to processing to re-transcode or resize + media. +* Comment preview! +* Users now have the ability to change their email associated with their + account. +* New oauth code as we move closer to federation support. +* Experimental pyconfigure support for GNU-style configue and makefile + deployment. +* Database foundations! You can now pre-populate the database models. +* Way faster unit test run-time via in-memory database. +* All mongokit stuff has been cleaned up. +* Fixes for non-ascii filenames. +* The option to stay logged in. +* Mediagoblin has been upgraded to use the latest `celery `_ + version. +* You can now add jinja2 extensions to your config file to use in custom + templates. +* Fixed video permission issues. +* Mediagoblin docs are now hosted with multiple versions. +* We removed redundent tooltips from the STL media display. +* We are now using itsdangerous for verification tokens. + + 0.4.1 ===== From 7904402750df610102bc487dab4b4a3e01e15b91 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 28 Aug 2013 09:15:16 -0500 Subject: [PATCH 130/160] Should fix Beuc's bug with video thumbnail width... I think! --- 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 ed224251..506c7501 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -223,7 +223,7 @@ class CommonVideoProcessor(MediaProcessor): '{basename}.thumbnail.jpg')) if not thumb_size: - thumb_size = (mgg.global_config['media:thumb']['max_width']) + thumb_size = (mgg.global_config['media:thumb']['max_width'],) # We will only use the width so that the correct scale is kept transcoders.VideoThumbnailerMarkII( From 9dfca6b3ce3b38419c5be27e197f8afd9b05a0b1 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 28 Aug 2013 11:06:07 -0500 Subject: [PATCH 131/160] double colon here was killing the build --- docs/source/api/client_register.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/api/client_register.rst b/docs/source/api/client_register.rst index 4ad7908e..08f92c47 100644 --- a/docs/source/api/client_register.rst +++ b/docs/source/api/client_register.rst @@ -49,7 +49,7 @@ redirect_uri Response -------- -You will get back a response:: +You will get back a response: client_id This identifies a client From b33feb18a77fcd9ff5b9c0cdb9ed6d81c467e759 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 28 Aug 2013 11:11:41 -0500 Subject: [PATCH 132/160] Fix failing to build docs --- docs/Makefile | 2 +- docs/source/index.rst | 1 - docs/source/siteadmin/relnotes.rst | 1 + mediagoblin/tools/staticdirect.py | 26 ++++++++++++++------------ 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/docs/Makefile b/docs/Makefile index 4461893f..0b97bf7c 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -2,7 +2,7 @@ # # You can set these variables from the command line. -SPHINXOPTS = -W +SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = build diff --git a/docs/source/index.rst b/docs/source/index.rst index 777c4d26..e7fda4ad 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -56,7 +56,6 @@ Part 2: Core plugin documentation plugindocs/flatpagesfile plugindocs/sampleplugin - plugindocs/oauth plugindocs/trim_whitespace plugindocs/raven plugindocs/basic_auth diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst index 40e84766..e7bf003a 100644 --- a/docs/source/siteadmin/relnotes.rst +++ b/docs/source/siteadmin/relnotes.rst @@ -141,6 +141,7 @@ please note the following: **New features** + * PDF media type! * Improved plugin system. More flexible, better documented, with a new plugin authoring section of the docs. diff --git a/mediagoblin/tools/staticdirect.py b/mediagoblin/tools/staticdirect.py index ef8b20d0..8381b8b6 100644 --- a/mediagoblin/tools/staticdirect.py +++ b/mediagoblin/tools/staticdirect.py @@ -35,7 +35,8 @@ class StaticDirect(object): staticdirect to. In general, you should supply a None domain, as that's the "default" domain. - Things work like this: + Things work like this:: + >>> staticdirect = StaticDirect( ... {None: "/static/", ... "theme": "http://example.org/themestatic/"}) @@ -69,17 +70,18 @@ class PluginStatic(object): This has two mandatory attributes that you must pass in on class init: - - name: this name will be both used for lookup in "urlgen" for - your plugin's static resources and for the subdirectory that - it'll be "mounted" to for serving via your web browser. It - *MUST* be unique. If writing a plugin bundled with MediaGoblin - please use the pattern 'coreplugin__foo' where 'foo' is your - plugin name. All external plugins should use their modulename, - so if your plugin is 'mg_bettertags' you should also call this - name 'mg_bettertags'. - - file_path: the directory your plugin's static resources are - located in. It's recommended that you use - pkg_resources.resource_filename() for this. + + - *name:* this name will be both used for lookup in "urlgen" for + your plugin's static resources and for the subdirectory that + it'll be "mounted" to for serving via your web browser. It + *MUST* be unique. If writing a plugin bundled with MediaGoblin + please use the pattern 'coreplugin__foo' where 'foo' is your + plugin name. All external plugins should use their modulename, + so if your plugin is 'mg_bettertags' you should also call this + name 'mg_bettertags'. + - *file_path:* the directory your plugin's static resources are + located in. It's recommended that you use + pkg_resources.resource_filename() for this. An example of using this:: From 6a01fafc9828023b449df004d30580a341fd6279 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 29 Aug 2013 09:36:34 -0500 Subject: [PATCH 133/160] Explicitly require a newer celery --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 66f21b0c..4856824a 100644 --- a/setup.py +++ b/setup.py @@ -48,7 +48,7 @@ setup( 'pytest>=2.3.1', 'pytest-xdist', 'werkzeug>=0.7', - 'celery', + 'celery>=3.0', 'kombu', 'jinja2', 'sphinx', From 93874d0a662fc3abd73c56ad3939a13f3d372493 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 28 Aug 2013 07:56:44 -0700 Subject: [PATCH 134/160] image media_type now have their own config_spec.ini --- mediagoblin/config_spec.ini | 6 ------ mediagoblin/media_types/image/config_spec.ini | 7 +++++++ mediagoblin/media_types/image/processing.py | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) create mode 100644 mediagoblin/media_types/image/config_spec.ini diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini index 8f03509d..790c31a5 100644 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@ -104,12 +104,6 @@ max_height = integer(default=640) max_width = integer(default=180) max_height = integer(default=180) -[media_type:mediagoblin.media_types.image] -# One of BICUBIC, BILINEAR, NEAREST, ANTIALIAS -resize_filter = string(default="ANTIALIAS") -#level of compression used when resizing images -quality = integer(default=90) - [media_type:mediagoblin.media_types.video] # Should we keep the original file? keep_original = boolean(default=False) diff --git a/mediagoblin/media_types/image/config_spec.ini b/mediagoblin/media_types/image/config_spec.ini new file mode 100644 index 00000000..08111df2 --- /dev/null +++ b/mediagoblin/media_types/image/config_spec.ini @@ -0,0 +1,7 @@ +[plugin_spec] +# One of BICUBIC, BILINEAR, NEAREST, ANTIALIAS +resize_filter = string(default="ANTIALIAS") +#level of compression used when resizing images +quality = integer(default=90) + + diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 088979bc..555a0e0a 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -138,8 +138,8 @@ class CommonImageProcessor(MediaProcessor): """ Set up the workbench directory and pull down the original file """ - self.image_config = mgg.global_config[ - 'media_type:mediagoblin.media_types.image'] + self.image_config = mgg.global_config['plugins'][ + 'mediagoblin.media_types.image'] ## @@: Should this be two functions? # Conversions subdirectory to avoid collisions From 9a6741d7bfa091ebbebfc5f657dca2e8995f814a Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Wed, 28 Aug 2013 08:10:47 -0700 Subject: [PATCH 135/160] video media_type now have their own config_spec.ini --- mediagoblin/config_spec.ini | 21 ------------------ mediagoblin/media_types/video/config_spec.ini | 22 +++++++++++++++++++ mediagoblin/media_types/video/processing.py | 2 +- mediagoblin/media_types/video/util.py | 2 +- .../mediagoblin/media_displays/video.html | 2 +- 5 files changed, 25 insertions(+), 24 deletions(-) create mode 100644 mediagoblin/media_types/video/config_spec.ini diff --git a/mediagoblin/config_spec.ini b/mediagoblin/config_spec.ini index 790c31a5..eb00b07c 100644 --- a/mediagoblin/config_spec.ini +++ b/mediagoblin/config_spec.ini @@ -104,27 +104,6 @@ max_height = integer(default=640) max_width = integer(default=180) max_height = integer(default=180) -[media_type:mediagoblin.media_types.video] -# Should we keep the original file? -keep_original = boolean(default=False) - -# 0 means autodetect, autodetect means number_of_CPUs - 1 -vp8_threads = integer(default=0) -# Range: 0..10 -vp8_quality = integer(default=8) -# Range: -0.1..1 -vorbis_quality = float(default=0.3) - -# Autoplay the video when page is loaded? -auto_play = boolean(default=False) - -[[skip_transcode]] -mime_types = string_list(default=list("video/webm")) -container_formats = string_list(default=list("Matroska")) -video_codecs = string_list(default=list("VP8 video")) -audio_codecs = string_list(default=list("Vorbis")) -dimensions_match = boolean(default=True) - [media_type:mediagoblin.media_types.audio] keep_original = boolean(default=True) # vorbisenc quality diff --git a/mediagoblin/media_types/video/config_spec.ini b/mediagoblin/media_types/video/config_spec.ini new file mode 100644 index 00000000..98714f56 --- /dev/null +++ b/mediagoblin/media_types/video/config_spec.ini @@ -0,0 +1,22 @@ +[plugin_spec] +# Should we keep the original file? +keep_original = boolean(default=False) + +# 0 means autodetect, autodetect means number_of_CPUs - 1 +vp8_threads = integer(default=0) +# Range: 0..10 +vp8_quality = integer(default=8) +# Range: -0.1..1 +vorbis_quality = float(default=0.3) + +# Autoplay the video when page is loaded? +auto_play = boolean(default=False) + +[[skip_transcode]] +mime_types = string_list(default=list("video/webm")) +container_formats = string_list(default=list("Matroska")) +video_codecs = string_list(default=list("VP8 video")) +audio_codecs = string_list(default=list("Vorbis")) +dimensions_match = boolean(default=True) + + diff --git a/mediagoblin/media_types/video/processing.py b/mediagoblin/media_types/video/processing.py index 506c7501..4d1d5ea2 100644 --- a/mediagoblin/media_types/video/processing.py +++ b/mediagoblin/media_types/video/processing.py @@ -126,7 +126,7 @@ class CommonVideoProcessor(MediaProcessor): def common_setup(self): self.video_config = mgg \ - .global_config['media_type:mediagoblin.media_types.video'] + .global_config['plugins'][MEDIA_TYPE] # Pull down and set up the processing file self.process_filename = get_process_filename( diff --git a/mediagoblin/media_types/video/util.py b/mediagoblin/media_types/video/util.py index c33cce5a..beb10129 100644 --- a/mediagoblin/media_types/video/util.py +++ b/mediagoblin/media_types/video/util.py @@ -27,7 +27,7 @@ def skip_transcode(metadata, size): Returns True if the video matches the requirements in the configuration. ''' - config = mgg.global_config['media_type:mediagoblin.media_types.video']\ + config = mgg.global_config['plugins']['mediagoblin.media_types.video']\ ['skip_transcode'] medium_config = mgg.global_config['media:medium'] diff --git a/mediagoblin/templates/mediagoblin/media_displays/video.html b/mediagoblin/templates/mediagoblin/media_displays/video.html index 5c52f9f0..e35169bf 100644 --- a/mediagoblin/templates/mediagoblin/media_displays/video.html +++ b/mediagoblin/templates/mediagoblin/media_displays/video.html @@ -30,7 +30,7 @@ {% set display_type, display_path = media.get_display_media() %}

      Si #: mediagoblin/tools/timesince.py:62 msgid "year" -msgstr "" +msgstr "année" #: mediagoblin/tools/timesince.py:63 msgid "month" -msgstr "" +msgstr "mois" #: mediagoblin/tools/timesince.py:64 msgid "week" -msgstr "" +msgstr "semaine" #: mediagoblin/tools/timesince.py:65 msgid "day" -msgstr "" +msgstr "jour" #: mediagoblin/tools/timesince.py:66 msgid "hour" -msgstr "" +msgstr "heure" #: mediagoblin/tools/timesince.py:67 msgid "minute" -msgstr "" +msgstr "minute" #: mediagoblin/user_pages/forms.py:23 msgid "Comment" -msgstr "" +msgstr "Commenter" #: mediagoblin/user_pages/forms.py:25 msgid "" "You can use Markdown for formatting." -msgstr "" +msgstr "Vous pouvez utiliser Markdown pour le formatage." #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1479,7 +1480,7 @@ msgstr "Je suis certain de vouloir retirer cet élément de la collection" #: mediagoblin/user_pages/forms.py:39 msgid "Collection" -msgstr "" +msgstr "Collection" #: mediagoblin/user_pages/forms.py:40 msgid "-- Select --" @@ -1494,11 +1495,11 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Vous pouvez utiliser\n\nMarkdown pour le formatage." #: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." -msgstr "" +msgstr "Désolé, les commentaires sont désactivés." #: mediagoblin/user_pages/views.py:184 msgid "Oops, your comment was empty." diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po index 1c9afa26..93999287 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: http://issues.mediagoblin.org/\n" "POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2013-08-30 10:57+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" @@ -23,12 +23,12 @@ msgstr "" #: mediagoblin/decorators.py:252 msgid "Sorry, registration is disabled on this instance." -msgstr "צר לי, רישום הינו מנוטרל על שרת זה." +msgstr "לצערנו, רישום הינו מנוטרל על שרת זה." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 #: mediagoblin/plugins/persona/views.py:76 msgid "Sorry, authentication is disabled on this instance." -msgstr "" +msgstr "לצערנו, אימות הינו מנוטרל על שרת זה." #: mediagoblin/auth/forms.py:25 msgid "Username or email" @@ -48,16 +48,16 @@ msgstr "שדה זה מצריך כתובת דוא״ל." #: mediagoblin/auth/tools.py:146 msgid "Sorry, a user with that name already exists." -msgstr "צר לי, משתמש עם שם זה כבר קיים." +msgstr "לצערנו, משתמש עם שם זה כבר קיים." #: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 msgid "Sorry, a user with that email address already exists." -msgstr "צר לי, משתמש עם דוא״ל זה כבר קיים." +msgstr "לצערנו, משתמש עם דוא״ל זה כבר קיים." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 #: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "מפתח האימות או מזהה המשתמש אינו מדויק." #: mediagoblin/auth/views.py:161 msgid "" @@ -104,7 +104,7 @@ msgstr "לא היה ניתן לשלוח דוא״ל לשחזור סיסמה מא #: mediagoblin/auth/views.py:306 msgid "The user id is incorrect." -msgstr "" +msgstr "מזהה המשתמש אינו מדויק." #: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." @@ -112,7 +112,7 @@ msgstr "כעת ביכולתך להתחבר באמצעות סיסמתך החדש #: mediagoblin/auth/views.py:334 msgid "You need to verify your email before you can reset your password." -msgstr "" +msgstr "עליך לאמת את הדואל שלך טרם איפוס סיסמתך." #: mediagoblin/auth/views.py:340 msgid "" @@ -223,7 +223,7 @@ msgstr "סיסמה חדשה" #: mediagoblin/edit/forms.py:116 msgid "New email address" -msgstr "" +msgstr "כתובת דוא״ל חדשה" #: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -293,7 +293,7 @@ msgstr "סיסמתך שונתה בהצלחה" #: mediagoblin/edit/views.py:417 msgid "Your email address has been verified." -msgstr "" +msgstr "כתובת הדוא״ל שלך אומתה." #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" @@ -332,7 +332,7 @@ msgstr "עוגיית CSRF לא נוכחת. זה קרוב לוודאי נובע #: 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" @@ -349,7 +349,7 @@ msgstr "הגיב/ה על פרסומך" #: mediagoblin/notifications/views.py:35 #, python-format msgid "Subscribed to comments on %s!" -msgstr "" +msgstr "הירשם אל תגובות בתוך %s!" #: mediagoblin/notifications/views.py:48 #, python-format @@ -383,7 +383,7 @@ msgstr "שם משתמש או דוא״ל" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "הישאר מחובר" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" @@ -472,7 +472,7 @@ msgstr "הוסף" #: 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" @@ -480,12 +480,12 @@ msgstr "" #: 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 @@ -519,13 +519,13 @@ msgstr "" #: 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 @@ -555,23 +555,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:137 msgid "The Persona email address was successfully removed." @@ -590,7 +590,7 @@ msgstr "" #: mediagoblin/plugins/persona/views.py:175 msgid "" "Sorry, an account is already registered with that Persona email address." -msgstr "" +msgstr "לצערנו, קיים כבר חשבון אשר רשום עם אישיות כתובת דוא״ל זו." #: mediagoblin/plugins/persona/views.py:189 msgid "Your Persona email address was saved successfully." @@ -1054,7 +1054,7 @@ msgid "" "Sorry, this audio will not work because \n" "\tyour web browser does not support HTML5 \n" "\taudio." -msgstr "צר לי, אודיו זה לא יעבוד מכיוון \n\tשדפדפן הרשת שלך לא תומך \n\tאודיו של HTML5." +msgstr "לצערנו, אודיו זה לא יעבוד מכיוון \n\tשדפדפן הרשת שלך לא תומך \n\tאודיו של HTML5." #: mediagoblin/templates/mediagoblin/media_displays/audio.html:47 msgid "" @@ -1129,7 +1129,7 @@ msgid "" "Sorry, this video will not work because\n" " your web browser does not support HTML5 \n" " video." -msgstr "צר לי, וידאו זה לא יעבוד מכיוון \n שדפדפן הרשת שלך לא תומך \n וידאו של HTML5." +msgstr "לצערנו, וידאו זה לא יעבוד מכיוון \n שדפדפן הרשת שלך לא תומך \n וידאו של HTML5." #: mediagoblin/templates/mediagoblin/media_displays/video.html:47 msgid "" @@ -1267,7 +1267,7 @@ msgstr "הדיוקן של %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/user.html:43 msgid "Sorry, no such user found." -msgstr "צר לי, משתמש נתון לא נמצא." +msgstr "לצערנו, משתמש נתון לא נמצא." #: mediagoblin/templates/mediagoblin/user_pages/user.html:50 #: mediagoblin/templates/mediagoblin/user_pages/user.html:70 @@ -1419,14 +1419,14 @@ 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:69 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 "לא נראה כי קיים עמוד בכתובת זו. צר לי!

      אם אתה בטוח שהכתובת הינה מדויקת, ייתכן שהעמוד שאתה מחפש כעת הועבר או נמחק." #: mediagoblin/tools/timesince.py:62 msgid "year" diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po index 0cba797c..b47d756d 100644 --- a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2013-09-04 20:53+0000\n" +"Last-Translator: tryggvib \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" @@ -29,7 +29,7 @@ msgstr "Því miður er nýskráning ekki leyfð á þessu svæði." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 #: mediagoblin/plugins/persona/views.py:76 msgid "Sorry, authentication is disabled on this instance." -msgstr "" +msgstr "Því miður er auðkenning ekki möguleg á þessu vefsvæði." #: mediagoblin/auth/forms.py:25 msgid "Username or email" @@ -58,7 +58,7 @@ msgstr "Því miður þá er annar notandi í kerfinu með þetta netfang skrá #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 #: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "Staðfestingarlykillinn eða notendaauðkennið er rangt." #: mediagoblin/auth/views.py:161 msgid "" @@ -105,7 +105,7 @@ msgstr "Gat ekki sent tölvupóst um endurstillingu lykilorðs því notandanafn #: mediagoblin/auth/views.py:306 msgid "The user id is incorrect." -msgstr "" +msgstr "Notendaauðkennið er rangt." #: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." @@ -113,13 +113,13 @@ msgstr "Þú getur núna innskráð þig með nýja lykilorðinu þínu." #: mediagoblin/auth/views.py:334 msgid "You need to verify your email before you can reset your password." -msgstr "" +msgstr "Þú verður að staðfesta netfangið þitt áður en þú getur endurstillt lykilorðið þitt." #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your accoutn." -msgstr "" +msgstr "Þú ert ekki lengur virkur notandi. Vinsamlegast hafðu samband við kerfisstjóra til að endurvirkja aðganginn þinn." #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -185,7 +185,7 @@ msgstr "Senda mér tölvupóst þegar einhver bætir athugasemd við efnið mitt #: mediagoblin/edit/forms.py:67 msgid "Enable/Disable insite notifications" -msgstr "" +msgstr "Virkja/Afvirkja innri tilkynningar" #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -224,7 +224,7 @@ msgstr "Nýtt lykilorð" #: mediagoblin/edit/forms.py:116 msgid "New email address" -msgstr "" +msgstr "Nýtt netfang" #: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -235,7 +235,7 @@ msgstr "Lykilorð" #: mediagoblin/edit/forms.py:122 msgid "Enter your password to prove you own this account." -msgstr "" +msgstr "Sláðu inn lykilorðið þitt til að sanna að þú eigir þennan aðgang." #: mediagoblin/edit/views.py:73 msgid "An entry with that slug already exists for this user." @@ -294,7 +294,7 @@ msgstr "Það tókst að breyta lykilorðinu þínu" #: mediagoblin/edit/views.py:417 msgid "Your email address has been verified." -msgstr "" +msgstr "Netfangið þitt hefur verið staðfest." #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" @@ -350,20 +350,20 @@ msgstr "skrifaði athugasemd við færsluna þína" #: mediagoblin/notifications/views.py:35 #, python-format msgid "Subscribed to comments on %s!" -msgstr "" +msgstr "Þú ert nú áskrifandi að athugasemdum „%s“!" #: mediagoblin/notifications/views.py:48 #, python-format msgid "You will not receive notifications for comments on %s." -msgstr "" +msgstr "Þú færð tilkynningar þegar einhver skrifar athugasemd við „%s“." #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." -msgstr "" +msgstr "Þú verður að gefa upp OAuth tóka (oauth_token)." #: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 msgid "No request token found." -msgstr "" +msgstr "Engin beiðni fannst." #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/openid/forms.py:27 @@ -384,7 +384,7 @@ msgstr "Notandanafn eða tölvupóstur" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "Muna eftir mér" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" @@ -473,60 +473,60 @@ msgstr "Bæta við" #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 msgid "Sorry, an account is already registered to that OpenID." -msgstr "" +msgstr "Því miður er annar aðgangur nú þegar skráður fyrir þetta OpenID auðkenni." #: mediagoblin/plugins/openid/forms.py:38 msgid "OpenID" -msgstr "" +msgstr "OpenID auðkenni" #: mediagoblin/plugins/openid/views.py:48 msgid "Sorry, the OpenID server could not be found" -msgstr "" +msgstr "Því miður fannst OpenID netþjónninn ekki" #: mediagoblin/plugins/openid/views.py:61 #, python-format msgid "No OpenID service was found for %s" -msgstr "" +msgstr "Engin OpenID þjónusta fannst fyrir „%s“" #: mediagoblin/plugins/openid/views.py:106 #, python-format msgid "Verification of %s failed: %s" -msgstr "" +msgstr "Staðfesting á „%s“ mistóksts: „%s“" #: mediagoblin/plugins/openid/views.py:117 msgid "Verification cancelled" -msgstr "" +msgstr "Hætt við staðfestingu" #: mediagoblin/plugins/openid/views.py:314 msgid "Your OpenID url was saved successfully." -msgstr "" +msgstr "Það tókst að vista OpenID vefslóðina þína." #: 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 "Þú getur ekki eytt einu OpenID vefslóðinni nema þú hafir skráð lykilorð" #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 msgid "That OpenID is not registered to this account." -msgstr "" +msgstr "Þetta OpenID auðkenni er ekki skráð á þennan aðgang." #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "" +msgstr "Það tókst að fjarlægja OpenID auðkennið." #: 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 "Bæta við OpenID auðkenni" #: 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 "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 @@ -537,7 +537,7 @@ msgstr "Eyða" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" -msgstr "" +msgstr "OpenID auðkenni" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 @@ -556,66 +556,66 @@ msgstr "Mistókst að skrá þig inn." #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "Skráðu þig inn til að búa til nýjan aðgang!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "...eða skráðu þig inn með lykilorði!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "" +msgstr "...eða skráðu þig inn með OpenID auðkenni!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" -msgstr "" +msgstr "...eða nýskráðu þig með OpenID auðkenni!" #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "" +msgstr "Því miður er annar aðgangur nú þegar skráður fyrir þetta „Persona“ netfang." #: mediagoblin/plugins/persona/views.py:137 msgid "The Persona email address was successfully removed." -msgstr "" +msgstr "Það tókst að fjarlægja „Persona“ netfangið." #: mediagoblin/plugins/persona/views.py:143 msgid "" "You can't delete your only Persona email address unless you have a password " "set." -msgstr "" +msgstr "Þú getur ekki eytt eina „Persona“ netfanginu þínu nema þú hafir skráð lykilorð." #: mediagoblin/plugins/persona/views.py:148 msgid "That Persona email address is not registered to this account." -msgstr "" +msgstr "Þetta „Persona“ netfang er ekki skráð fyrir þennan aðgang." #: mediagoblin/plugins/persona/views.py:175 msgid "" "Sorry, an account is already registered with that Persona email address." -msgstr "" +msgstr "Því miður er annar aðgangur nú þegar skráður fyrir þetta „Persona“ netfang." #: mediagoblin/plugins/persona/views.py:189 msgid "Your Persona email address was saved successfully." -msgstr "" +msgstr "Það tókst að vista „Persona“ netfangið þitt." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 msgid "Delete a Persona email address" -msgstr "" +msgstr "Eyða „Persona“ netfangi" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 msgid "Add a Persona email address" -msgstr "" +msgstr "Bæta við „Persona“ netfangi" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:22 msgid "Edit your Persona email addresses" -msgstr "" +msgstr "Breyta „Persona“ netföngunum þínum" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" -msgstr "" +msgstr "...eða skráðu þig inn með „Persona“!" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 msgid "Or register with Persona!" -msgstr "" +msgstr "...eða nýskráðu þig með „Persona“!" #: mediagoblin/processing/__init__.py:414 msgid "Invalid file given for media type." @@ -623,11 +623,11 @@ msgstr "Ógild skrá gefin fyrir þessa margmiðlunartegund." #: mediagoblin/processing/__init__.py:421 msgid "Copying to public storage failed." -msgstr "" +msgstr "Það tókst ekki að afrita yfir í almennu geymsluna." #: mediagoblin/processing/__init__.py:429 msgid "An acceptable processing file was not found" -msgstr "" +msgstr "Nothæf keyrsluskrá fannst ekki" #: mediagoblin/submit/forms.py:26 msgid "File" @@ -730,56 +730,56 @@ msgstr "Ekkert fullunnið efni enn!" #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" -msgstr "" +msgstr "Heimilun" #: mediagoblin/templates/mediagoblin/api/authorize.html:26 #: mediagoblin/templates/mediagoblin/api/authorize.html:53 msgid "Authorize" -msgstr "" +msgstr "Heimila" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "" +msgstr "Þú ert" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " -msgstr "" +msgstr "Viltu heimila" #: mediagoblin/templates/mediagoblin/api/authorize.html:37 msgid "an unknown application" -msgstr "" +msgstr "óþekktu forriti" #: mediagoblin/templates/mediagoblin/api/authorize.html:39 msgid " to access your account? " -msgstr "" +msgstr "að fá aðgang að aðganginum þínum?" #: mediagoblin/templates/mediagoblin/api/authorize.html:41 msgid "Applications with access to your account can: " -msgstr "" +msgstr "Forrit með aðgang að notendaaðganginum þínum geta:" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" -msgstr "" +msgstr "Sent inn nýtt margmiðlunarefni sem þú" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, media, etc...)" -msgstr "" +msgstr "Skoða upplýsingarnar þínar (t.d. kenniskrá, margmiðlunarefni o.s.frv.)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" -msgstr "" +msgstr "Breytt upplýsingunum þínum" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "" +msgstr "Heimilun lokið" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "" +msgstr "Heimild klár" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "" +msgstr "Afritaðu og límdu þetta í forritið þitt:" #: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 @@ -889,13 +889,13 @@ msgid "" "\n" " >Create an account at this site\n" " or" -msgstr "" +msgstr "\n>Búa til aðgang á þessari síðu\neða" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 msgid "" "\n" " Set up MediaGoblin on your own server" -msgstr "" +msgstr "\n settu upp þinn eigin margmiðlunarþjón" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -942,7 +942,7 @@ msgstr "Vista breytingar" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "" +msgstr "Breyti netfangi fyrir notandann: %(username)s" #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 @@ -988,7 +988,7 @@ msgstr "Eyða aðganginum mínum" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 msgid "Email" -msgstr "" +msgstr "Netfang" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format @@ -1013,11 +1013,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\nVið vildum staðfesta að þú værir notandinn „%(username)s“. Ef það er rétt,\nvinsamlegast smelltu á tengilinn hér fyrir neðan til að staðfesta nýja netfangið þitt.\n\n%(verification_url)s\n\nEf þú ert ekki „%(username)s“ or baðst ekki um að breytan netfanginu getur þú hunsað\nþennan tölvupóst." #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" -msgstr "" +msgstr "Nýjar athugasemdir" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 @@ -1029,7 +1029,7 @@ msgstr "Fyrir %(formatted_time)s" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 msgid "Mark all read" -msgstr "" +msgstr "Merkja allt lesið" #: mediagoblin/templates/mediagoblin/listings/collection.html:30 #: mediagoblin/templates/mediagoblin/listings/collection.html:35 @@ -1141,7 +1141,7 @@ msgstr "Þú getur náð í nýlegan vafra sem \n sem getur spilað myndske #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "WebM skrá (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -1231,7 +1231,7 @@ msgstr "Senda inn þessa athugasemd" #: mediagoblin/templates/mediagoblin/user_pages/media.html:112 msgid "Comment Preview" -msgstr "" +msgstr "Útlit athugasemdar" #: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" @@ -1405,11 +1405,11 @@ msgstr "Villa kom upp" #: mediagoblin/tools/response.py:51 msgid "Bad Request" -msgstr "" +msgstr "Ekki nógu góð beiðni" #: mediagoblin/tools/response.py:53 msgid "The request sent to the server is invalid, please double check it" -msgstr "" +msgstr "Beiðnin sem var send til netþjónsins er ógild, vinsamlegast athugaðu hana aftur" #: mediagoblin/tools/response.py:60 msgid "Operation not allowed" @@ -1461,7 +1461,7 @@ msgstr "Athugasemd" msgid "" "You can use Markdown for formatting." -msgstr "" +msgstr "Þú getur notað Markdown til að stílgera textann." #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1488,7 +1488,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Þú getur notað\n \n Markdown til að stílgera textann." #: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po index 21a7433c..5dbc12e3 100644 --- a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2013-08-28 15:34+0000\n" +"Last-Translator: velmont \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" @@ -27,7 +27,7 @@ msgstr "Registrering er slege av. Orsak." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 #: mediagoblin/plugins/persona/views.py:76 msgid "Sorry, authentication is disabled on this instance." -msgstr "" +msgstr "Autentisering er slege av. Orsak." #: mediagoblin/auth/forms.py:25 msgid "Username or email" @@ -56,7 +56,7 @@ msgstr "Ein brukar med den epostadressa finst allereie." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 #: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "Stadfestingsnykelen eller brukar-ID-en din er feil." #: mediagoblin/auth/views.py:161 msgid "" @@ -78,7 +78,7 @@ msgstr "Du har allereie verifisiert epostadressa." #: mediagoblin/auth/views.py:203 msgid "Resent your verification email." -msgstr "Send ein ny stadfestingsepost." +msgstr "Stadfestingsepost sendt." #: mediagoblin/auth/views.py:237 msgid "" @@ -99,11 +99,11 @@ msgstr "Sender epost med instruksjonar for å endra passordet ditt." msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." -msgstr "Kunne ikkje senda epost. Brukarnamnet ditt er inaktivt eller uverifisert." +msgstr "Kunne ikkje senda epost. Brukarnamnet ditt er inaktivt eller ikkje stadfesta." #: mediagoblin/auth/views.py:306 msgid "The user id is incorrect." -msgstr "" +msgstr "Brukar-ID-en er feil." #: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." @@ -111,13 +111,13 @@ msgstr "Du kan no logga inn med det nye passordet ditt." #: mediagoblin/auth/views.py:334 msgid "You need to verify your email before you can reset your password." -msgstr "" +msgstr "Du må bekrefta eposten din før du kan tilbakestilla passordet ditt." #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your accoutn." -msgstr "" +msgstr "Brukaren er ikkje aktiv. Kontakt administrator for å aktivera kontoen din att." #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -183,7 +183,7 @@ msgstr "Send meg epost når andre kjem med innspel på verka mine." #: mediagoblin/edit/forms.py:67 msgid "Enable/Disable insite notifications" -msgstr "" +msgstr "Slå av/på notifikasjonar på netsida" #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -222,7 +222,7 @@ msgstr "Nytt passord" #: mediagoblin/edit/forms.py:116 msgid "New email address" -msgstr "" +msgstr "Ny epostadresse" #: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -233,7 +233,7 @@ msgstr "Passord" #: mediagoblin/edit/forms.py:122 msgid "Enter your password to prove you own this account." -msgstr "" +msgstr "Skriv inn passordet som prov på at dette er din konto." #: mediagoblin/edit/views.py:73 msgid "An entry with that slug already exists for this user." @@ -292,7 +292,7 @@ msgstr "Endra passord" #: mediagoblin/edit/views.py:417 msgid "Your email address has been verified." -msgstr "" +msgstr "Epostadressa di er bekrefta." #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" @@ -348,20 +348,20 @@ msgstr "kom med innspel på innlegget ditt" #: mediagoblin/notifications/views.py:35 #, python-format msgid "Subscribed to comments on %s!" -msgstr "" +msgstr "Tingar innspel frå %s." #: mediagoblin/notifications/views.py:48 #, python-format msgid "You will not receive notifications for comments on %s." -msgstr "" +msgstr "Du vil ikkje få notifikasjonar for innspel på %s." #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." -msgstr "" +msgstr "Treng oauth_token (must provide oath_token)." #: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 msgid "No request token found." -msgstr "" +msgstr "Noko gjekk gale :( (no request token found)." #: mediagoblin/plugins/basic_auth/forms.py:24 #: mediagoblin/plugins/openid/forms.py:27 @@ -382,7 +382,7 @@ msgstr "Brukarnamn eller epost" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "Hald meg innlogga" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" @@ -471,60 +471,60 @@ msgstr "Legg til" #: mediagoblin/plugins/openid/views.py:268 #: mediagoblin/plugins/openid/views.py:297 msgid "Sorry, an account is already registered to that OpenID." -msgstr "" +msgstr "Ein konto er allereie registrert til den OpenID-en." #: 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 "Fann ikkje OpenID-tenaren." #: mediagoblin/plugins/openid/views.py:61 #, python-format msgid "No OpenID service was found for %s" -msgstr "" +msgstr "Ingen OpenID funne for %s." #: mediagoblin/plugins/openid/views.py:106 #, python-format msgid "Verification of %s failed: %s" -msgstr "" +msgstr "Stadfesting av %s feila: %s" #: mediagoblin/plugins/openid/views.py:117 msgid "Verification cancelled" -msgstr "" +msgstr "Stadfesting avbrutt" #: mediagoblin/plugins/openid/views.py:314 msgid "Your OpenID url was saved successfully." -msgstr "" +msgstr "Lagra OpenID-url." #: 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 "Kan ikkje sletta den einaste OpenID-urlen utan at du har eit passord satt." #: mediagoblin/plugins/openid/views.py:343 #: mediagoblin/plugins/openid/views.py:402 msgid "That OpenID is not registered to this account." -msgstr "" +msgstr "Den OpenID-en er ikkje registrert til denne kontoen." #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "" +msgstr "Fjerna OpenID-en." #: 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 "Legg til 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 "Slett ein OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 @@ -535,7 +535,7 @@ msgstr "Slett" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/edit_link.html:21 msgid "OpenID's" -msgstr "" +msgstr "OpenID-ar" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:28 #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:36 @@ -554,66 +554,66 @@ msgstr "Innlogging feila" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "Logg inn for å oppretta ein konto" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "Eller logg inn med passord." #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "" +msgstr "Eller logg inn med OpenID." #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" -msgstr "" +msgstr "Eller registrer med OpenID." #: mediagoblin/plugins/persona/__init__.py:90 msgid "Sorry, an account is already registered to that Persona email." -msgstr "" +msgstr "Ein konto er allereie registrert til den Persona-eposten." #: mediagoblin/plugins/persona/views.py:137 msgid "The Persona email address was successfully removed." -msgstr "" +msgstr "Persone-eposten fjerna." #: mediagoblin/plugins/persona/views.py:143 msgid "" "You can't delete your only Persona email address unless you have a password " "set." -msgstr "" +msgstr "Du kan ikkje sletta din einaste Persona-epostadresse utan eit passord satt." #: mediagoblin/plugins/persona/views.py:148 msgid "That Persona email address is not registered to this account." -msgstr "" +msgstr "Den Persona-epostadressa er ikkje registrert til denne kontoen." #: mediagoblin/plugins/persona/views.py:175 msgid "" "Sorry, an account is already registered with that Persona email address." -msgstr "" +msgstr "Ein konto med den Persona-epostadressa finst allereie." #: mediagoblin/plugins/persona/views.py:189 msgid "Your Persona email address was saved successfully." -msgstr "" +msgstr "Persone-epostadressa lagra." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:31 msgid "Delete a Persona email address" -msgstr "" +msgstr "Fjern ei Persona-epostadresse" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:34 msgid "Add a Persona email address" -msgstr "" +msgstr "Ny Persona-epostadresse" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html:22 msgid "Edit your Persona email addresses" -msgstr "" +msgstr "Endra Persona-epostadressa di" #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/login_link.html:22 msgid "Or login with Persona!" -msgstr "" +msgstr "Eller logg inn med Persona." #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/register_link.html:22 msgid "Or register with Persona!" -msgstr "" +msgstr "Eller registrer med Persona." #: mediagoblin/processing/__init__.py:414 msgid "Invalid file given for media type." @@ -621,11 +621,11 @@ msgstr "Ugyldig fil for medietypen." #: mediagoblin/processing/__init__.py:421 msgid "Copying to public storage failed." -msgstr "" +msgstr "Klarte ikkje kopiera til «public storage»." #: mediagoblin/processing/__init__.py:429 msgid "An acceptable processing file was not found" -msgstr "" +msgstr "Fann ingen akseptable filar for prosessering." #: mediagoblin/submit/forms.py:26 msgid "File" @@ -646,7 +646,7 @@ msgstr "La til samlinga «%s»." #: mediagoblin/templates/mediagoblin/base.html:79 msgid "Verify your email!" -msgstr "Verifiser epostadressa di." +msgstr "Stadfest epostadressa di." #: mediagoblin/templates/mediagoblin/base.html:86 msgid "log out" @@ -728,56 +728,56 @@ msgstr "Ingenting prossesert, enno." #: mediagoblin/templates/mediagoblin/api/authorize.html:21 msgid "Authorization" -msgstr "" +msgstr "Godkjenning" #: mediagoblin/templates/mediagoblin/api/authorize.html:26 #: mediagoblin/templates/mediagoblin/api/authorize.html:53 msgid "Authorize" -msgstr "" +msgstr "Godkjenn" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "" +msgstr "Du er innlogga som" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " -msgstr "" +msgstr "Vil du godkjenna" #: mediagoblin/templates/mediagoblin/api/authorize.html:37 msgid "an unknown application" -msgstr "" +msgstr "som ukjend applikasjon" #: mediagoblin/templates/mediagoblin/api/authorize.html:39 msgid " to access your account? " -msgstr "" +msgstr "å få tilgang til kontoen din?" #: mediagoblin/templates/mediagoblin/api/authorize.html:41 msgid "Applications with access to your account can: " -msgstr "" +msgstr "Applikasjonar med tilgang til kontoen din kan:" #: mediagoblin/templates/mediagoblin/api/authorize.html:43 msgid "Post new media as you" -msgstr "" +msgstr "Leggja til media som deg" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, media, etc...)" -msgstr "" +msgstr "Sjå informasjonen din (t.d. profil, bilete, osb...)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" -msgstr "" +msgstr "Endra informasjonen din" #: mediagoblin/templates/mediagoblin/api/oob.html:21 msgid "Authorization Finished" -msgstr "" +msgstr "Godkjenning ferdig" #: mediagoblin/templates/mediagoblin/api/oob.html:26 msgid "Authorization Complete" -msgstr "" +msgstr "Godkjenning ferdig" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "" +msgstr "Kopier og lim inn dette i klienten din:" #: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 @@ -813,11 +813,11 @@ msgstr "Hei %(username)s,\n\nfor å endra MediaGoblin-passordet ditt, opna fylgj #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" -msgstr "Har du ingen konto?" +msgstr "Manglar du konto?" #: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" -msgstr "Lag ein!" +msgstr "Opprett ein!" #: mediagoblin/templates/mediagoblin/auth/login.html:54 msgid "Forgot your password?" @@ -826,7 +826,7 @@ msgstr "Gløymd passordet?" #: mediagoblin/templates/mediagoblin/auth/register.html:28 #: mediagoblin/templates/mediagoblin/auth/register.html:36 msgid "Create an account!" -msgstr "Lag ein konto." +msgstr "Opprett ein konto." #: mediagoblin/templates/mediagoblin/auth/register.html:41 msgid "Create" @@ -887,13 +887,13 @@ msgid "" "\n" " >Create an account at this site\n" " or" -msgstr "" +msgstr "\n>Opprett ein konto på denne sida\neller" #: mediagoblin/templates/mediagoblin/bits/frontpage_welcome.html:41 msgid "" "\n" " Set up MediaGoblin on your own server" -msgstr "" +msgstr "\n Set opp din eigen MediaGoblin-server" #: mediagoblin/templates/mediagoblin/bits/logo.html:23 #: mediagoblin/themes/airy/templates/mediagoblin/bits/logo.html:23 @@ -940,7 +940,7 @@ msgstr "Lagra" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "" +msgstr "Endrar eposten til %(username)s" #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 @@ -986,7 +986,7 @@ msgstr "Slett kontoen min" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 msgid "Email" -msgstr "" +msgstr "Epost" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format @@ -1011,11 +1011,11 @@ msgid "" "\n" "If you are not %(username)s or didn't request an email change, you can ignore\n" "this email." -msgstr "" +msgstr "Hei!\n\nMe ynskjer å stadfesta at du er %(username)s. Dersom du er\nfylg denne lenkja for å stadfesta epostadressa di:\n\n%(verification_url)s\n\nDersom du ikkje er %(username)s eller ikkje ynskjer ei epost-endring kan du\nberre ignorera denne eposten." #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" -msgstr "" +msgstr "Nye innspel" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 @@ -1027,7 +1027,7 @@ msgstr "%(formatted_time)s sidan" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 msgid "Mark all read" -msgstr "" +msgstr "Marker alt lese" #: mediagoblin/templates/mediagoblin/listings/collection.html:30 #: mediagoblin/templates/mediagoblin/listings/collection.html:35 @@ -1139,7 +1139,7 @@ msgstr "Du kan skaffa deg ein moderne netlesar som kan spela denne videoen hjå #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "WebM-fil (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -1229,7 +1229,7 @@ msgstr "Legg til dette innspelet" #: mediagoblin/templates/mediagoblin/user_pages/media.html:112 msgid "Comment Preview" -msgstr "" +msgstr "Førehandsvisning av innspel" #: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" @@ -1271,7 +1271,7 @@ msgstr "Fann ingen slik brukar" #: mediagoblin/templates/mediagoblin/user_pages/user.html:50 #: mediagoblin/templates/mediagoblin/user_pages/user.html:70 msgid "Email verification needed" -msgstr "Epostverifisering trengst." +msgstr "Treng stadfesting av epostadressa" #: mediagoblin/templates/mediagoblin/user_pages/user.html:53 msgid "Almost done! Your account still needs to be activated." @@ -1288,7 +1288,7 @@ msgstr "I tilfelle det ikkje skjer:" #: mediagoblin/templates/mediagoblin/user_pages/user.html:65 msgid "Resend verification email" -msgstr "Send ein ny epost" +msgstr "Send ein ny stadfestingsepost" #: mediagoblin/templates/mediagoblin/user_pages/user.html:73 msgid "" @@ -1403,11 +1403,11 @@ msgstr "Noko gjekk gale" #: mediagoblin/tools/response.py:51 msgid "Bad Request" -msgstr "" +msgstr "Bad Request (noko gjekk gale)" #: mediagoblin/tools/response.py:53 msgid "The request sent to the server is invalid, please double check it" -msgstr "" +msgstr "The request sent to the server is invalid, please double check it" #: mediagoblin/tools/response.py:60 msgid "Operation not allowed" @@ -1459,7 +1459,7 @@ msgstr "Innspel" msgid "" "You can use Markdown for formatting." -msgstr "" +msgstr "Du kan bruka Markdown til formatterring." #: mediagoblin/user_pages/forms.py:31 msgid "I am sure I want to delete this" @@ -1486,7 +1486,7 @@ msgid "" "You can use\n" " \n" " Markdown for formatting." -msgstr "" +msgstr "Du kan bruka Markdown til formattering." #: mediagoblin/user_pages/views.py:179 msgid "Sorry, comments are disabled." diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po index a5e08b73..70139d27 100644 --- a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2013-08-27 17:08+0000\n" +"Last-Translator: Sergiusz Pawlowicz \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" @@ -56,7 +56,7 @@ msgstr "Niestety użytkownik z tym adresem e-mail już istnieje." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 #: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 msgid "The verification key or user id is incorrect." -msgstr "" +msgstr "Klucz kontrolny albo identyfikator użytkownika jest nieprawidłowy." #: mediagoblin/auth/views.py:161 msgid "" @@ -111,7 +111,7 @@ msgstr "Teraz możesz się zalogować używając nowego hasła." #: mediagoblin/auth/views.py:334 msgid "You need to verify your email before you can reset your password." -msgstr "" +msgstr "Zanim będziesz mógł ponownie ustawić hasło, musisz potwierdzić swój adres poczty elektronicznej." #: mediagoblin/auth/views.py:340 msgid "" @@ -292,7 +292,7 @@ msgstr "Twoje hasło zostało zmienione" #: mediagoblin/edit/views.py:417 msgid "Your email address has been verified." -msgstr "" +msgstr "Twój adres poczty elektronicznej został potwierdzony." #: mediagoblin/gmg_commands/assetlink.py:60 msgid "Cannot link theme... no theme set\n" @@ -357,7 +357,7 @@ msgstr "" #: mediagoblin/oauth/views.py:239 msgid "Must provide an oauth_token." -msgstr "" +msgstr "Musisz podać oauth_token." #: mediagoblin/oauth/views.py:244 mediagoblin/oauth/views.py:294 msgid "No request token found." @@ -382,7 +382,7 @@ msgstr "Nazwa konta lub adres poczty elektronicznej" #: mediagoblin/plugins/basic_auth/forms.py:46 msgid "Stay logged in" -msgstr "" +msgstr "Pozostań zalogowany" #: mediagoblin/plugins/geolocation/templates/mediagoblin/plugins/geolocation/map.html:24 msgid "Location" @@ -475,11 +475,11 @@ 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" -msgstr "" +msgstr "Przepraszamy, serwer OpenID nie został znaleziony" #: mediagoblin/plugins/openid/views.py:61 #, python-format @@ -493,7 +493,7 @@ msgstr "" #: mediagoblin/plugins/openid/views.py:117 msgid "Verification cancelled" -msgstr "" +msgstr "Potwierdzenie anulowane" #: mediagoblin/plugins/openid/views.py:314 msgid "Your OpenID url was saved successfully." @@ -511,20 +511,20 @@ msgstr "" #: mediagoblin/plugins/openid/views.py:385 msgid "OpenID was successfully removed." -msgstr "" +msgstr "Konto OpenID zostało pomyślnie usunięte." #: 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 "Dodaj konto 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 "Usuń konto OpenID" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/delete.html:39 #: mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit.html:39 @@ -554,15 +554,15 @@ msgstr "Logowanie nie powiodło się!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:44 msgid "Log in to create an account!" -msgstr "" +msgstr "Zaloguj się, aby utworzyć konto!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login.html:51 msgid "Or login with a password!" -msgstr "" +msgstr "Albo zaloguj się hasłem!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/login_link.html:23 msgid "Or login with OpenID!" -msgstr "" +msgstr "Albo zaloguj się kontem OpenID!" #: mediagoblin/plugins/openid/templates/mediagoblin/plugins/openid/register_link.html:23 msgid "Or register with OpenID!" @@ -737,7 +737,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:29 msgid "You are logged in as" -msgstr "" +msgstr "Jesteś zalogowany jako" #: mediagoblin/templates/mediagoblin/api/authorize.html:33 msgid "Do you want to authorize " @@ -761,7 +761,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/api/authorize.html:44 msgid "See your information (e.g profile, media, etc...)" -msgstr "" +msgstr "Zobacz swoje dane (np. profil, media, itp.)" #: mediagoblin/templates/mediagoblin/api/authorize.html:45 msgid "Change your information" @@ -777,7 +777,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/api/oob.html:28 msgid "Copy and paste this into your client:" -msgstr "" +msgstr "Skopiuj i wklej to do swojego klienta:" #: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 @@ -940,7 +940,7 @@ msgstr "Zapisz zmiany" #: mediagoblin/templates/mediagoblin/edit/change_email.html:33 #, python-format msgid "Changing %(username)s's email" -msgstr "" +msgstr "Zmieniam konto poczty elektronicznej dla %(username)s" #: mediagoblin/templates/mediagoblin/edit/change_email.html:40 #: mediagoblin/templates/mediagoblin/edit/change_pass.html:45 @@ -986,7 +986,7 @@ msgstr "Usuń moje konto" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 msgid "Email" -msgstr "" +msgstr "Adres poczty elektronicznej" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format @@ -1015,7 +1015,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:4 msgid "New comments" -msgstr "" +msgstr "Nowe komentarze" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:24 #: mediagoblin/templates/mediagoblin/media_displays/image.html:39 @@ -1027,7 +1027,7 @@ msgstr "%(formatted_time)s temu" #: mediagoblin/templates/mediagoblin/fragments/header_notifications.html:41 msgid "Mark all read" -msgstr "" +msgstr "Oznacz wszystkie jako przeczytane" #: mediagoblin/templates/mediagoblin/listings/collection.html:30 #: mediagoblin/templates/mediagoblin/listings/collection.html:35 @@ -1139,7 +1139,7 @@ msgstr "Możesz pobrać porządną przeglądarkę, która jest w stanie odtworzy #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "Plik WebM (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -1229,7 +1229,7 @@ msgstr "Dodaj komentarz" #: mediagoblin/templates/mediagoblin/user_pages/media.html:112 msgid "Comment Preview" -msgstr "" +msgstr "Podgląd komentarza" #: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" @@ -1403,7 +1403,7 @@ msgstr "Wystąpił błąd" #: mediagoblin/tools/response.py:51 msgid "Bad Request" -msgstr "" +msgstr "Niewłaściwe żądanie" #: mediagoblin/tools/response.py:53 msgid "The request sent to the server is invalid, please double check it" diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po index fe2eaf40..a7283365 100644 --- a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po @@ -5,13 +5,14 @@ # Translators: # aleksejrs , 2013 # aleksejrs , 2011-2012 +# Yury Sakarinen, 2013 msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2013-08-31 15:28+0000\n" +"Last-Translator: Yury Sakarinen\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" @@ -35,7 +36,7 @@ msgstr "Имя пользователя или адрес электронной #: mediagoblin/auth/tools.py:41 msgid "Invalid User name or email address." -msgstr "" +msgstr "Неправильное имя пользователя или адрес электронной почты." #: mediagoblin/auth/tools.py:42 msgid "This field does not take email addresses." @@ -78,7 +79,7 @@ msgstr "Вы уже потвердили свой адрес электронн #: mediagoblin/auth/views.py:203 msgid "Resent your verification email." -msgstr "Переслать сообщение с подтверждением аккаунта." +msgstr "Отправить заново запрос на подтверждение по е-мэйл." #: mediagoblin/auth/views.py:237 msgid "" @@ -103,7 +104,7 @@ msgstr "Мы не можем отправить сообщение для вос #: mediagoblin/auth/views.py:306 msgid "The user id is incorrect." -msgstr "" +msgstr "ID пользователя указано неверно." #: mediagoblin/auth/views.py:323 msgid "You can now log in using your new password." @@ -222,7 +223,7 @@ msgstr "Новый пароль" #: mediagoblin/edit/forms.py:116 msgid "New email address" -msgstr "" +msgstr "Новый адрес электронной почты" #: mediagoblin/edit/forms.py:120 mediagoblin/plugins/basic_auth/forms.py:28 #: mediagoblin/plugins/basic_auth/forms.py:43 @@ -233,7 +234,7 @@ msgstr "Пароль" #: mediagoblin/edit/forms.py:122 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." @@ -367,7 +368,7 @@ msgstr "" #: mediagoblin/plugins/openid/forms.py:27 #: mediagoblin/plugins/persona/forms.py:24 msgid "Username" -msgstr "Логин" +msgstr "Имя пользователя" #: mediagoblin/plugins/basic_auth/forms.py:32 #: mediagoblin/plugins/openid/forms.py:31 @@ -395,15 +396,15 @@ msgstr "Посмотреть на OpenStreetMap" #: 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" @@ -475,7 +476,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" @@ -518,13 +519,13 @@ msgstr "" #: 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 @@ -761,7 +762,7 @@ 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" @@ -813,7 +814,7 @@ msgstr "Привет, %(username)s,\n\nчтобы сменить свой пар #: mediagoblin/templates/mediagoblin/auth/login.html:44 msgid "Don't have an account yet?" -msgstr "Ещё нету аккаунта?" +msgstr "Нет аккаунта?" #: mediagoblin/templates/mediagoblin/auth/login.html:46 msgid "Create one here!" @@ -826,7 +827,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" @@ -986,7 +987,7 @@ msgstr "Удалить мою учётную запись" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:58 msgid "Email" -msgstr "" +msgstr "Е-майл " #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #, python-format @@ -1015,7 +1016,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 @@ -1027,7 +1028,7 @@ msgstr "%(formatted_time)s назад" #: 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 @@ -1139,7 +1140,7 @@ msgstr "Вы можете скачать современный браузер, #: mediagoblin/templates/mediagoblin/media_displays/video.html:69 msgid "WebM file (VP8/Vorbis)" -msgstr "" +msgstr "WebM файл (VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" @@ -1229,7 +1230,7 @@ msgstr "Добавить этот комментарий" #: mediagoblin/templates/mediagoblin/user_pages/media.html:112 msgid "Comment Preview" -msgstr "" +msgstr "Предварительный просмотр комментария" #: mediagoblin/templates/mediagoblin/user_pages/media.html:157 msgid "Added" @@ -1243,7 +1244,7 @@ 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" @@ -1403,7 +1404,7 @@ msgstr "Произошла ошибка" #: mediagoblin/tools/response.py:51 msgid "Bad Request" -msgstr "" +msgstr "Неверный запрос" #: mediagoblin/tools/response.py:53 msgid "The request sent to the server is invalid, please double check it" @@ -1429,23 +1430,23 @@ 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" From b299b6b7b850cf60ac6111048fa69e4be239357d Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 4 Sep 2013 16:03:57 -0500 Subject: [PATCH 151/160] Committing extracted and compiled translations --- .../i18n/ar/LC_MESSAGES/mediagoblin.mo | Bin 34295 -> 34307 bytes .../i18n/ar/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/bg/LC_MESSAGES/mediagoblin.mo | Bin 30440 -> 32874 bytes .../i18n/bg/LC_MESSAGES/mediagoblin.po | 48 ++++++++-------- .../i18n/ca/LC_MESSAGES/mediagoblin.mo | Bin 31348 -> 31360 bytes .../i18n/ca/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/da/LC_MESSAGES/mediagoblin.mo | Bin 30480 -> 30492 bytes .../i18n/da/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/de/LC_MESSAGES/mediagoblin.mo | Bin 31929 -> 31941 bytes .../i18n/de/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/en/LC_MESSAGES/mediagoblin.po | 44 +++++++-------- .../i18n/eo/LC_MESSAGES/mediagoblin.mo | Bin 31338 -> 31350 bytes .../i18n/eo/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/es/LC_MESSAGES/mediagoblin.mo | Bin 32876 -> 32889 bytes .../i18n/es/LC_MESSAGES/mediagoblin.po | 52 +++++++++--------- .../i18n/fa/LC_MESSAGES/mediagoblin.mo | Bin 31296 -> 31308 bytes .../i18n/fa/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/fr/LC_MESSAGES/mediagoblin.mo | Bin 32281 -> 32964 bytes .../i18n/fr/LC_MESSAGES/mediagoblin.po | 52 +++++++++--------- .../i18n/he/LC_MESSAGES/mediagoblin.mo | Bin 33621 -> 33895 bytes .../i18n/he/LC_MESSAGES/mediagoblin.po | 48 ++++++++-------- .../i18n/ia/LC_MESSAGES/mediagoblin.mo | Bin 30476 -> 30488 bytes .../i18n/ia/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/is_IS/LC_MESSAGES/mediagoblin.mo | Bin 32484 -> 33216 bytes .../i18n/is_IS/LC_MESSAGES/mediagoblin.po | 52 +++++++++--------- .../i18n/it/LC_MESSAGES/mediagoblin.mo | Bin 31421 -> 31433 bytes .../i18n/it/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/ja/LC_MESSAGES/mediagoblin.mo | Bin 31094 -> 31106 bytes .../i18n/ja/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/ko_KR/LC_MESSAGES/mediagoblin.mo | Bin 32325 -> 32337 bytes .../i18n/ko_KR/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/nl/LC_MESSAGES/mediagoblin.mo | Bin 30889 -> 30901 bytes .../i18n/nl/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/nn_NO/LC_MESSAGES/mediagoblin.mo | Bin 29909 -> 29812 bytes .../i18n/nn_NO/LC_MESSAGES/mediagoblin.po | 52 +++++++++--------- .../i18n/pl/LC_MESSAGES/mediagoblin.mo | Bin 31741 -> 31963 bytes .../i18n/pl/LC_MESSAGES/mediagoblin.po | 48 ++++++++-------- .../i18n/pt_BR/LC_MESSAGES/mediagoblin.mo | Bin 31441 -> 31426 bytes .../i18n/pt_BR/LC_MESSAGES/mediagoblin.po | 48 ++++++++-------- .../i18n/ro/LC_MESSAGES/mediagoblin.mo | Bin 32065 -> 32077 bytes .../i18n/ro/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/ru/LC_MESSAGES/mediagoblin.mo | Bin 38292 -> 38822 bytes .../i18n/ru/LC_MESSAGES/mediagoblin.po | 48 ++++++++-------- .../i18n/sk/LC_MESSAGES/mediagoblin.mo | Bin 31799 -> 31811 bytes .../i18n/sk/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/sl/LC_MESSAGES/mediagoblin.mo | Bin 30654 -> 30666 bytes .../i18n/sl/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/sq/LC_MESSAGES/mediagoblin.mo | Bin 31906 -> 31918 bytes .../i18n/sq/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/sr/LC_MESSAGES/mediagoblin.mo | Bin 30512 -> 30524 bytes .../i18n/sr/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/sv/LC_MESSAGES/mediagoblin.mo | Bin 30742 -> 30754 bytes .../i18n/sv/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/te/LC_MESSAGES/mediagoblin.mo | Bin 30713 -> 30725 bytes .../i18n/te/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/tr_TR/LC_MESSAGES/mediagoblin.mo | Bin 30908 -> 30920 bytes .../i18n/tr_TR/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/vi/LC_MESSAGES/mediagoblin.mo | Bin 30434 -> 30446 bytes .../i18n/vi/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/vi_VN/LC_MESSAGES/mediagoblin.mo | Bin 30448 -> 30460 bytes .../i18n/vi_VN/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/zh_CN/LC_MESSAGES/mediagoblin.mo | Bin 29784 -> 29796 bytes .../i18n/zh_CN/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../zh_TW.Big5/LC_MESSAGES/mediagoblin.mo | Bin 30456 -> 30468 bytes .../zh_TW.Big5/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- .../i18n/zh_TW/LC_MESSAGES/mediagoblin.mo | Bin 29882 -> 29894 bytes .../i18n/zh_TW/LC_MESSAGES/mediagoblin.po | 46 ++++++++-------- 67 files changed, 798 insertions(+), 798 deletions(-) diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo index 34643fb6333cc4592225f14f7d8e0587adf41f02..e3888f1bea35539a6a1395c0fc3383ecebbe71bb 100644 GIT binary patch delta 4428 zcmZwJeN@)v9mnxY9t08ykS9~&1`$F90YQaGWQk9SCZMLIhzcWhI1TU#{b7jOk!%Cg z%p65IT{<<9oy|(;9u7y3thO>_+iAJAw%miJBb{uXy+2;RKX;DD*Y&;b`*%HjukZEa zzO&n_vDxd?EN>^-7<0>G%y=9YXG{hbqaW@-AKZh3uoWY)4SliG?SB`i5qIGjd^p~i zEtrcvcovso%LrpeV;|nfxCG;vOd6h%#>C=0oQSo!6;I$sOi46m2p+-VcmW6FA21ki zBV!t`Bx9J%B;q4D1O0FXhT&@TM+XPut|W(D(|CyvKRk~5;u#FWF4ROP zMNOdd3&3Xd#eJv@y@uN1S@hrq^v6GLDI(FkYj7+nspNTrcD%8Rnkv*DDT!hzfIp*?VF!P(&Y3R&O;vnos zt+W@J+kA?TV-R;!6FrHl0SBMNH?aV3;8e`wODe{Cti}VFkN#XW)znN>hL)jIOk*>R z+4un})iG>aJD!Ln#Z=%M*osV!^%|tA!2oo?AQ(W^fl6WpEgH;%YJ5W13fF3-Jn)oBs zJl;9>xquw0Qnee&6(pk89zt< znUT51gkw1_#yYIWj~yCKH0E-^Dv}=5*?Lo9(=Z9!aSgU$SRQXjJd9It=wxG_!lf9C z@1Tz2*Qm_&VTjGwU$}+fW(# z4eE?&aUAM4Cg?#@+GL9 z)?yU4q6d#*AYR4+*oz_fJLIOBza#Z)JPf9B7vf56#*;j72j>tU;qJyUzqvz0J0CKO z^F$A7!dz6fmtZ_rVi3OI_V0K70S=@8UDR_|Q9Hbes`}_co6+g0ab}}Gu0=;@w~2<% zyca9bmzTi;T!oBbevUyH!m?8_1_xsy24Xqt^J-M)>RnqgfcR}3glACS|0!yr-E+wQ zJsN+eLo51>Qs%hKm#CGd&9z@F#<9e!P)BkQJ@^yUgug`%{1vK3?&Cu^vWOoen1(9W z$ry)~$h*$$DkA^sG~TDiZu%G*p$hU4wY5Xr)P*jfJQOc47p!xbaccf;vz;`UG|T?&2dD zJ>MSbIMk7qp>EY49D{rDTj*S%p%=qg4m=rG;y3jL%)tMkQako(yO3Pe&ZeP?uGH<{ zfZ9kSl01c*9rU4g7O>pbKnm)b&A|XHMb%IRs`%Q_gWpHpwk~||`~O245p>)` ztt@1PJ~Fy}IGy+ej>9`R97nIV zKhb8O`d`M;coF%E>2qk*(J1FK2IE!KgMYz6=v!?U7K&PV3_gy9r~!AQQhFX)llc>p zEHirzHvu~_9%H_3=gG%>;vZuwI`?R#(MVovuiqln*_}q+XMfU>hw+$#%dii>gUZZ~ z=j;pRSE!x!yC&7xzklj@7U?Yw>Nu!yLe_#=AA|1iljj!VG(I3~Z zw>8j!QN+736yHQm+=-ER4VA&Ws2xUbuy51?Od?)|%3Le@>i&1p(1YEmTKF8}&}XB) z$B7tC`~)W8GpHimhMM>oF2Ww1g&CXd5jglX@fXND&E##izJ}q%|Hj44Z-VRD1+K;u z7_!A4!FkLej@W85GacKB52Bu%#D65soWm)Y*4R6?)w1e5x1ce zL!*yII)*=Qi(@K|C*FnBr#X*NIEK5b6iz`cY&9w)Z8#EtfqU^fYCLDV{d4>dD#KS% zHFN{Lad;Cy9W`)VlfB2;IGA`64#Xn##f7LED08jCMB=sRgRi(ALfx8nEWr~U0pT|S zTh}d!2=={u6ZuCBO2$LFMFv<4N#*f1kK aCv99uRzX(S|9gDrf-4Dnd`bO*fd2v4$3~C< delta 4429 zcmYM$4OEup9mnxYUgR~DR}mB*#1v899s&U+(?Bc%okYH&5=N6C)BqbP+^9vgaO$3w zWo`JjK?{jtzhtGB0&;494|NsBG zU~{L}H?MiUSL|&i8e?v`jLF8R1Y_J-f_~VBKG=alxCJBeE%e2M&hsN!M1KIMV8A$I zS}+?w#lu*IolG_vhw#4`JKk94AsR6c8WWH6Fb7v-EB*?bapDAHMq?L_#eNLOzhVg9 zKyBnZWG>^H$e8#jY9q@r44*-NY{ucZX`*G!7#gqgzz_GMUOa#g-~ei(KVuYLK`rzS zj>MQGV?uE_>n68!CmLJ6d;XXyVXhJH$z-31>O|rKm49p%&2U z^gA72N7cqJkTsiMqb4|y?KtT4*N}LP+m5qvHw?JMJZ~cO6T)t)PmYk-`j;6r|W*7{14Dr$b;j!593npogBj~ z`Ztg{O=6lcQ*k~%j2$=!PhcjFOt(W{fJ$K%YGEzN9?d~qf|qb5X7gbP^P8PCl(Sw8 z!V{>Ko=4_3pJ6`waW*wkA*u$NaW4KG3vm!?8s03B-d$=6mM{kVGwIeYaRfKUEiW41kF^c|NR0OLq4BJpU^q>phK}~!H zHP1cN_q_9nzg~>Vv(JAfYJh1Nf~BZ|m!WpL9w}(^CYIwzs2UhOjmrkBkj_y}G` zeoXvyVZVss;u^hSV%vyBgTR0X^ zqjG!=m9mj+Ukg}`ns6&>0q;AWL2vq3F#x|niaf^LqT$DbZ&2s`dsL2wd(H)fTN)~w zjq<9Q;aGqg;xQylrVPh<8M7VN(LX%fPQqjYIGX-S)D~Kh3O4&tTe*afVF(%2QWv4N zwi-v_mN}HCi^e`41mkfWhUal4UO>*4`4{G345Mk_GJF=>@gQIL8t2jP;`QmE^TBqa|N}~jQ@sDZyk)yTIPi17=I8G*^D z^2|epyb`(H%qGmh-{HGBh`OS7a1Uxh*HPo&Miyk5U_R9X($Eh}P!pA799E)g!9qo7 z8)~OLs2u+h_5Mew_diAzG3p$3;1v7`K8O9Nn_v#6>KG`As?v?Q9yV=;rAI ztV8YO1tf}QJ92i-RqVl}#Y{YmOBXlMzq7fB4YG-#)3yrI^H!umcvwWxjIBG-7o&I`^ zpuZJW+&z`VU&rJS560tVRPlH}W!FR&Y5`@afof3`cAzHmpcc9Zqwo+ag(p#=zK$9< zzKSSgfnyVD-2GLS{paQ=50rvI)Xwf<0w%1qkJ+QBV>b^~M2k_y=Rp_lL{)b`PQqgt zi8oOT^Lg4%Wh_S1&vN>u77cxI73x^6b^04oJNq$e$Gea^G`~a*d=EP@oZBT4_c$KI z&Gf&(Vyt_{Uf>6)4PL|@coQ|Q)lO+@#oJL;-H$$a4Rv)6p;8jG$_`mRCetrRecp!p z-Y)dVQy7n*pi=a2d>)6@kX~%WA}o9M{@(`6yiKE!2cP3qoLp=F_qP(~(C@}f{1V4v ze4YJISw8Cdt2h}yL|!q2xDLxXiy?R#^}S0Ng#W={^sU#z$$uD)d>+h14QQc4+J~&k ze2PTN%vw#FuouT+*cyAHESyRI9ZbcWn2uxD+Q+XHmAd_?{Up7~5$76)eIep0^=af$7CP=+$IzWG{Bo{|7F>dcqNc1Gp2bqod>*I>n@|()MlLgR3X5^Vi*^bca1s5BSb>@AZMR_r{TsLpy*3!L z7c21q`n1?7=tDRCfL1#)(_4vuHxIV*K&f!^i>R4HSb#}w_Ko)(DyK*BVI0C_Ox@_* z2Ut$ugK;>B8R);su8lm*roRE}un$L}%i^#qggK~{RiYx|!3Xj8_%pnW8nEFd`_J({ zRESSw3SL2P41L)iI1+v6r(ig`aX8LKUo1h@Kt`FBq`0$P8B_Bzb5hc?($fRy&r4ZQ zy{@LAW_5i^!BdUZc`kQ)MrKO-{rBANyv*FbX@yx~{~yw`@WS}}Lyl-E>pQxkFyMb4 C6iHG5 diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po index b2e82823..efd7d170 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/mediagoblin/language/ar/)\n" "MIME-Version: 1.0\n" @@ -28,7 +28,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "عفوًا، التسجيل غير متاح هنا." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -52,12 +52,12 @@ msgstr "هذا الحقل يحتاج ايميل." msgid "Sorry, a user with that name already exists." msgstr "عذرًا، لقد اختار مستخدم آخر هذا الاسم." -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "عذرًا، لقد اختار مستخدم آخر هذا الايميل." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -119,7 +119,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -185,7 +185,7 @@ msgid "Email me when others comment on my media" msgstr "ارسل لي رسالة عندما يقوم الاخرون بالتعليق على الميديا خاصتي" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -263,37 +263,37 @@ msgstr "أنت تحرّر ملف مستخدم آخر. كن حذرًا أثناء msgid "Profile changes saved" msgstr "تم حفظ تغيرات حسابك" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "تم حفظ خصائص حسابك" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "يجب عليك تأكيد إلغاء حسابك." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "أنت لديك مجموعة تدعى \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "توجد مجموعة اخرى بهذا المسار لهذا المستخدم." -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "أنت تعدل مجموعة مستخدم آخر. كن حذرًا أثناء العملية." -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "كلمة سر خاطئة" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -575,26 +575,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -618,15 +618,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "الملف المعطى لهذا النوع من الميديا غير صحيح." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/bg/LC_MESSAGES/mediagoblin.mo index 6d2eb8850a7257af16c528639fa776750095a979..9ffae8c1728d2fd0a9c4aa821df076df559078c3 100644 GIT binary patch delta 9767 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 K3I5NkCj1|JI*&sD delta 4493 zcmbW(iBpx=8OQOXY$}TgihwK^F@hk17e$s3P(id9HMlhx5HK#cvMEb~30#tnB&MNS zY16vYRHvFIX0oAn94D6?iIq!0wbDr~@ zm)qYt^y)#c>mi*G!`keUCBmxDd0k0Xy(l*oH|Hjfuj&7>ma+96!bo z96&APzep_ON@7f$jao=0hT$3D88y-W zU?@f>8#4-1QRC#JGFFa3xYD^_>-0NN6a0bWD_$B3cpeqt3To!Ja4belGA0tIpe9s; zTIo_$fHoYCUFe6~P#Jm-wZcQ_!eclLFQT^aua4eZG!%GLicN7cD&Q=qzXJ7Q3u*!# zPXAfQpP*`E4>D)-5-Py^*o9v>{YExk<96XJd>+|qulbyYQaO&w(TXPHR?I=I;9b<- zpF^d-AC=+}Y4-V%IF)`3YAY6?0#!Np+fWngLcO;eHO}63RH}$fi^6~pJOq8fpajOhg6KMSdTq86NhrtR8vK$3_XP2 z#WY%IEWmeBsg7jXTCp2Ridl(!u^Tm^bUqd?tV9L!B4uQDJDx;NuDOm&FoLvo;(8=m z=1Z)?m~8f+Nt<>mLDl;jR^k!#!7({D6H%xljKfiw>6QjLx;^KNB@T9){oo)W8*}l|F_PwD}n>#kWv35S7Qr25XSTnFCme zpCJEC{JqAE#uZqBjrcg8_0rf(qm&I+k(@{E?QJZ<1S)MGdT=`i6|i0SJQm@YLJAVg zF&+=1w&IVd6@HBqF^B?St|k+;;CiI2jQ1%T{4+=SkL@zIP!n-;NR^37zekn-wyb^3;t)wpitti^MUrF$jxMIVnSqhS`iNvtw9}|G=ksVa_~0XY|j0#|9e4 zsr8{BkK-^AL$LsZaS>_)m8D*Lp@|DB$0txL--dc&Cx+ue=l*YT68*EN91c47zjgXy z^X(=_Vk-9+B6Bp4A#*ctqZTsqemj1#mxfOKGF0Hr7>HXj7V#lzQP^oyTESt9vn}9KaRzB96!Tk`rbhr+Pj2>_9Pcz5dA6~fpw?}JcJ6*wIeaUN!29lG(CsD<{SFY(Q%G_-;%NJ`9gyn8^G z*y}-9!u3d;j8)i<-PnhLOYN_}%a}@k&NBP!ZzE2lzhSvOmIpAK{z>e>JLqkr(eYh7 z<3Us{ggt1hJ_AGO7ok?N7*$M!(Qkzfn2Z`f52LXR z$70jq%mvM84{D_^qXL{m9k)xUE%`etLj$N420mm@O&DtBnW!zi*Rc#0cpXNe z7Zq=Z(|L}M}+HsK6>0q?_4aW2Ny*dJwUF_!)=)E*v1P3!|y)%&lq ze-qruKhw>BD&DV9@0o{fCgV^OO~ENT|LHXHxloCjxEmAk9G2q0uow$h+h2cO7(@RI z)?+`;#0S^dqS}SZP%mrW;TT-hyewH%Dmf#Va@kyVlvFI*bbR5$Y3q z(=pa#KfNW$C&1KUC;kr8arXE4Mqm@_gYyCUVZeI(OClJ3=+~mxmqsIvVc3G&;||Ad zsOsH^O5st|`RzlkupeFMQ)>fHKm}TYdaoSy+y)H5XHf5NM{UjiTJo=f4{<>&eGgOc z8uBqS(RH>48gVxLqo^9WjfFU!{O4gSj>b2z0#D)Ncu#}<@wX3C=_fbZtzCj8^dD^` z|NCeh=fZYewZZ=S`v!~X*KV}G{$9s;`a_%SR*Xlja6V4ddzg#QpjP~QRB?WSs*TWQ z`!}ErHIXf-OdR&oNTTr$y74+HBZ)0`k7puB)vQHL;3O*G-%t|>ZnaK8?P(qk#{$&W z&O@bs0s7-I)D~4Zx>q?34{G2B)QitK?m`Xt3(UutT6;%~{%25ZdXcB8x~6uu%TwRv zXt?~>!\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -24,7 +24,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -115,7 +115,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -181,7 +181,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -259,37 +259,37 @@ msgstr "" msgid "Profile changes saved" msgstr "Промените в профила са запазени" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Настройките на профила са запазени" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Грешна парола" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Паролата ви е сменена успешно" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "Адресът на е-пощата ви е проверен." @@ -571,26 +571,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -614,15 +614,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo index a751e3706e53c187bc3b2e92bd67c36173282768..3611ec56102dddeabff79e34c9578a1ba163fc3b 100644 GIT binary patch delta 4440 zcmZwJeN>m_9mnwt0r{Z;y^G!S`cKHheGD4XSk zo+wWe8^@iKr`%9$j@j{S3w3sEm9nfeHjg%^OFb!_Z7#R>hwJ`x=Wuvk-<$isuj~80 zzSr-^ty?}@hJ6k$^mUSrG2eQPnTb)c#$;dx2H+0#!NARfSb zF(l5IO_+y+cob`~W2!OJaTxDlY`k$yCIjy@V`8uhXJH#|#&>ZYrX(0M8TaGecpN9- z5C-E-65^xF@V*u7+7_LSSIyf4iPjtwd!EP=D-~rT)hcE~SP!pZS2>d&0 zp(e?g@!-W!Oh>)v0aV4RaU9mWe_!jy+fWPK<9f(ppa}<26I?;9+=qRcgi&}GW}+6f z2$kuhs0p-xfw&9(@l{lX_M$R8ie5a99=w3s!mF;1&pmeHNvIO1q9!bI;~Lb18&C__ z=EfbaZ=!nRXUN*kLDU3a;10a*#_epp-n$FuV=uDRj=9W0rHrL>lu-um#<{2r&Y%`{ z4psUas1lD)vG<2#I&mCoD=JYFJ?{S9K`m$(>bV}&d-jjS?Ee6RC0sa-y%?WrGdYD> z#5a*SP4a!lWaA@vKfZ)T_%Y7Fh%{UJ64Vwppcb|j$Td(WI@6XCXx~_4qb+q860JhlLmGP!nxO`pNXTo<>ft`3@^Fin49NW~5l= zTdc;oS?oWHHe2Zgb?*^;4Exa+BXeveVo*&OkD-|2Iu|2|%TX0Lc#w^Ba zjKN=^w&IVd%G|~T45I;9tI0tn+={f7ab9G=kNJ>aY?txjaB3m5P?e}dKJ?5pn1TCH z75Nmk$2U-07D4)2KpSepS5OP+cl``~iLYQFUPGGPG5=(s(tnRS@BXBvJsRg4=6V72o zHzS{QrgJg%*B?%B;pcb_RkGL0ZId0x@x&itI1Zv#{tapZ^RO+Y2cro?QTL}|DCVPj zrvi2VQ>aR;MJ;5r!$28zqq_4Ls_FjZ-f$E3KzN1S^H@}`q@gm)M!jeOM&XmFJ>G#@ z&^}ax$51_R5!F*ya0WX6WuS~_R9crKyJ4Qg3_OQwmcS}IaTsbrlhKRQP%kdTFkFZf z(X7C9Jcyg{0^Y#tNBB&^@+Bi%?3g1A?r`Bt%*XRTu%CcYOYPU}JlxE62X$KRpenSP zGo{LPp-TNes`MvuDxODWeg{>d_(yGz6rvVdj)8h(9Rp?1h$>+#YOnTSBzB>?`!MS7 zzeT<9FQ{f4^+S8?;&3AIOw@g)=!*@gCS8qM=sMIwe~fX;Xs-tNA!_d~pcikWGKgAk zPr-Z~Ilrg{wV*P67L`#i2IB|lhXd%v)2N>L#*J^Gwlw@PDjLopnt{wjb!!Pu#v0Uw z8{GJ1)PwJ$CVJnEKSK4y8P_i{kN9t>_r|ZV{|n}#5 zsEoRBHy%JuoL6JNehXaJpfY_EbsD;Hr0H-1@dccM-=Vf9wAL;l0rgyQE%lFKP{sw7 zs1d8M4SVqqn1;@vy|W%SalHfc zar~3ENu7roXs?@)hBiB~951=ov!9|Lh|4hr_u|`l%8ggAvi~c-fm-+gCgUZ{z>w9p ziRU99C8hzN!{1=0PIST3d}VTBJ-_t8WgLx>jrMvR`V#*H{qbcShi{;c(|%OX{0h~) zXHX0I8spHf$^PGvh+g6{ybqhuU*~@x13lP_szg6}@Eod%hEUCO6ZK-x8e6&qOeB5) zX>_v+7vm``#mHv+CG!Lp5%0wuyo7pR%v!zyncrkG*ohsu9iv)oC3;YMdlt*^U)Y01 zt(<+lify=pUk~D0)B>io+e}ws67eonf`>5$Pos|KztK^~+0WQxQ;uqmtvC~ZkJIr# z7=}r-tTLXB8MqR4dS1n8cm&y2^A+m8;&rz4%@{%aIx6$`P+R)Db*5&dyH9Yzj|-n- z01l#hUyy{O(uMfd2u{P&8uz delta 4424 zcmYM$4OG|F9mnyjAPDa4cdSA0N;r#}LMqT)bl1Zv=DqCgNCsbGQ_EBtY`BwLac z%@eMz>1M}=RxZ@pSWa`tW-XP`aakU>H9M(iPUq3JN!H#U?(dwP!{K%B@BjPVd%xfN zy}$pz{r0e1w}u_K-^YnJ#@zH6lZlZNjqzeJ`eQr#;uai*ofv^VI0D~vuOGri^pE4c z7&yt8Hq697<3X&!txT4P*YRtNoopO4lSa%GVH15Q4*oR~A zJO<-6R3Kj=a~aPx#>8)-0;$Asd;|lq75(u0(;Q>sXgtdWe|!yf;~O{{kE13!gOT`m z)I#rID8?ih6NZVXadJ@^TaH0k<$k`#?QcRY@Hy8v92%OiA2q=x)XE3(9*mrBOcW-g z7PJTz=`z#=tr& z`8{UPzlO|d;!}*t!X-Etw_qW@hv^uaYEz$&+QJ&t!rG7+&6~I!KgC+i~8j8}o2DM@==AkIK*r zbV_M#pizRSP^pe0Y(?xvl47cGCw8J1l)}rxgO#X>9HflQE3PMzlWT5Z8Ag(}c3h1l z%lreYF>V(7&!SBmm7wZ9fR%U{eJ~>1W+EC@gyS&`r@3ZhB>f^(25T@J+ffmAqX%C{ zP5dEhp1Y{$d~(RYZj8yX=RX}az-$c064byeQIS506tsC6m*ELi4Mfl8WrH#v4gSpA{A0V!AZj6A4yiIxiM;I0Aa2sj?hh0BJANrRt5HBM|9%F9O@aMvpsPp~}YLEQ7`vb=~ z8Y+rFxz)^b%|{J!ACe|hif4xz^8&WeuUTj};XFpu4F zY9YqrV!Q`eqpIWw?)8_89Q)Ee$OV<-yBLc7s0ThnE#wYHVDSBR_a~!rSc2N^G7P}A zsB&zjKn9{dP{@HT3I;S|5hZZ!I15{6&~syqu& zd%qfayO~b+`n$M?{$-qwFD$h+)`y|=k0BX#Og{~+{0r0scTlMu{s6Bd9EEyd28Q8m zR7Q$X_dkrv#2VB>o6MN^7t_zP^qb9e*GzC#wUpxo~9KKz>g8O+1e588!N-)W-j7QCI~b3rQIX$7Whkn`)<_O&p#`Yod=M2t4Jw0=qPA)?#$qR`xc63& zf8FqFE@;4yP{sCd9D|W7Y-(qq?wf}`xB^wA)u@H8MJ?39N!aDui`u$#=)vo#076&V zQ;@lm@O4887qp^Ps7N=UBI?0ld>wtU4?TDcRWpBc`gs7SY=PQyz$RCK5;H%K&EKU7U*(@F*5x$m2G`3M{1Gg{t!Nr~${Ux4-@p@LBpDxEVv6Y$mp2JpEHxg4deJ z|1KJHnt2`KUvLAK@-H7xp%xI_Vk51>1p4i$2=`(V9zz|^f1)Bz+-Oft0jf4OVkW+g ziFgCUG0vf6r_o43FP5W@&ku15?nAcKoJHN2+iFu^hmrKRq9Xq}YEO?~ApRD8@g(}= z2dEktKyA?{s4YqRD~*vfuAuhx7V5#+?^!*l+L(fh#M>J<_Ii+SN`8G)cU4(*Z|uZF zu|CZW$=yqG6M6^d1P6F$C3!PFX<0exvyxIXQd37RS)BAhT}ypaePcsX{zJ`mIUa9n kT6$9I(0yKSPI`9l?1F@l{}0(w7BGHzb3<>}`WycL17sjHjsO4v diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po index 6736e94b..b061407a 100644 --- a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Catalan (http://www.transifex.com/projects/p/mediagoblin/language/ca/)\n" "MIME-Version: 1.0\n" @@ -26,7 +26,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Ho sentim, el registre està desactivat en aquest cas." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -50,12 +50,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "Lamentablement aquest usuari ja existeix." -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -117,7 +117,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -183,7 +183,7 @@ 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 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -261,37 +261,37 @@ msgstr "Esteu editant el perfil d'un usuari. Aneu amb compte" msgid "Profile changes saved" msgstr "Els canvis al perfil s'han guardat" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Els detalls del compte s'han guardat" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Ja tens una col.lecció anomenada \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 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:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Contrasenya errònia" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -573,26 +573,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -616,15 +616,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Aquest tipus de fitxer no és vàlid." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo index 4decf20d065cbd6c70df632fcf82dc8be34925af..b524a1045b08c928f7eb482a3481750ad994318e 100644 GIT binary patch delta 4441 zcmZwJdr+5E9>?*6+~p#mpa{Ybl#99$AP5qQh#+E$CS;myfM9N0kcl{s;!`Osc3~eXPSBV~v@J-{TLMFwQt8n}#RJn0TzhJY0<%@YlE&(~^ye#)CKp`*1j3 z#!$S4^l65q7{gd58As!6^v8OPz-KT39rVMF6o*yQ=;VSwzJt2)D2Cuk)IjGk3jcwc zs7W;@3_KW)nW%n>Q5mbjU~F(df8LEZp(eQ9^{7Kb0}h}D7(~t7i+vf1u{a8|Q4^Yr zTImz00knUCxCMRjm#7TAhFanK=)pb=z^_qT_)k~IYl0nkBr3(}r~%8|xEA%`I@AO< zx$zFyS5dX`CNg((1U0|~Y{&21xP^^Zzguty_8?pBn7`9dDif$2ttbmSu@JR_e$>Ri zM5X>ZD#c-G_WnrBBu+$aMI~yWC3&vm2vIrwAD{-30=hzn=12gjw`m3)FZ z#J7+!&G?6m$;HQT8g9ih{1hi)REAA`Icf`6peD8vS))0IOYjOV!va1GWqk8G4ei-s z48l)QGrfR}Z7$(d4B>2QpgE`-aBvR3fhG7ImSPS!sTkK|Bksi_4B)7#rpi$nszYZX zjde8UVLvL>aV%Ra&O?%78t?$_L`^7%mxTxGQ3JIh^<=tT&mbq)+{Q|bC2cR@N+en4 zCe~nL9{bOv%|qzqyl3`U@cZ-3$Dj=4vjV%3)o;4$pC6^y{WKSn1bEdggY>zkhdfD;7p8}Zp?hF z!FYTZwH0SknYoY27(oFrS2G2*;AW((jPo)L{>(@GW4nwOhf@>DLuH~KdFh!on1x-a zjC_vThjz-rWhub?LIf$JCOO+1K!cnv9X$NYzeQvU#T-hEk?_9)mj!gUm? z<2dxe64!E6hZRWj%wp{KGG;fn5I&d8MoQjNNN--GAP#LO14vOhO72Sup1h3&QcwqKywt@I;ImeOlO%R9J z8^>Y{reGKrV+dBFCQ#?bYf#16hFbY9)cyN$I39LC{}{&;e~!xNf8EcAJYq8)g^r3~ z42_9cfhD*O$(HFutt4Qs9bg*j{8yj`-he^afg!jHm7#9e_fYqJhPv+}YN3Ba)z;u# z^1qkH11|XC?s@Lr~$H3_Z6V}DaJ6Y!*E=MT4@{V zzCEZ+bYU#M?a;wsdAHK-0>LiN{$%G3!= z!SkpZcz{}fH}Cxnbi!$9;2EfuFGan<+A#}1M6L7&YVYo%R`38LF|g8h9FMx5gtIUc zHSk(&#RE8i@l|98@8ATT|0R#vAA@a}%?Fzn*%!%s$k%|mfEzI4ar;|vJ8Hr~i|q=N za5!->DnpBKEG|c7ax>}}zlGX@K8(Oq7@+h27aCgOx2P0eb>lz|t!@lQrEDB(pe$68 zm0~4+e0(2p#QVISpBZ8n^|c@nzJ22i^Gh zs0S~iCh(0L-#}&X9;yb0RNLbkit0BP+i|WNpF{OKSWW)<{xIHrgXCc;DwPf@W!tb5 z_n}sl_N2{7Hmd3?P$^!C+WQvF#5UAcoIow)G^)REP!qb2dd{!Lv3nR)V=qiZ>djOB(qGrJXqm_)o1c?Fo= z_yS(Vhjjj*eVW4K!amds=Lht~%%2-W)8wKzcB2ozg+uXe)E*y4740e4%czOmMjh7? z&)5v4qKCK$8Q9dJug?Dt8tPyVDpiNkA5UR0eug?;e?@itFO0>YXYEQ;v5NRnEW<-s zj5koVlSAHfaXC)L{Wt>8V>RQOK^p6^tjYcs{3E6k&w0-7Z8Ody-h@>*p{YlUCUYmY^2cgvr>BGx1mG=!2UybZi2fZE-w|nrSPh;ZcmhuQ3I` z$1EJP+Gb=vYL6R{Iy1Xa6S#*OaCD2EK#}X?s4Z=3F||Lwu~uud#uUBv3 Ib7%ej2aw7$^Z)<= delta 4433 zcmYM$2~btn9mnybfCvJzD6%Qw0w`g7$f~%aU{D}IO^b?(B@q{pq9mlswWbmqO$<`g zU`QNn%_Q1vMQu|}JJw91F>0-8F-^v?t+p-|Q`5$&hT8AXb0?i)_?-WJ_nve9|8vfL zud}z`^S%Avp6%s~GREABGbS6u*bZE%*9CEFwON51`*j zV>Vzm_TT}m#%&Cij5qPW7(LoJW;~6kF~-DV8RlX=w%}{njEM=xL}C{X$HN$gpJEW+ zKqc}uGM0%;q)(iVN~8)y@lhOz%{TxzB|65$(D)%2eDPJ(jc;Ng9z_jw2E*~MsEOXe zV2nyKCIpjF{S=@oR*3<)*!_H!8@He)xYhMdhlU0`iyGh(YUX!w7>18ECIVAY6DmSw zIuA8KGx}jG`rz}Z3cY~J@Bqf)VH}8`qn7Zpt8KwXaX)WHO{f+1TqmlZuKO|Tf0V`}T=)R@;)qn6$@`c^ zd;=NNj7l>m2g`91Zoy*w5Hm42-Il%(wS?8EiETh~G;d)geum31n-7B+-|V8HHG3Tg z;fJW1oDGw>?T#58WwW^BSbY{#kCpQENdRfww4LUbx< ztfNtiCs3u1AZ=yrL5gA)V;4S)not@qi#V)84dfu($aK1XfSg?O1TQ zz$F-y%lb2Evw@wU-TO9H;UVkrQ~?U^SAQc@?MN z1?11fPBdl+F2F^&2G`?hhsI_aB`mNu$ywCe_F)mmv(xrqE$+a8$t)M{#zGuAg$;?7 z7>oN+OK}pF;lD8f1K0q})nuX)u0yt!ah|5ZpLv&mESI^9nuv!(s!CKLFFVtK9_+y3 z_%UjYuc4MKnDjM)deng1Q4=`idJ4UWFQFe^K{k1mxkba53%60{{T^zK2DG2`3v<*} z1c`F1ne1AK>S7jBCR2fD`We%PO~gxQ+C?~zk;K6iQd1s>nqo0>2F-G$jHUxM)lV@B zzd$Y4pklVCK8Rz9wf%CCam*A9z-g$Olp#mMY(j0bUt%R*!KZm(`Yc{vuL2hfL8 z>qR^qqcI+Xu>b?H6g7c`C62w&zy)nb2bKAAs0UueFnrzp{5>2?{4uJAU%8)ujjC<% zY`f~iFqwE3&cJm@vCLsqBK_ys{&O7~I`Okm13!U-a1#dNbEpb+x^|=P`v`U4C#Xy> zqIT0I?7-Wo3AL5F=Lv@qA9MW-lZc%!X=v?Y%Irzb#{l95=#R@$6KF(VdRRMd^xsE!IS7#Cs)u100* zpzhm&sze9I;9gXwzeR1%KcV)(zfcnme%S6c4+b&5nLxvv4<1BiT!y-_64l{)REHg? zO1*=Lcm}lxZet+!VLA@tjjw?x;wYStIrt=c@aL#RFQXUZn;SHg!9S6bm_Ag;VRP;E zNGu{AgBo}>Zor+`qx4Rmv9BIo^d@f`b@}M{ppXL1lOzRl$pH+=sf)hqJ4SMO0G% zFd7M5&?d{rSbPYz<_#Evn@}D72(?u2pf>3t_w!?@rTYVp#EY(83+#XisQ&XX3d?aA zu3SL9fRiyC+ZM&kET z-uMc2Ui&Yy10-WB@l-cHj_UXV@`Yh;V=m_N)uBo@ zqAKULigq--rwj@cYT|XUF;u_T2ufPm!MlHpDR3`7CI_yDZdd%3iN;j z>~}&r@@Mw*PYDeEj(u(fs*)2?6D`J6o&PyB3b?QyGx1kA3VX2xLu>3iyb5O${}ff~ z>sW{0kJ>NzM%1P{h^o*jEXBX0`pJIGUf+bN#GRPJ_~s;yF8q)C!Ar~Sruqn#@paTI z)UVbqMJA3Ru0dV_W-D&QiR~WMd+fXl@Tj+yhRG!kiCMGuCov!yOXt#LKh;1<*bdQk%gHQ5Pdxz0wd=`!@g$52b# zfGT|x4!{=F5^Z+P*y=XgP#ymm_292vkD)p|js^JpZoeTn1H97;Ya83EDk8h1;}1rA zt*uLKFE2=Hudn~SyQje8>&Z>=WXEOX\n" "Language-Team: Danish (http://www.transifex.com/projects/p/mediagoblin/language/da/)\n" "MIME-Version: 1.0\n" @@ -26,7 +26,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Desværre, registrering er ikke muligt på denne instans" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -50,12 +50,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "Desværre, det brugernavn er allerede brugt" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -117,7 +117,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -183,7 +183,7 @@ msgid "Email me when others comment on my media" msgstr "Email mig når andre kommenterer på mine medier" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -261,37 +261,37 @@ msgstr "Du er ved at ændre en bruger's profil. Pas på." msgid "Profile changes saved" msgstr "Profilændringer gemt" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Kontoindstillinger gemt" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Du har allerede en samling ved navn \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 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:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Forkert kodeord" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -573,26 +573,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -616,15 +616,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Forkert fil for medietypen." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo index 735eb7823cb5accc12024c391faf003509f15c18..f9036b92fa668e1f43ddc30ef53807cfc13af213 100644 GIT binary patch delta 4438 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 diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po index 55e879b9..7ca48ab7 100644 --- a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: German (http://www.transifex.com/projects/p/mediagoblin/language/de/)\n" "MIME-Version: 1.0\n" @@ -37,7 +37,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Benutzerregistrierung ist auf diesem Server leider deaktiviert." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -61,12 +61,12 @@ msgstr "Dieses Feld benötigt eine 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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -128,7 +128,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -194,7 +194,7 @@ 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 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -272,37 +272,37 @@ msgstr "Du bearbeitest das Profil eines anderen Nutzers. Sei bitte vorsichtig." msgid "Profile changes saved" msgstr "Das Profil wurde aktualisiert" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Kontoeinstellungen gespeichert" -#: mediagoblin/edit/views.py:281 +#: 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." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: 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«!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 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:336 +#: mediagoblin/edit/views.py:332 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:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Falsches Passwort" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -584,26 +584,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -627,15 +627,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Die Datei stimmt nicht mit dem gewählten Medientyp überein." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po index 6eff8296..a5f9cb72 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: 2013-08-26 17:38-0500\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,7 +22,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -46,12 +46,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -112,7 +112,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -179,7 +179,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -257,37 +257,37 @@ msgstr "" msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -573,25 +573,25 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -615,15 +615,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo index 2efd841920fff92a5d43bae2f73e07d29540aab4..067d4f4fb706616498cbfb4715e5b677cd340912 100644 GIT binary patch delta 4428 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 diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po index 2f136500..4510069d 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/mediagoblin/language/eo/)\n" "MIME-Version: 1.0\n" @@ -27,7 +27,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Bedaŭrinde, registrado estas malaktivigita en tiu ĉi instalaĵo." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -118,7 +118,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -184,7 +184,7 @@ 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 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -262,37 +262,37 @@ msgstr "Vi redaktas profilon de alia uzanto. Agu singardeme." msgid "Profile changes saved" msgstr "Profilŝanĝoj estis konservitaj" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Kontagordoj estis konservitaj" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Vi bezonas konfirmi la forigon de via konto." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Vi jam havas kolekton kun la nomo «%s»!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 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:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "Vi redaktas kolekton de alia uzanto. Agu singardeme." -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Malĝusta pasvorto" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Via pasvorto estas sukcese ŝanĝita" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -574,26 +574,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -617,15 +617,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "La provizita dosiero ne konformas al la informtipo." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo index bcb46cb265947da363d64a5687d9bb627ba47ce9..c9965ccfd95be5c357a70939343884d7a3f4e512 100644 GIT binary patch delta 4544 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 a$Je(#*O=JerSWP=+s=vE?IW6}hx`{JzmsSH diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po index cf908bc7..934fdad6 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po @@ -19,9 +19,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:41+0000\n" -"Last-Translator: larjona \n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -35,7 +35,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Lo sentimos, el registro está deshabilitado en este momento." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: 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." @@ -59,12 +59,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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "Lo sentimos, ya existe un usuario con esa dirección de email." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "La clave de verificación o el identificador de usuario son incorrectos." @@ -126,8 +126,8 @@ msgstr "Necesitas verificar tu correo electrónico antes de restablecer tu contr #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." -msgstr "Ya no eres un usuario activo. Por favor contacta con el administrador del sistema para reactivar tu cuenta." +"reactivate your account." +msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -192,8 +192,8 @@ 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 -msgid "Enable/Disable insite notifications" -msgstr "Habilitar/Deshabilitar notificaciones del propio sitio" +msgid "Enable insite notifications about events." +msgstr "" #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -270,37 +270,37 @@ msgstr "Estás editando un perfil de usuario. Procede con precaución." msgid "Profile changes saved" msgstr "Los cambios de perfil fueron salvados" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "las configuraciones de cuenta fueron salvadas" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Necesitas confirmar el borrado de tu cuenta." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "¡Ya tienes una colección llamada \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 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:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "Estás editando la colección de otro usuario/a. Ten cuidado." -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Contraseña incorrecta" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Se ha cambiado la contraseña correctamente" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "Tu dirección de correo electrónico ha sido verificada." @@ -582,26 +582,26 @@ msgstr "¡O regístrate con OpenID!" msgid "Sorry, an account is already registered to that Persona email." msgstr "Lo siento, ya hay una cuenta registrada para ese correo electrónico de Persona." -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "La dirección de correo electrónico de Persona se ha eliminado correctamente." -#: mediagoblin/plugins/persona/views.py:143 +#: mediagoblin/plugins/persona/views.py:144 msgid "" "You can't delete your only Persona email address unless you have a password " "set." msgstr "No puedes borrar tu única dirección de correo electrónico de Persona a menos que tengas establecida una contraseña." -#: mediagoblin/plugins/persona/views.py:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "Esa dirección de correo electrónico de Persona no está registrada para esta cuenta." -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "Lo siento, ya hay una cuenta registrada con esa dirección de correo electrónico de Persona." -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "Se ha guardado correctamente tu dirección de correo electrónico de Persona." @@ -625,15 +625,15 @@ msgstr "¡O inicia sesión con Persona!" msgid "Or register with Persona!" msgstr "¡O regístrate con Persona!" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Archivo inválido para el formato seleccionado." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "La copia al almacenamiento público ha fallado." -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "No se ha encontrado un fichero de procesamiento aceptable" diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo index 316bcd880525fbfecb89aaeae9a57523ed84bae4..533a29bba1239e987aa0fb09ccf41133c3f5eca4 100644 GIT binary patch delta 4433 zcmZYBeN2_-8OQM(4ir#8go-a998f{9C?Hf|TET)M*0&0^z9Ar3T00yHSbXWzhDu3? zHG_7B*^HJ#Ow_hibeT@KnrtI%Ds!$yy2eG_ADvr@(Yk0|=e|Gg=f5S!&wV}Tocrav zuKRF4`_|{ew?4hkc$_3-%pI>WPhxbOG3mGl1F#wW@NFE6?KlBD(H~E_&wqtWi2Lyg z92alQKAew3cm^x5ZJIH&@E-mb&&Nx&(%6a%ml!|`PdLo@I+LKXQLJ@bmMZ=2lt>h z@P-?=xgJLKMmMr|(~DYQ7@Kj#jThQ5$PQ&S*~Idc2NXa6T`Fvc7qrfok>% zj>U_poem>wn`^iLL%5q-Xc?*p99)JUVgZieV$9@CYR0`-gB_TMfm}89R1qpe73i#C zu!q4497Lr$hGXl*Sx8b$6@Gy2s10TEW#Pq2)I$4_ellII7m%B4{*A>LP1;_=S|nNK z4whkj7WHS-rio5a_x=J)@ho~UD%)lv7S)8)aXhBDF2qRU)u;?sV>mXWPS}B7Jb_yH z3Thosj{RIv4*Ay`y*voOY}5pK7>dQHiMOCm`a06k=I2;~1E?N|{Q-9$tC7Q*yWlG&H)DeGr!?K%4K}GoZ3hhDif8+m!8>$>DYQM{6i`u|h*DL5DzJ)>f4btR}xz9kU{~mSU{W+Fu6zm%AItev# z4EkY#YY}R~l}Pf;IvnsZ<`6azmoK&@xr&pC!$_+Rkc_dcZweW3B~3MwRnvjm`7lnw z+o;-&rO*@6i)zL!WF3=-!T2;PL#vRBVwzC3KaK109=^#3RxPCr#8-=0hxJW3m)L_z z7=0$$y4=e>Xbsd29HE69Hb zFJ$r{7zZ&Pze1(@k?X{j_A7Y~s&>z#7aLHYJA`Af8?}K?FaUp#k72NZ2fJ}MDrNUj6UMIQO9zv20iv%#2D*G)P~dW1LVq^-{BMt-e3=sh~dO@Fi`h@(dd9brKl7ZqfT6lYMMq2!A^|8k5H*Q zkFj_QwUIF!ZOvz*=E*^oYAvcsH{y7F(T(?DyzYOC26zm$vrDKhzK+`YeN?R@HrZa8 zh1yU)>ZH%27HB|SwA&ijvJpqFY#$qDZfNVHN43{K0qxzuGFSD0VfgXy74;H z2X~@2u-A>>LUnyRsyDh(8R|vNJB-aZ;>Hb|?Yym<$^Rl==;48C{WWT$xH5a9bUaAB z5OtzK)b02J)6lovrZ@xD#M!9lYf!1)k2=61REBy{8#;$7&6RTUAIspX``|v(hvs|i z!4g_kCwYjOIDL!#bGshr5g)^+@Fo^we5L(~whgBecjA0Jhs*Fg)BzS(*}n-p90q*W zTtszm+E)9)TvRGcQC~za;cTqO1=x*q@di%A$QSGaIaom4jEnICMq@;^{VkY^dBmNl zo^q};P>LQPSKoxcXnzZCMWyr<@`uU{VhT=q$^I5BL~ZC6dU5hLx9c&9c&+Q}ID_~Y z@|9pN<7=4k^5{=8#~fi$#)BbD$E+XP6K_NM#WbJ?KSw_tMqR^es2bmK^{cVX8;MGN z3hFj3LmjXb_5HF7=iqVl*Zu#Bfx7+%j%EVYEaBU2v&3R3aVBcwd{jy+Fc}>z!J}A+ z=12Co;8J8Na{zPkKgeFqf?E6M{1|Rxee)TEy%@8@{uVrpvxwt%+S)G1CB(JZg{QF% zH`dwTf+LtuTvczI^C+sRAEHVT)nE@;fC>5>=3o;#X$*eNK;A|*NBl1PH=q)=k;AA| z_G2P`iRtM3ip@wSs>W-u7aLIv!T>yhkKq~g z$MdfJt`|`!xq|xKcdn06^ZD(zwyB=hN_ynowM7DclNc! zEsFB3sp|{d(dE}yllQJ?Om<3YhBxiWoYeI8kb)Q+rl;kk&h5)A_&D_cXE{+E8e?Zj G4g4Rsu`%fY delta 4488 zcmaLZdr(!^702<7s60djDFl$mC7?ifUr+(XCjv@DikcWuP%NhS022_3MK8%TXeTB# zxlO8R3MFG~Z5lK|)5$o~(PA{zN289KPOa0awv#v#)5NBxM%(Yteg5cQopJo^b?!Z9 z@3r>YhkN?A&(YgH2OstIBpPGBa2YcVBNB{p<6`u~E*y2M(9PlvEgy&EbTt}_^EED_zJ2wdXY7oU!f+rfZh116K`hY_1tcphkeLad(2-MsFaiF9A%V_Jy?Ls zU>LRcAE8Qr16AU{4Ey~Fm_rN))nV)p+SgU7jW0^h{A zOqaq$jwg_lYd*(i7(v;( za05~-a}!r%Og{V1qRlosLEU>0YwF62J4aJ z%s!lhSCM}vex@lbl2C?L92T1Ul^vY{Zu_Xg1r0eOQd) zb7)Ac#&~=SwH2pO8U7QeU=R(!T1_r0;U=W5jAsV}{+ajrkL@ydQ44W%NL7hiCZVzHL-ohQ+uxKH#Gvf1$ z>_kDFT3_NsoP^03g7a}aE<-J#zT9Ikv~xl2_#7(pAER#Q#V|bJd_IJ!#OF~p{Kolw z)T1_zKy7jirr}a#jmCrZ_#rBhw8i%MYdj2e;-5xM+>hh%EgX-(L6zv@QHNg*1ZMqBfATNgCyBLZ? zsEjY-X#50Ki4oNIzeXLv$ST{MIjF5DM}6Lo{`e{eGr#F$pa%`0N;HVd=oH4_h+`mc z@@(Q{OvV+c9_Yd_?8X#)4RtDpFcJTZ>It7^wwd!$iEcoD<~J=2ltCv_60;Na;9lqY zUMwX(i0OC-PvGR`_SfG{RC67F%x0SWxc&9F6!W-VwZb0D9hgu23*3%>LCFr?o5>`cNSKH!?KH>Ps0x;$GHyWi%qAR<-Wuv3 z#-N`ID&1j>$E&D?+{aLiS!o}XiQ1}iRFhVsK40a;&8TkgbnHVd?02XpzKB}*P1IKV zt)l*s4B}VW73HHcEkRAN9(CN>QBC;_#^O#V-iI#Yw^5m&MQ!0_#}U-TzO}Z((Wv?I zoOrQ^fo^;fRg%q4ydBl`J5ar`8&#pbs0q$sH(qn%^>y~aT{w^HdoUlbpq>-H+9osw zdx&#U33-MX=y?1dbMPxviBs0t6=$HXm!eADfy&@{RE74U7W5A4zLOY_r=9pF(ud|B z_$Dr-QiG zbBVpErn-o#&;oJ#EDPaAAdcVMjYN^w{|X;5;wF^ z|2G)C&4rh-veo|jyN1QYPi(Qx*^BDxTd1v=&}K6%z$v;93$Yz@@Lk92sNRTZw|@gx zpcc}Ds^k$5gJcG0(T!iBDw6s=yT_$?ka!bn0dXC6!dVzW+~C-W+EXtE;7?Fn+mC*@ z569vFYKsm#<{fbc$55G^MBVtAd%>NhsH z8k<@gTN_+W&8>~=8rQCAZES98@dhnx8GJEe-X!1Frc7^TQOe-mnZf?<{0#RrSI+dp z-29B}soB|ql}j?J8rm9LxFw@_O>0A;%blH*o00wCdv14OZo%M;1p~qVf3CrxWx;X( OGf&6p!QZyM==)!hnoJ4+ diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po index a03680cb..c1a16616 100644 --- a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Persian (http://www.transifex.com/projects/p/mediagoblin/language/fa/)\n" "MIME-Version: 1.0\n" @@ -24,7 +24,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "متاسفانه،ثبتنام به طور موقت غیر فعال است." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "متاسفانه کاربری با این نام کاربری وجود دارد." -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -115,7 +115,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -181,7 +181,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -259,37 +259,37 @@ msgstr "شما در حال ویرایش نمایه کاربر دیگری هست msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -571,26 +571,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -614,15 +614,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "فایلی نا معتبر برای نوع رسانه داده شده." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo index e4c0517cedc1ad3e400658e16a3921f931db4745..9eb5dc6507b5cd9d8d6d392dcc3d99973273a065 100644 GIT binary patch delta 9505 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 delta 5256 zcmX}u33OD|8Nl&72@nz>kN_cjUf2RzNJt=reM!Pj2qb_k2^lgkW?+^uOCTZ)phQJL z-8b|4 zrl{RN+m6hR4h>LB{a`3nib>f@72_O?!Hw7nAH;6B9sA;L?2Io*t{=l`^iN|x#`afg zJ(l7nJc=uD8Khp`8qMw#e6Ov0-u3;i$l z!qg#3C14)PIO9nV=10u^l_(qbL#Dg|fq=Xy8fgikDGR_(jA}2Mw7xA=e7=5R?h0MEXln9t@%^ zU_+$8E#l)Swec*nX7wV<1Rr2KUXS!!NW6^Oj#F?ClIoE9oQ8xljmnW7<>Mnb8f6FP zP;&o1O6b2r32|J3b$?GBPCp$b6;&t`HAFsdLs?Ke%5zVnjI-}fpZuSuv4{(2@c?EH zvv%@2j--DBnNtlYRB9Af;{<#Vr{kMgg1w5Y&{v?Oa0SZ3)+2jVFXIyY7#p#a5966% zJxN1yb_l!Snp7PQIndg zK#9;Y4AsyG(x}37D4|Yf+p^9!KGM-EqE_p2+`O=V-^XPBDsi?+gmsdv#GTG=)|4aeIn_? zJy?N#CsB~N1heqhD5*G)vcn&7Fm|T^SgR^Q*{}yGD;0Wx27l@V|45hWKv_sJhg2d_ zkG$;EYAnXxn1S!0F zIS$3UP{OwvW#9)1F%z96kqwJso zWueU|J6nfRL-%7kK8AANVNAy3C@FXkB}Jd$op;bp8WQr%I&0!`>`lKG)3F()+P9!g z@DNH(?7}|y0`|v0pd8arQBoIIZxvfE%CVe*ateYd3))^!{AEQ4xga?^iZbAbC==X3 zNy#rL3+%kys^(lY=nqHP`FxZeEycbV#3Xz;a(zF_gr_3?zo0z#-SUvN<9|mk#5Pzv zOhl>fER>?lLm7Apwqpy9!<#5ynIr7h55MI&mHvKA!|Nz1>b!!lRZK=n$!}01b|OS0 zo5p4AgtsvRqZ_TSuxyl-*Ps-s3o}ti`oBea?jy{?D=0g=jq@ZqO zCGtVKPFlkq0zzd(8JYn0-P@>#WziE`|6P)^rGl+@H>D2IlRMj<|l%&p$W1{~|R zLisdGDsE#X&JR#f_yo#;KVTik1bH{0iCgeHoQlC#t9DMIr1l2x$MQAAe-Di>*KiZI zueE;o{fyQ0C%0KuzY|O7pFmmp4J^iP#I*`1pn=nW(P2h1@>anbOSf}%V36&H^w z866&5nQznaeJ<$SX%3y+w@AM_El+RhTda-gg_%Cn?QJ!Oa>@$|jG8ltTxMf{u{@^F zC@4_cTalrYlVm#d}h#RnErs_5Bge7Pter2Q;U+DT*0-*2-PnW_U_kXPZ7b*RCH*&(LG5N9lvC)Y5)Ag;a{^6Om{cQga zv%Y_UsTXFC>g!WeosG>-Q*@ceRIkr%4}|9|>=GT$9yr3LPc3ok!-GQM-z`04i=XXm zG(CRPXz`g%Ozf{K(=X-3>Qi-TajOiw%VqdXyF*{A+osEhWJY=2+A$=%w>Q{o+Jh`6 zU^sZx?)RJe(IEqM)bg`>&d_2V)6k&b8ahbtY)H{jxtsMudqUUhim65u>(M^@9Q{e| zZtY&-)CcpXgo_*NZBebJ-tEZJ{R@iqbw|72Uoa@F%?_L1QCOtg3qRLqn_c=?QNC_= zuGHg(KOS@DkYR5%8}*07pAV<68er4+mSpIKuDf;D5mUm^?yfeSIWkp`_Ds@cBlE+j zJu_{3e`&5RZ7I+{l@1PXZE3gZ`^rjnjc-GKt+z$hwzZh5%Ih{9Il+L_<@A$|pieFE zn?8@-Z5m#mQR%ijUHZbZB%R@p(ep=-)GPc4bnKXZIy*2wW3lPamsq)6ZN$W7228`< zX4o4Wy+KbP{6t_=l(vuaMg=^2*P3m5-uQNXWbFl=II&*8*OsXNKA}Y0?%5kYFtNKW z{MovBHvQ`4Hhq5maP64l(QO+B=\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" @@ -34,7 +34,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "L'inscription n'est pas activée sur ce serveur, désolé." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: 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." @@ -58,12 +58,12 @@ msgstr "Ce champ nécessite une adresse email." msgid "Sorry, a user with that name already exists." msgstr "Un utilisateur existe déjà avec ce nom, désolé." -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "Désolé, il existe déjà un utilisateur ayant cette adresse e-mail." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "La clé de vérification ou l'identifiant de l'utilisateur est incorrect." @@ -125,8 +125,8 @@ msgstr "Vous devez vérifier votre email avant de pouvoir réinitialiser votre m #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." -msgstr "Vous n'êtes plus un utilisateur actif. Veuillez contacter l'administrateur système pour réactiver votre compte." +"reactivate your account." +msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -191,8 +191,8 @@ msgid "Email me when others comment on my media" msgstr "Me prévenir par email lorsque d'autres commentent mes médias" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" -msgstr "Activer/Désactiver les notifications sur le site" +msgid "Enable insite notifications about events." +msgstr "" #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -269,37 +269,37 @@ msgstr "Vous vous apprêtez à modifier le profil d'un utilisateur. Veuillez pre msgid "Profile changes saved" msgstr "Les changements apportés au profile ont étés sauvegardés" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Les changements des préférences du compte ont étés sauvegardés" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Vous devez confirmer la suppression de votre compte." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: 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\" !" -#: mediagoblin/edit/views.py:321 +#: 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." -#: mediagoblin/edit/views.py:336 +#: 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." -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Mauvais mot de passe" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Votre mot de passe a correctement été changé" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "Votre adresse email a bien été validée." @@ -581,26 +581,26 @@ msgstr "Ou s'enregistrer avec OpenID !" msgid "Sorry, an account is already registered to that Persona email." msgstr "Désolé, un compte est déjà enregistré avec cet email Persona." -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "L'adresse email Persona a correctement été supprimée." -#: mediagoblin/plugins/persona/views.py:143 +#: 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." -#: mediagoblin/plugins/persona/views.py:148 +#: 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." -#: mediagoblin/plugins/persona/views.py:175 +#: 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." -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "Votre adresse email Persona a bien été enregistrée." @@ -624,15 +624,15 @@ msgstr "Ou se connecter avec Persona !" msgid "Or register with Persona!" msgstr "Ou s'enregistrer avec Persona !" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Le fichier envoyé ne correspond pas au type de média." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "La copie vers le stockage public a échoué." -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo index d5daada98c891e3fae98223659127c48ceed0825..487668e1b22387b0603ab9e7e47d3c7a4cddcbb3 100644 GIT binary patch delta 5444 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 U4(MW~j*YW&t0H{fsxJcm11IXxkpKVy diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po index 93999287..251b528d 100644 --- a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po @@ -10,9 +10,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-30 10:57+0000\n" -"Last-Translator: GenghisKhan \n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -26,7 +26,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "לצערנו, רישום הינו מנוטרל על שרת זה." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "לצערנו, אימות הינו מנוטרל על שרת זה." @@ -50,12 +50,12 @@ msgstr "שדה זה מצריך כתובת דוא״ל." msgid "Sorry, a user with that name already exists." msgstr "לצערנו, משתמש עם שם זה כבר קיים." -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "לצערנו, משתמש עם דוא״ל זה כבר קיים." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "מפתח האימות או מזהה המשתמש אינו מדויק." @@ -117,7 +117,7 @@ msgstr "עליך לאמת את הדואל שלך טרם איפוס סיסמתך. #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -183,7 +183,7 @@ msgid "Email me when others comment on my media" msgstr "שלח לי דוא״ל כאשר אחרים מגיבים על המדיה שלי" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -261,37 +261,37 @@ msgstr "אתה עורך דיוקן של משתמש. המשך בזהירות." msgid "Profile changes saved" msgstr "שינויי דיוקן נשמרו" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "הגדרות חשבון נשמרו" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "עליך לאמת את המחיקה של חשבונך." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "כבר יש לך אוסף שקרוי בשם \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "אוסף עם חשופית זו כבר קיים עבור משתמש זה." -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "אתה עורך אוסף של משתמש אחר. המשך בזהירות." -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "סיסמה שגויה" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "סיסמתך שונתה בהצלחה" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "כתובת הדוא״ל שלך אומתה." @@ -573,26 +573,26 @@ msgstr "או הירשם בעזרת OpenID!" msgid "Sorry, an account is already registered to that Persona email." msgstr "לצערנו, קיים כבר חשבון אשר רשום לאישיות דוא״ל זו." -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "לצערנו, קיים כבר חשבון אשר רשום עם אישיות כתובת דוא״ל זו." -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -616,15 +616,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "ניתן קובץ שגוי עבור טיפוס מדיה." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo index 8a5ffcf47999c2c357ddc6d1b2d85723f2cdbaf3..53444ef4062d0a0179fbdf7bfa73fad996fe6493 100644 GIT binary patch delta 4431 zcmZwJe@s@_9mny5fPez!xALR%fC@T5;Sm%O6h{#X3Mx=RXNwAISA|)T#g%&NM7p&W zQ;4-pG8J|158GGS$cpQH1Aoyo?SA&)WBF(JtqFIHgycAy`2;%Mx~Xxxkbc*4DY3QOpp!E}5i z*_h`s9|!OxuEehK#-!ml_#aG~U>uW8!!yyCM6AJF+=N^3P27wbDaOR&VSE%%Vo5=<9Em?mb=WnHom>dOBd8mXV+fu>P4p?o;C0kO z%_L*Oz=PqKg&L;_6|s5@#zyz|XWf1~YJso19(QPH!U5C-H&840AunSv0mouCYC#K7 zJ6(pFK=}*89q5m*p(50a+Tls`;AsrRFHtG{%GL4to}G9MD#TMz6PCLD6{rWFLoJ}) z?RUBELDj}VWbNiCYJx%Rz*}y=mBee@9r%4bgrwRr*Jvn|NmPz@sD=Fr z75dw#5Qk;h`=c?7eljW*)u@S9yT3cA1?@mR*M}PC@c;Vc{|t>KTsVh^aKaS3laDcn z{vBjaGkK~pGw=zVjh$GE=W!awWZKY|p;EXOwXki-9?c0{idS$I=JR7H^P7D%l(V;R zG@eJTbP$=_{1po@gtMuM%274oU^yPZV!Va(Fo&B|jBVJ2JvbKwIcln@GE{_CqEkiV zIT{ss0Tt?TY+F0dMS@})aX)sW7L>!w!h;Q{iMAv4WcpmsAt%?|!)i<*Y%kyjBv@t$ z>oGZ({Ih7YjY?4UzJpKVd+3YtGi@XiQAIcb!!g5k4#v=5go@x=jKB`m4tvmpZ=)u@ zgqp`U&psEFNBni8hYJBX6E(nG48>~Hz^hO@-HH^n`6briSyT-q&f@IjT4ZzP2o~a1 zu609N_K;_n#3M;`>?89d4!iYJ%9q|x8hVg~QEW~46H zC#W3XMx`uP!sM#E#N)ZOXy4g1_t3xq{tm}pN2yJ5Ov=D*_Lt?>>A-Z7B%oV z^uuD;GSq;TNbpP@UiL9&H@4DWH_xWzZx~BIp0H{IIhe@&riunf(riScY7U}Seih?z z7?ryi5d z7?0@~hNT#Sb*KfbarjY z&oJ8NR(&jD$J@m^l7}wz_+>Ba4I|kq$d;|}minSk;a1gU` zxRUsfqmjuO`UzH|LiRDL81JG67{+KEy~su)2{nNibzdH8oVo7r^%zcn18S$+&<|fj zMPd)?{=*IpoyU(*)%iK9=>Fy25VhDA+cXU2dOm8Pa@5WjqIR?#6VO3Lt`{}IaZJTa zsGJXD1p4saS45pC8k)EOweuyYn%Ih7{0(ZSU!f+xgWAD;R7Cu$?Z9!U>mDq@bWFz< zd>;4X04CPhZ^3UdP3M2<6ZT`U1GBkd`x5&iIf=RSKf^5;S!=%qyHE=buCuj}f|2we zLq(_-$Kx7QExnA2=$ojGoJB?8A_nUGU!|cOe~k*^L)49N99rF&j3JnVny3g>WJ@p+ zn=lMJF&y`z#yN(H*dI`-y5#=;h1(y(WS#%-)WGCrcEV!R1hp84%{T^MLe)wiYC)$^ zJ3Wh<;A_-zdw|Nd-w$krMxlyy5_)hd2I4|=l*2k2vKck;c8tYd)P(Q2{R^lEucH<) ziwu>*~*w-<7edNT!h2zQ}&GHZo> z6EYXUq84@+sd|&L%KlAQ?9kw!d4vB{z2Ob^ zK@TdVvr%uhGMs`nSb*&~4L`u~cn`}luF-xAuEu%vk6;4c!6pn_ZU5XmsG4$4(@=;8 zkt1z}umb0;v7z3D+VNYMfq%jMIBKn3&=K^||1)Z$f1}ZgZJ46xFb_|nqaA-kL)97DVvC~?r_=u_Y9a4p1pXaU@jiOd zv&lxJ3YFsx$VoN3Q46?-nlPr-E}+1*8kN##TDd)lMl%{2Hg9V2G`2Q2wQQWyADwg}eneAC|GE4b vfum+-WM+G^rsrjPyF-e{*{(M$FLPRdPH}SR|9yJ>$o?yJ4bgUp4+H)S@RBei delta 4480 zcmajhdr+0f8OQN8h({ETC>Iq_4qCwr2pkC4O03};yhWu(h!>#HP!)(=8jNsgrUf0f zT8SoR)C5~IZK9YN5@%8;ZH-39Nikte8*Mb5wA4gnh{n)nLbd(=-1ndU)fvan?t9*M zpWSDleR-cB9I<0?#A^%veAA6FUwMp4!|)hmytoKm*p4G{D~`pT7>4`NACEiN-@pR; zr!XD^rWwFNmH8=sQaWuBzD10W)XG|20ZCr5S%cvWBFbGef0=H|~-#0k@Hq->SJNEc!C}2M-zyNCI!#EMcXBjgI z=b|Q5fLdt@DnJVcUj-~h!R$>}Ix`}UI zprJkc4UWZgsF_|wVw+1i4_%y11~-7iOHxUoQmTy&M_0i=@+9iSb-C;9ks$P z^x#oc;67BGyQt^!YT(tVl|GFWw0Ry&@HDChCTH`q!3tz? z=4G6ZA0z)v^mmO3#WGxt^|%Eu_-Oo$Mll<#BI!r%?OiOu7%J^B*5Dote2DGB7cm#Z z=2MVZiqZHgYAfDFt#AlqF^~dat|kSw;98`tjIWah|IC~G$99=v)I_`-Qe|Qd^0G5e zq8In$6#OGyHFE2;n;_M^an5iKSPQ;> zhfq`f7$a~9wOPT1l;=bmGuUF4-#jFa$;Ut}MCGIeIT~gws?2_er8tP4JWy1`>x_Q? zBR0@jPOTsPX&8yI7>o-r2$!QKP+sh_7n-@Ca{MW3TF8V&cKkvg4W0N^sK8rsEbhS|JcLT!QODD$`~HHu zZveH@Tc~RK8uz1XvAwSwr_p~EmFWwP*Kj6%-#r@IySOFxBD$dKOqPye#?p|hVEdkxcH)%99P#$XKkDykx5~HvM zmAZYX06iFoeW)53!U;HxN~xPSz5=J?bbJ(56HVyFqo{@c6-N@^d`d$rxQV31e1jU; zy~17(#RB>sjK?Ri75CzY7*b-t{yxV!^cR2Me*JC6RQfF|?Xm2^4Eh(a4PB3s{}vh@ zG&Ezg%GN>zhS1GGH!ei2qzqL|K2%B%qgL`3Dg*D}XuO2l<4;f-yp6ig&6(AG;TVLo zO3A+hrE@_=R*cbDfx-9;j>j(4Ku1tp^)_m&&N;t-;PkJdCV0m&yvzp7M2)`?Bd`)D zVp|#cSF!Blf@X9awbHjx0X{(;w?WjFe1keI_fSO|^|(DX(@`tWMQ!0C$4XS-7MzT` zQSn}J`lo#~^x#$01g<&#uTeE|*D+wVEv_(BfE?_=6;A&n)WElqKNx1r8oSqvP?_vN zE$BJig}*{Az?Zt#&MX_1`Vv%%n@|sI#$@b7ZN;0YK<_%g51=M=8}*!PogF6-)sIK& z%_QRy+=e>G&_9ma!#>o+K0{S~M5XG@M(uI8 zV=t@~?p}aX~Bn zC(g!@jrQv=2Mg&xix1;fRE@-t_xZRAv+)HC#XsX}{2aGnQJwwxJBxGZFRZs)`xF+? zKTuEp57QXn!XE5=(tiC#Y_eZ}yKyPk|Af&P+hDgKAGN}IjMa0Pg*~VhUq=<^1C6#e zQZbEwGioBoZ~|WT(TJmQ6TKMPWK&&$+T$wZsG9Al3EV&h9MfzkknC89+S9cdfR(7N z-H0ySgsOqfs4e=5V{)g{*ohjr3-#b{9e)kNlrl F{{?)OO633m diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po index e04d741a..84801f32 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Interlingua (http://www.transifex.com/projects/p/mediagoblin/language/ia/)\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -49,12 +49,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -116,7 +116,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -182,7 +182,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -260,37 +260,37 @@ msgstr "" msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -572,26 +572,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -615,15 +615,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo index 7dc7108d64274ed35b26de251245d243018f29a9..650605cadcf7dd202273373cc2021dc2094411ac 100644 GIT binary patch delta 7603 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 X_KO3U$TQ3{A3DL;X7)D^7KHvE55lB_ delta 4923 zcmX}u3shBA8o=>=MUa>H;w3K+LJ0B(K|o9}NXiEoVT6iYQjUgTahd~nSs(#q7f zY0a|nnKNaR)>UVkR;JnXSY?grj5cLXW^0+foaRyHnDhTQXSJ5g-`?k*vmf90?Y%hm zz<^6PYzL>o5#AU=%)ufq1}rei*0FKaN=#GFqwC zSd3@!5Vqo@OqPk?;m;VKs(fl3jksHs8ilo3f^O`^-(e4qNmFVh?!rWT1xMgV7=hoQ zY~+8)T*?^3n0On?Mw)RrF2G>y!5~~a#-~&QjrBYjg!@old;tgJag>QZz-as&WuZUe zP>f4gY8Ymsj584>Voey1^Q_-HtbQ-b0w1w_!ACl`~)S1Us(FC(~yaWjWt7@jxyn7t3Mm%!)}xX z^jiH#EuTQCjo%<^R?neKa2osYORL{W;$_@EoQyk=RQuFL8WPHQDo1vdg&VOHWe4w| z;?QjK{UMl7KLI5bGf*aKv3~DCSx_I!ciU0M+11}C|HoEl8H6H8mR$PZQ_!bu8&^$BrRVXQJMOoNtWRL0qHsQxOAB*`hg89|2 zX-LkV#V~veWu>Q)xz#zGh=VwrGEp^34fNntd>X6qOS~O(c}a?K8M;toB@W=INljIu zL}(8B>S=V-n1S!0ggTaO%Z>|>ps0Dc3pb!FD3{B^z-E+*d`KCo?UrvMCs$p?yD^%u zt-*FASn6wR!Gsd>&!W|8DnY9EAU5L>48W*TGZG_FiZBU>;TX$OjHW*oC4#Lu9M_=i zP@{p*qfC4fWu6---vyKre|a&k%sl^vC<9Eu2%Ld3@LZIgu0#r2J&6r?0;L8SFC#@Br@p5#hzCEQocEh3 zISSIJLPq#xs8}}2t7?*E70M8IAYoGVc)_OBW?V*p>Fs6`F5^i027!#nGEBu;D0^Rt zci`_)V)6sV;ZQOv{mdH5Gl@nO55jRiGLPy+IjCJILG4A3hI$z}Yw9~(fGLc=hYub` zIjA}Omw+oU6t|%)Y&QtK ztj8GKf)dl`aXP+)nJAsbkcCTe8%i~Wa2pK9CLaws@rzIn-ZqrbKa28$A0^AjEzeoM ze}`c_zlMV_u-1HkFuqPd9_9B>F$=GtEIfwUWx=J$Wu$yFX-K*CVJ_~)2t0#9_&G|7 zuAuBVWTqLBNR;wSMH%=`9FH9+DcFl!@i@x3jdz(h%sP}B*o>sYr=GVSypA%#d6ZCI zMw$3q9EyXvNTq0!Q2OIh-m5{0zzmdPoP`pxPOJYA$~e1F7I+M0V?W{u=2thZ2P3#i zhw(!k%8s&7YG4M+fQvB$@5gl9kFtO>I0XNW)TO$DataC?%$ueW$&y-y1^6z?0)ECo z=2wBU%<2zAgMKVZ4V0n`d>hWjdd$ZIsPQw5v2k79qttTx8yd|W2HtD_^*0fVd0yUR zF5H8a^qmP<1k^4x#RH|MZX>;&6M^Qff1ZBW$RzIlO40#I5^9+=f6{Cz( zgQKw#B?T){#@UI{_$o?D&tME*Z6^M*!{B-5fXSFmKL>~79FQFhdWIk*-jhcBXm zf3$x82xX#+C=tA7^@p^W8%#r)ufpoz>!Tqn_n=Jp0Lp}0Eq7WzhZA^y2xZ`_D5(pw zn>*f&lEOpC{jNShDaH}4=KFI{Cho$G_z22r^Tp3Mk4G9x$f{AQdNIl|>qIHK`!N#z zI2zwZS@>6&hSyQP8{KAJ(dj7P&%qX4f+z8PEW+&$?hHBqAJQn{LE-|ldS~IS^dCdn z!AUH{=!NF7yAxCBdr%^>4W$@QqZ4mp2Rav-7unx1k^UDbI}YF_iEsqw$oY?@F_8yT zP$qg1)9__%#D7?pF798kdK@JM=aJ9VzpxTL?dDZ`7}M!rL{6v*V>Mg}suiWk|A4aL zQIvM0)tJ`FH`swycmabj zb*WPKVJ1p{FZ!ghpGFwIgh_Z5WAQvnHUAeSgo7DXj#DN|4b)&VwqrhSz(9Nr<-0$l zy!Q!);7uHZAs(}K@;wAFj|Y`Jkb$}|2e)7gowk#+9yJ=kG!5-XBeE3#X^q8SLf_3z-qa3ek zE6mzhh!Ua4FcW`^ve46LVCG8m7*0c3=q4=24>1ixR+;1F`DjQ;reXnla1`#tTkuVk zoPBNm?pSS3_#{e*-@vi>F-quzdd(X#93`bm7>r{r3sF*0j*|L<+iA#$({UWu<3L=8 z0k{D}aWhWA?Y;ic$Zx|3=2kg9`h|v({`lm>@c~{}j;@=S?!R6h5nND`T~KV~k1s1M z$<8av%L}cm&A!XA%;|BuUD;K3ucOQ;$jdLx&g*}#prEX<)IXtmy-hbo-tVuSGJl|c zFE&A+nOZ)$vaQXqyNudShwF|iojL8A{&8fMzj}JPP2Y?w(#K{*>#F#>{7JRrY%#Yj zvbz>Kj2?G)m*I3RaCa@SdznzX>x%WRgxEmG61%fQe^|FvS0pz2kIr0c)1M{fX>Yw# z`$om-uj(JsH%5)tJMZobtnPm`yWzoKHmU#GP^asY3;kWQsseOc>QDY_O@RS=XP0}Kv&|tpaNE1Ri{^RV?G9Its&P2IPTiKC z9C6}Ruh;14X?J$GyG|U`o6=Kt&%AD(kP)i~wj9vMGBWkemKbdtyF%Zvua2s7Gpft6 z+*smhbJ`8NM|SJq)4FAu`Ibc1ufKAe}O!xx{`JM*(6r#rgZ zy?l7$psHTra(enFJfFYY|9$(PY&v+{WWUWdz^0Rm;|=V1NF?(BK@Ry zhmI(V@z-`A9-!^z?*455^S%tfzVB_D9zLmAzqX=ChgA&K{*}YDu~Pe=nG|mGUtU#Z z)2~(b=ySc3_43KH^{;$}zB)NgpY)xJCMeymc9(m(%dmHLb~xwvXUl(NO{nevS~2`x diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po index b47d756d..fb46c985 100644 --- a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po @@ -11,9 +11,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-09-04 20:53+0000\n" -"Last-Translator: tryggvib \n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -27,7 +27,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Því miður er nýskráning ekki leyfð á þessu svæði." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: 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." @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "Staðfestingarlykillinn eða notendaauðkennið er rangt." @@ -118,8 +118,8 @@ msgstr "Þú verður að staðfesta netfangið þitt áður en þú getur endurs #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." -msgstr "Þú ert ekki lengur virkur notandi. Vinsamlegast hafðu samband við kerfisstjóra til að endurvirkja aðganginn þinn." +"reactivate your account." +msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -184,8 +184,8 @@ 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 -msgid "Enable/Disable insite notifications" -msgstr "Virkja/Afvirkja innri tilkynningar" +msgid "Enable insite notifications about events." +msgstr "" #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -262,37 +262,37 @@ msgstr "Þú ert að breyta kenniskrá notanda. Farðu mjög varlega." msgid "Profile changes saved" msgstr "Breytingar á kenniskrá vistaðar" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Aðgangsstillingar vistaðar" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 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:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Þú hefur nú þegar albúm sem kallast \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 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:336 +#: mediagoblin/edit/views.py:332 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:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Rangt lykilorð" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Það tókst að breyta lykilorðinu þínu" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "Netfangið þitt hefur verið staðfest." @@ -574,26 +574,26 @@ msgstr "...eða nýskráðu þig með OpenID auðkenni!" msgid "Sorry, an account is already registered to that Persona email." msgstr "Því miður er annar aðgangur nú þegar skráður fyrir þetta „Persona“ netfang." -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "Það tókst að fjarlægja „Persona“ netfangið." -#: mediagoblin/plugins/persona/views.py:143 +#: mediagoblin/plugins/persona/views.py:144 msgid "" "You can't delete your only Persona email address unless you have a password " "set." msgstr "Þú getur ekki eytt eina „Persona“ netfanginu þínu nema þú hafir skráð lykilorð." -#: mediagoblin/plugins/persona/views.py:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "Þetta „Persona“ netfang er ekki skráð fyrir þennan aðgang." -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "Því miður er annar aðgangur nú þegar skráður fyrir þetta „Persona“ netfang." -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "Það tókst að vista „Persona“ netfangið þitt." @@ -617,15 +617,15 @@ msgstr "...eða skráðu þig inn með „Persona“!" msgid "Or register with Persona!" msgstr "...eða nýskráðu þig með „Persona“!" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Ógild skrá gefin fyrir þessa margmiðlunartegund." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "Það tókst ekki að afrita yfir í almennu geymsluna." -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "Nothæf keyrsluskrá fannst ekki" diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo index f62ebb932eae3d8748f7313aecb6370318232bf9..74176ccfc3b54b97efb2178356335cd1e7c17034 100644 GIT binary patch delta 4441 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 delta 4424 zcmYM$2~btn9mny5AiFFoD4RZ|3WTsdWXF&wE{F;R)B*t%V=9q?%93J*Ym$m)#F$9i zDcP*1W@?iWE1K3gnURSTwb2G^8%=6$Ce^kwHDanwl_vK4^WK@xFnrGc^6pvw=YJ0G z%pH&S?syzp>}kasW4?45lZoNejB(=<^uaCYh1)RzcVZa!;aKcIF-VX#EJiQizj4th#Kf449CBsCVCG; zFf!hlP)tPiGaHq$Dh$Lr=kJY9+=ZIp4#$HQ4Gnl6HNaKW%tvt&h9?*^8Iw^HT7X*V zGSmPa=!e}n7GFeV=qIQZ9zho#M_;^*+QMs&)+h}P9Qu%*;&{}6bDX#u^rT9$jaR?jI0yG2TWy)oX(*LZRE}2kFz&(})C$g^_I?PJ z`e9Ux{gdp^2V)v>G-@lBq6S*&{JjG;p>EWBucG?d`ygij2WhO}!3Ve>rzG1eIf)s> zH;^$+Y>F{iSc;F}c3g<3Fdaiu?bH{dwy+*Gu})--rXQ>DPq-R0`C|~{o0n;5&kkS! zo>osFFuB2IBKe?LR5wxN2{Dh z8;zxS29@f`EL$sfBS|rJxEFV#CX~Wu;lf(fKo(L)=2gcJkdtdhumZzL+ZJ4hB+L90 zS7LNF`_H6JCzYV;J%qLR4tio(j-81JR1r?WP>gfT!EoYYR0ivDJZ?d)uoqqUHfrE= zsBykVz2})r{`JAgT>Jc|qdLgLAY6*-xCXV-A0P#7eu~TReN+uZ=vG%us3`YA@@ zEu4;l3n|Y@G*Z}NmEQtn98-#cScb|;9db0xZq$TMV-w_uSAYRn3twR<`j*)% zh(s@9H!2fZsL#*EXskzVjfE<@KGZ~ypvL(agBagjp`n!DKn?V7)CYaIxz$kux^O;f zPrr+)*o&%xlc)v!7EAF{)D@P<&8(C!M}EvEe!1}@)C9(Gzj-mf@u#5`1fvV1P#x!^ zCNu{du^dzI1pW|5a2VT`GbvoT!k*x1{D$~8&cc6v$L=@2(*E*Sgk3y;7OiF)9-Jkm zY6GekcHjg&fI;{kY9(he7e`R3POP?9vIxf$m!XPt4eF+8MrE)awc=jXf?h!t_uJLv zUl+l}kE$V8?SrZ|362G*)3Xef z;YQSW-A=s6qM?)>Llx2csE#f;UPjf%HPi}jVHif%+28(BQ5pI*s%S4F|1iv5%*Onc zc81ze8QX?^_#@N;tmIX8YBLKTc>-_JgF`Ea2sDbWdET(g&ig5+b!#AAxIz|&`thK-W zmEmK=gQ%kNY_Rt@3d@OSA+MP2s7#HZGT{FdU;Y^1+FdvL>KX9Ou*M1 zPvH#WTgW2KBrb;+u@mz!=zI3JzeT7E=PmTcE4Uu7p(ieHV*izjDjES;hdNH{P^s=j zRqrcKeAtPHFpB4Y#|-o&?=lC+Vl(Q!HdM9upfB!6^?wk9@kBHE*FZx&P)fhRhcJL? za=DpIT!=kbiho3hjt9$8d)0;0@mHul{sXdI=AIL;?XU-Y0X2c67=dR|d-^x@!(r6c-bNq1 zi>d*SP4*V~qV9vVAg2+9T1hGJI;lZ{p2Buav@umfqTmh=HhSN25Gj zo05A=XU7kW<_Gz@vyA&4-&pSZKLo}!`~Uy| diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po index da22297e..2e73b622 100644 --- a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Italian (http://www.transifex.com/projects/p/mediagoblin/language/it/)\n" "MIME-Version: 1.0\n" @@ -28,7 +28,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Spiacente, la registrazione è disabilitata su questa istanza." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -52,12 +52,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "Spiacente, esiste già un utente con quel nome." -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -119,7 +119,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -185,7 +185,7 @@ msgid "Email me when others comment on my media" msgstr "Inviami messaggi email quando altre persone commentano i miei files multimediali" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -263,37 +263,37 @@ msgstr "Stai modificando il profilo di un utente. Procedi con attenzione." msgid "Profile changes saved" msgstr "Cambiamenti del profilo salvati" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Impostazioni del profilo salvate" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Password errata" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -575,26 +575,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -618,15 +618,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "File non valido per il tipo di file multimediale indicato." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo index 7a5af71006039d3021e10fac48bf1bf33a1b78da..841f0219bb38f28d79fff142d982dc0701eb0e02 100644 GIT binary patch delta 4435 zcmZYBe^l1x8OQM(LHQvdpnw6&1B#>w@;hXr5+N$&PY|uCfKpV3p@_B|U!6j&qggQA zaLyDp&(3sZsBPhD)*mh=$DBHbf2^aK(}qcyZLQha`_ujXZ|8V=-PiZ|KKGC7y6z{w z9`yRjU9Y!Fyq$^0m_d&**%%XNOgb(`Uu;Gnd7>K5WK2ZrniOHSZ357!M<*cFau%N@X0KqZ6g$E}Vfn!Fkli{)$Td z04l{H$@cwlOe2m*m7)~2&=cpA4+ny;}GV@TT;tV5Dz2C)L; zbErR?Hrwa~b?+%$fv3?Mqo>+T#G;yTJceSj>kNz_UWm$I4TfPe>V)m+!M9NhUqr3r zoom16pG*GrqK5~*I2AQPJ_chcYT{L>lWs*C+U&zJ{0P+pu|MGMV-0dRa};Odb>yE( zm}bl!=Q=5LJF)V=|$Dnn+_|&MC`z|*n(j*_;tj?_y|VNG-d%-U@RU- zmEr;_GvDF_45Ims1`iCt@6`8RsDDm_-M);EbM})+|RG#MB)KdMx#pX=N?p?iH>TX%ODBs zkj+pH@y?E4nlQ9r;P`y<+kNmeY zSjvMDIEe8$WWN2SN^s4?2YFtGs$C;`a4%}YKVSfMqc(6EeX$=$;8&<-_2H_-;Uvt& zk_F^{EQ75)_z~_$r7W7`t0aY}l9XUL)}VIYh+5z^)O+oydG=!nzK@~!G3xzm=!5rA znfMRt{b9}`dmj@}-8mgIa4G7A9TYf`LI&^JCKU$#80A5x(Ai&4%7+WL`~d|B2+ImU=+5a4srs+@HG1A{-0-{ll={q!p~4I4td6YauXxEFPT z$rZNN8JI{sAC=;bsP{Kx8vYbjiZ0YbJ*dxbpf+?D^*#Se$JQ{o(xxs2=|hu)hw)X^ zHOZ!Bvv4J@!Zv&ezrpF4#>3h89A@C}aSYx@E`k}p+Wy5;fl0(?kTx^79R|E(W>?$p zJ&O8b7b=x~sFQz&DcFyB82yA@Xc>+p-igI{91HP2&ccExZ8N@%wZum-A0ujPCY_}W zl%jg%C&28)d3Y7o1F28hzhLHKGI28=z!RtqEqU5DRTIV#zkw6+L)Y7wKpgpu%|sq< zA#TAb^q(2I#-^qK^@DQ=RjXd4Pt0}n#)4;U&5BU>w**z=m9BND=G}(M;2zX_ze64H z&zOzZk%dh(=@_c}U(7&XT!?zH2DRW;9Dz+3jBTii51~%_0ZzhCunYs%+8(ID0^(mI zNiw%_CYC>EOZ^KRMf_h}&iW>_&i*mD7MqCsF$veLv$fraMZ_Oq2L`OSe+wSN4a76+ z?cai@Z~^hR7>gx*s8Xy!9dI{Jz+;$;m(WqSj%cvgrU2C(8!#K+L2cvBMEIjJ$-Z@f+BR=TIA{*kl*nf)T_=T;D@w`0^$y?9ZT&2R`^I`r=I-h66Yh|K)n$ z)%$rnu|Mj2sjgY5`EpUW1nyC8J$^$7lQwPiq`PB^_{y*KZ>!_g!}yu DQbINj delta 4488 zcmaLZd2m+M8OQO1351Z44H6*>c>{s4WqT8{u_QtkAP^{o+LDmfqy}h$Bt%}2yl86_ zWwFE}1gVW3ECp(q24fw&F;Y_yune|9!44>5K@p`DXNtsrf1LYA|8j=$bIyJ5z0Wz% z^PFp*`1gR@w+0-V=i?n?jJf49CIchljB(?9^uvwli%(+!ZozQeg#)qMx&9g!F+YNn z(SNit8!!XU;$f`8%> z48j|zjeL#7GOh&PiL+1}slYI-$HC~qLHI<1*O+Jqo4DYIub^&x6^G&xRG@b;0zX78 z^uHK_k>iaC#Yw35Oh;vGDF$Mt^ZQC?-iBJ>vyQKN87SasRDdg}mEXbpF=B!-BQOcI zpd!>xm!JZ8&>!1zAU=o6&<@lN52Fj;#KCwGRl<)Py>}QWaOgyv;_;|}Go5)E>cKUr z1++Qy&5l1s^~TSTHJkmY0B5iruQ~Ho6khLb$C>yNQfjaHfPqpOMdxTolW`knqjqo% zRr|l9Qhyzl;vtFl{$NaH9*rtR2`W&P^ScMNpmx-AFQVSlb#G4nk1%+U3vc6I9F=5u zaula9zk$RwW0H-@#DzEmpT^nPhiMp+VpE@wDq#(3VH=P=nr>W*7qAvH_%Vq1rjvnc z_A3m)KGaIjAhFFkoQ{5+O$91I^?(P9aSs;YH7vwrZc;P0Vk36o19%@tO+A&5%1}9a z7c*GHpahShQayrgYsYRRDW(#;a0_Zd$$TtaSb+-UMcT-`==e5ra?R&hiV>u3Bd$P_ zWj@6!jLxF|EZS_K6V$zjumXG02g9>%CPt!~a1@4Of@3yDFfT@Bum;0$BWi~o=)!}j zz$a00?xLRa$szx`F*3)V|1{JKreYA5pkBNTwbS)TLz|tr1m8mSz{sh5Y_JB|oOuQF z@Sn&(6FbeA;aG;ta1}m=r@RcFWKc|j)g-4;wY`f)7)PhQj19OQ19K@CzJ&Q0o<~FC zQjEm|s8YOx+ToWt4g+Zb)@ssF8*W6}%6Ok*z(4Z_|Djyw4r(E84yiIxfqd-DBk0Cm z7=tHJHNK82SqR(L0-8_(x1ko$>v$4(ZyKQ4TQI`7}0YBZ?hwEr-# zUNwS^a;wR8%tyUq4w5Fb7>^Gy<|o+7yu8pB;S7#s9zY_slJ3okepcjW>pY!_#oWT4#Du=`8+212k z^CVP}({U26K-Owr!0+HCd=TC9?fakcGSG?NjS74m1Moc@ikDES`^<4*iM=lxb>BD) zL^rCNa&Z?f!eIOqN8{IcKgKSwX5x6}-USR)yS3=T9jF(+jzjP$Y60(}A6~^^{0!Be z{TPSw9FlY_#8J2&*I_3rW8rLHCCNpVq!7c2Z)zB5|B_r%*e(j?oy%7hKmT zpk7pfYFZDf=3U56%r8+X{XHu1RUCu*LaQg@(T!!Ojc&z2;+q`|w1Z!uUfhj(@mc5k z`&h*M8cxR4C3HPj;90ziHTZ|`+W&9H(P90}t1ulazh{r-^O(i_Ft*_h^tLis`F*?M z4^h2v7q#Ok&R7s;qIOb0VTTW2j^KcT`C(p)zz8)ib`!?5PPr?R+w-7p6ECqfSpXswdW> z;%#^42fPgQ;Ga1X(ZDeB2y-&K=EM`#4g-w`=H*f}y<>G972-EP_7=xFQgJ8bFDlC1-erjJs z`pR5JelpYQZ1esc^;|b9lP6I-KaWW||Cbm{=R$D34KyFeFn=72aW59&7g&gyKd{Z% zhKZ^vZxTWK?siTdE|M3w3tq%F)j^uf#@Qh#3tQyJ)(by0!6ji7lK7-@*9OmF(P|fPoYEMlj zsy7-i0}r4U@&SfnkoQr0?BdYPg*m8kcm-9WPaM;~a0XwYc5)Z>V7$jV0rkQpoQ_%8Q(bssK+m~wS3pd1enWG0 z&B{7gLt}G8OP#B+simR5p|-lEp{cRCBe}G>XKUQdD4&+bq>hEt$M@Ws7BtwMmFUiJ zrDo=&WhJIeNl6*9a6#gty4Hqf9!bovZmG+0xl>Zp5>xKo=XU3$W%o=iI34uuv3inA Rr^WnV9FK2LaBH*A{{YZ$QYQca diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po index 315b64c8..88a8ddc8 100644 --- a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/mediagoblin/language/ja/)\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "申し訳ありませんが、このインスタンスで登録は無効になっています。" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -49,12 +49,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "申し訳ありませんが、その名前を持つユーザーがすでに存在しています。" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -116,7 +116,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -182,7 +182,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -260,37 +260,37 @@ msgstr "あなたは、他のユーザーのプロファイルを編集してい msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -572,26 +572,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -615,15 +615,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo index a9e4b7c9b6859af81249736bf1c1f0bfa026bc14..dec0d936559f3f4a24123220bdb9d4b25d4963bc 100644 GIT binary patch delta 4432 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 Sc)wz^=dQ-)o-*I{p#K3BUpi|5 delta 4467 zcmajidsNr;9mnwxq1;3S6;dwxBQM|ugdd5BB3@8*2x6!xDsmC)Hw`3#Ns3>W3v60y ztehUp;l!=WvJSy&uCq89&9j*~{>TltJdG~4xr*|vywsjAKi~g%4#&sm^Syj7@Av!j zJwGqr@_YN1-^)w=opHvP0go~17!_}f7xOU?cjF-3i$m~njKm{27*D&`J297jH%`Ui zdyHwqbbKFQ#R}ZdWK-~S{0?Kr8^_#BBYJ`{V{sW~U=8lVUt=RCOf+URwqYEe!4ddZ z48v=vjod=!GM)s+#0990l;UvQghAMd0r*IQV@xcK$G8xPr%(^RghR0#HPHo(!hfO` zdIQ5TI??L zu*>c5cYO*~8_yzZHqWCb=*4Ed>h`yic#YeP^YJ*6YR7y?L!peJaW;G?cUF za0tGGT4^sbx4DE_7|7YwL<>~X3@*g0xCp25kczPZtFaa5;awax)l?2DLhH~e zqESzy0MDU9J&J8>$6h2TW&^h2+>8Xv z{2R+KHiP`LXwyU`sCr+Pa z@gK;a89UpUk+>Gu<5t{>?>aOdrIAO1RU{WtxxJ0K7*D00Kp#Gdq1mJhk7Eu-&ZQu+ z1jphFs8sw3wZrQ;5kn~e)@ssF8?Hvm$~Y}F_%pBb59u;DQ48^MNEL}vb_Tj)pmn93k@&mSFS}V_JBj9;rBU`v>;R zGJ{jAt(IX7-jCt92Z!R%P}OoG&#@PN>)v?VeX!T<_u~j296;?LV5!Z194dynsQdY- z3Cl4bAHXTth3oJ`Ovh|)QfQ_DwV+OihE9AB4#DfFf&BPf48 zUxKQpay)`{?)9)`ZW*I?T!MFF4Qhc-3k{{913h>VLva8@@Owo^JbFSiTr!ZGyUz)0pdmuYB#0n`K|@3Rlaq8=QF;W!^7um}~A zD%8$*y6!<0*H2M7Z$}kbH)@BKzLOhFJ4B@+``LZPQn;aU-WgdF47&Y*A9ErP- zlVe&@A@9Qz=(mbU_!)B&_t8I7Y!{Hb+Wz``64!G5&>9R#A)HundHf8fL zn!XP;-%m=3zrNPTxS$nvqIUWgj=)b)r{E@P2LT)G1YxL!q@o8iFbLORBv!a?M=k6L zRD|16^Zmi?Uvg+@paIkZzC{fbSY~$^j;f6~R7xhHCRmBhxEYm_0aT=7%I&Yexu~Ms zgWAYB*T3Td`d^|_gS>swifkX3y#J8 zsD;0XRrngVaURE}X_RyoMSu-e=5G%*Q2o6j`z9M-^kn z5ACnNl{k<7S)7ako9!`8MLl1P9DVZwss_v!`yqP?Kv&Oc={)C z684}b`T{4Qx7wcL)!0t|eayzD8vE<-4b%r`%vQVO<=8@hHTvTfbQFqy8sYda)N#6n z3Uyemt=_4q{sPqTDaSg0j9z>bm71?mDT#d8)<`jqr{9LD*n_(N z4W?t}4*PSp7KhXSjYC5rd=oYBr>KErcG?_g;X(S9=)tdXB1SgZ5YI-vUxdo(4h%;J z2jM{s#HUcHeg>7IlWyPpyxVvMHSlYw7e8?AN9FD+7UI`U9U&wC6B;)y$G5G#VoR0B zSG~T_}5h@w-#n4cHEpD7Ua!H@}_%IXJn>jB&AGG zNeL-jmULfLgKry;C*_paRb_g-DXD2mDR-XpdNb2zcFbB>JM90=b793^&s}xZ9c${p G3Hl#$Oih#k diff --git a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po index 10d7d354..b192f7ab 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -24,7 +24,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "죄송합니다. 지금은 가입 하실 수 없습니다." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "죄송합니다. 해당 사용자 이름이 이미 존재 합니다." -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "죄송합니다. 사용자와 해당 이메일은 이미 등록되어 있습니다." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -115,7 +115,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -181,7 +181,7 @@ msgid "Email me when others comment on my media" msgstr "제 미디어에 대한 컨텍을 원한다면, 메일을 보내주세요." #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -259,37 +259,37 @@ msgstr "사용자의 계정 정보를 수정하고 있습니다. 조심해서 msgid "Profile changes saved" msgstr "계정 정보가 저장 되었습니다." -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "계정 설정이 저장 되었습니다." -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "\"%s\" 모음집을 이미 가지고 있습니다!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "다른 유저의 모음집을 수정 중 입니다. 주의하세요." -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "잘못된 비밀번호" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -571,26 +571,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -614,15 +614,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "알수없는 미디어 파일 입니다." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo index e417a066835b54120229127a1cb5c288b910b359..2b6c247dd1baba3bfbc6e3f66ecf4d5609a8ee48 100644 GIT binary patch delta 4436 zcmZwKdr+0f8OQM@M+8L(90XKA4yb?<5D*a2D5Rn&-UuKDg93^gs}dt184a&VfST0H zM52u`mli{vm^9iTO_SPI+ooDa6EAJlX-y`XbZW@NTjHhdMEm`*@1LD<`0Va^-*j_V*E(sm@FE;QO3k!Ip$&`w%|MXB&H@BGZgn>EFQ&h z{0u|zTjZJMz9eIq%Ov73oPhzj6ur0#1JS|$xH-vT*EF^>5P)x^Ejxq z0$Sbv4%a=X+IRz5yE%xO;3Br;Rkzsdmg|8VY4Rm7^VH;&z;Z+QG-D zg?)kw{WVmGLsRYb5tuMSYyWHe4LEiun14#IE+lUp`VFL;R@8ko<;U(dax2d$0az44?~#W{FH`r zb^wF$6l$dxk-5#M_#g&zHZ@T(ssSSb%{XHPzHiRD^2L zDW$Q2#vJ?@73$$^TRYB0f@13MXV`&SP&O|MA1*~r)P~fP>2y7boLqAY%P@wpZNjxk zu*?mt#)Mq*&!WwWMcOHey~8YyV=8kXZk8vQMvU{Vbd`QJFy;jpmz#yN9@9>7@cp- zJgmkz{3R+CXHb#(FD9aw0${CX0&2qzNLd+YD-Hgc-}8rb89xrE7LtpK#8Tv?XVzmT zzK)8>SyYa%p;8vf_O*aU)Py@x3pnh04n6dHaR6RHirg`GXejjGqt3fO+ft4Oxq4lP zpdLIN`(dH$Owmc|HvKx0#yswQ4x)vWg`%e>Q6+6 zBX0_5q+k=WS<{Iss$SF%CeF4Csz;swO{kC`z#x1dgYiRD)3xVfb9Tz!cPY1^TcN2jMOphbM=V5EC>v+_QrUX?R8!-giP!qq1UVH_$qXQU&XHd_(g4$SM zsXe}9Q8}+bMXU;w(OF4DH*}zO{tL{<^O%W4%4}+iQ4^P=c2I?b@iEkcTTr2H#p(DW z>P`3$)SGT_IcdNbuof53?^}Rl{y^g{17Bkn_Ey-1#4WJD1!rIjzYM&0;l zRFPdoh5i~U=iY^O0V7b)$wcLRE-K_@7=|^d>(^m|&VQ>KxDPeK2^@x(T<>7tDR|Vr zfKpHknu^-#!>FA%p-xd7Dka-d&)JFn@gVx}Jyawvprh*ioQAxO+F5Xwt%;GSH{N8o zUxAunEouQ9P!DLlw;e)XwWr4_bu};vO7_7jXmzFSEY|Gq8~UQ^*N6e?;v#YPtO_ zn1u!O_o8aU`6mtK*sQQO3`I6$R^w1SjhWbssTlj1{ViCG$@ITLEi7`St(`&~P5)8X zb{s|jAQDXT32wyPANEDgF+DV@8Tbx0QTZxcy_=D8Fx$|B-(Wwyj*8SRRF3^u+lWP> ziZ|Qs&q8frC2E7Mn1HXMB6kG+b^gDjp&S2$x-e{weW8p&6;-C|G*nJ2Q6X){F}M@U z@dy@SWW9X@E_U6A`HWvhr6m1v`(A0qD&{x4X>7vV*oMt(ZK&^}a{Is&{AU5@VJB`y zvS!lP*)Oe^a4P+f2K%*LigEPcK&9eOI2^BFA_h0wpXFKTXeZCn$iSbYisJ&RT8A~+ z<5q%R`cJz3EtpCF5GrE-Lgm=3x5b=@TEO$D3HM_po^id5O6k4zl*B+9o@Sfd5DcIn zj{Pwj{V~BEPj>t1s0ZhuYNE=u7K7+7M{Q&sb}ydxmS6XK5d}dVJ*5#LzM9(l#s*(q zQ{9?|b!puZ@jcP^t!d~!Ica?0zzM18S-y;%y!6bD;KJdyo0*Z9KCU~vusP)a-F~7p NHdeQP_4tv1{{gv2E=>Rc delta 4424 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 diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po index 1c6745c3..7853ec7c 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/mediagoblin/language/nl/)\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Sorry, registratie is uitgeschakeld op deze instantie." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "Sorry, een gebruiker met dat e-mailadres bestaat al." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -116,7 +116,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -182,7 +182,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -260,37 +260,37 @@ msgstr "U bent een gebruikersprofiel aan het aanpassen. Ga voorzichtig te werk." msgid "Profile changes saved" msgstr "Profielaanpassingen opgeslagen" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Accountinstellingen opgeslagen" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Verkeerd wachtwoord" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -572,26 +572,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -615,15 +615,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Verkeerd bestandsformaat voor mediatype opgegeven." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo index 92104e30781d3e3b862c4de9372f7ea78f962e2d..4b2e78151bec0289cd9908853c76f3b5babfbdce 100644 GIT binary patch delta 7056 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 delta 5109 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\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -25,7 +25,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Registrering er slege av. Orsak." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "Autentisering er slege av. Orsak." @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "Ein brukar med den epostadressa finst allereie." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "Stadfestingsnykelen eller brukar-ID-en din er feil." @@ -116,8 +116,8 @@ msgstr "Du må bekrefta eposten din før du kan tilbakestilla passordet ditt." #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." -msgstr "Brukaren er ikkje aktiv. Kontakt administrator for å aktivera kontoen din att." +"reactivate your account." +msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -182,8 +182,8 @@ 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 -msgid "Enable/Disable insite notifications" -msgstr "Slå av/på notifikasjonar på netsida" +msgid "Enable insite notifications about events." +msgstr "" #: mediagoblin/edit/forms.py:69 msgid "License preference" @@ -260,37 +260,37 @@ msgstr "Trå varsamt, du endrar nokon andre sin profil." msgid "Profile changes saved" msgstr "Lagra endring av profilen" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Lagra kontoinstellingar" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Du må stadfesta slettinga av kontoen din." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Du har allereie ei samling med namn «%s»." -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 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:336 +#: mediagoblin/edit/views.py:332 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:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Feil passord" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Endra passord" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "Epostadressa di er bekrefta." @@ -572,26 +572,26 @@ msgstr "Eller registrer med OpenID." msgid "Sorry, an account is already registered to that Persona email." msgstr "Ein konto er allereie registrert til den Persona-eposten." -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "Persone-eposten fjerna." -#: mediagoblin/plugins/persona/views.py:143 +#: mediagoblin/plugins/persona/views.py:144 msgid "" "You can't delete your only Persona email address unless you have a password " "set." msgstr "Du kan ikkje sletta din einaste Persona-epostadresse utan eit passord satt." -#: mediagoblin/plugins/persona/views.py:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "Den Persona-epostadressa er ikkje registrert til denne kontoen." -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "Ein konto med den Persona-epostadressa finst allereie." -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "Persone-epostadressa lagra." @@ -615,15 +615,15 @@ msgstr "Eller logg inn med Persona." msgid "Or register with Persona!" msgstr "Eller registrer med Persona." -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Ugyldig fil for medietypen." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "Klarte ikkje kopiera til «public storage»." -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "Fann ingen akseptable filar for prosessering." diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo index f355de82e8de7febe74357813d45202d4a78f46e..238b025c5657b33c7786432b85a1826bb8f89a92 100644 GIT binary patch delta 5206 zcmZwJ32>C<9mnw}2}d9hAP^1{$s3RaFyROy1Og$-p&TJVkW>IKh)-1>t zB+`y}z*-ftpimSG9(A#!mevDOkKt(1ma1*B)Q+u=;^-)KsM_x@?_0;2c81~eJn#GN z^ZbwJec|hiDer!j^7Q<)_$Xt{XO=NnV{X1NCAb8;uK28X{g*h0 z`KwrjeTErxE0*C|d;x25=Wt`L#4qq0%)i3K%~cGn5ys@u$$u@Bq^4xcLVIl`@}`ql`-M zZY)P-a2gfZA5f+L6jkEB#qRUjIG*`1R4b}c8?E*3$58=oNBwReYMsYA=k)(o2Fti` z0uSI7W86&Mz=_O1NA@(M#u_sTZ@}qz7hZ=aaRLq;=azmhs)hBaz-~iwG|%En{41`( zGHzzFzj>H}diE4%;7L@ZZzFq~zu+|N&AX|M=Aq6&9OvPFoP`%~HcsRr9mb6q!d+N_ z>AY$>Q*%)js>S#c1{)Yu;%QW=hmy83o{SX5*!T!0PytQkV_~5mwNX2Ap3FYa6Uduu zzQk(GrEEXIbx5(yXIO*7Cewd{Hn(vSbb5b*H{nrC!<K50|j-}RV6{q>;5h3;62TA%_mu^P4T8dRp6kppe^;8J`Y zbq4aL^6q0jlAJk=Gw^-nj~P*B%mDP^jkq2+;#+YB?F<&tU>%aPsNSY=!scKh?n4K6 zVpcg{M?8QtF=vJ`Rak?0_;XY%eut{eB`m-!4gj&5QdGhbGwc(FZ0UY&w6VsS~h&}KVB5Y`6IL4mJFtxLzq`#E;gXW z{$?8k&V@OM*W-B{ghe!V7|ujxR)-dD!|r$xQ}Ai*jnAOoj+an@TtJn)m_==@#|Qbr zDb#)e-rXVWZ}u}##=pWGJcfPnoaY71X8tXzCE4@cw_qe@FrR{Yeztf02G4pdK}y(YVb(rQM4v=`oyvA7crQ;WMYw z`cRQKpcZg28#kgVu@jZ)LpTEuV=;b=cVo^C9AG?zYvr=emc&iga`!)jrC835$t&Cp zZox6k6L=6`!F#cBrJIRa<(51bv$;MMRmnxD!&`$zcnEds|APxo*RpKaS;V#UH$9L-qP2R0aNxYC*3X-Lp}Mx?YSHPD8ytH{me$ zHw_F%;GLLgsTbC)@fb(KY@WxeJSd+ zSD_A10Q=xZ)G6MMqj4W9)03!;Kfoo}rN#a5EJsyxKdMz9;tU)a=JSgIRG^RIjqGoJ z&0q)SM)+Fclc>YBvek`rC(dGi9QR?*_52v0KrWeT%B0r3fmPV&7B`U^9KpN|74Tjh zj?d$@_-BmwXOQ3K{@-sRa_&sfo4VXlMjz!*lB6eq9hGTK2cRzwU8@FOl z+>DjDePgocfKPfQ+N-lOEnltE8nNv4b|?}alg!S4HYYU{NuDU1l-{$nc-&Ri_^YRk zD@pX8HPoG!jGr=YLUQ7)ce-WFbo{;stI-KXoMiTVJ9SWHz>aoo@pbH86NuVY$I;{M zeqShHC)+E7DVZyq0(L0iYjS^(s8}_ypXCqwtPvwy!*)x^*JO_hCo-#|rB#l5gB5Wszhi}?PJ>8a*y=@f z@8Xt}l#0YACnwRXdfora_rdCE-Sb!af=(T)hXcoV6;Y5jt2GjJT4HU-w|UWiwyHRP zVJzfZ6SJb>SX(&K7_hAdU!!9+x5VrSeWtTSJ5ru@k#)${$=2taYr| z_d@K9$!=u8F6JuMxP-{@@*$H21Ug9I?P>-r$pwU`p*DgrzZT6=Qn#($N$L{a# z+}WFiQ?^QHITBvnb?!<|Vv|*Se3w5Ku<23Lv1DDx7OEa{qHfJ21VO_)>*r9H*09@4 sFBIJiM~@{N5|0FjCN5P>N|d)9>sswy$<6+*FwOrBp3)=>VrNtS16Vj}9{>OV delta 4689 zcmajidr(y88OQM#kei}-m#eNfKoP;k8z_nf#CSmzm8gI&x44Q63QED4)yzoK#HjHk zHpaU)PQ1j}S+!HGO&wFMwl*54W4xrDwrL~AOcGO*T5Ih0=Q;m(#>wY>&z^ms_j%su z95%Ne20i{h=-9Lne}7}leU~vKv1ean+&CS>aV@sPm$3uBhCOf_hT{9q^%GdY{45T^ z$bQDG!I5|!k7EUHAXqAXg+E~Y0OL2q8N>}VrVq}*(O8Es;=9<4$w|h<;$BR|)7TAf zU?=<%mB@dQSjLsin)nPVk#g*cH5h@-7=|w;`;AFp@DnbC;{nu-N3kQGMFsi@d*a_w z8~qP<#<&z?x?n15og7rf=3^8tbUv?j<}ac)_^RVkKLZ84iVE-Inbg=zqjOfx8U0OPqoVIMJCeKz(r~ zY6CAi^9_z~qIzQ&vS)J$72q1SVw*Fs=is$&D^A4S$Wi;v-x#Qr@pO(d8iJcJ3zfk| z)Y)G_mHsZO#O>4U`=fCf^90mU6rutxaz1ZHZKxIXy&b4^_CB3+{%0AKaN#_@gT05^ znS6*Nn16}HH2u?!8HGhS4qwK}cmXr9bB0~|Jk$|Zpf$nsF-b#C&YSNtn(}YQ|OQLklNhFprvgDi2km zQuG%ySjnIeFQQ5vL)yyNjTFT!#J%_$YD4L~EL>QQ3gk!H$n0=Dk36~NYn+WeDcf3H ziWJM-!$p`dn)7GVW(}R7?mdR(coIXfN0wcQSX2}C#x9ubn1wx=PeoO*0=wc`RE8G1 z@CYjKWmKHUsPBbjQ-9qUmu)})nWzQEU?(g@EnJ4mbT!h@<}I9q=TJQmJBF7HRv^il z1DK0{M*f*TV~y#K3$P69@df;&pTT+tQ#oKY$yLrDFEKpiUJCe#K_I$p*Q=AU6C-a(o?&fI4Z&V}z$&-)Y98HHI_ zBfI&vR1Ar7s~PW@hg#xUq)et*^I&6M$5qU?PqGi8D+P>YJ_Qr73SGDkX#leipT*nQ z3zIm>emD-5if1zI>0+>s3*opAgYXb`#3QKZ;S_2kZKxtAvuZU~;M;uRcc_4sJgwT$ zPE?A&z<4}^(RjnL4SO(uIMr_lik@coeIjf&H=j^7Rfik>@3LIZ(zjTwaBlF>?Q=aHJ4^3?niBK(G2??`#kChb~>KG{>=TC8K~X9!9f^Jv#W$z7=gvu8%t4vS7S7; zN44jh*cVS@0e*@pIB=%@JQbpj=C7!Y#?P`J{Qk&>cs(&tDW;$Tl%meA1{Js#JL9X4 zJ5U>V54GSKY=^%^t#b)G;cZkRU!XD%qKB=4VkEeu~;?7;oSxj6!7^iz;ogV-w~w-;Qp)jjC)k@3(fuH!%#fKq9Iu2cs&H zi^_Bg=Hh%z!|k{UFX9uNH6$mHZ4Uz&Ui`6;$AFP~U%yYED;~edd!;&0XWT z8PyY~%Ba6G{g?~d$Q@LPAE5#aDz_INiE6Tmn2H6co@qcAwxBAp9kt%i98aMh-zyl4 zpQHXd1TD1Zaef9m>*1(O$DtM~LS@<1l z-3*VNU@q=rUW}@w|2_ki>fe}zy({bu9&bj47m}&zECwdXC#2~&YWT40J1ssT7YV8-yDAaN5UuRF9OS7T%2d-d0q%zlZ9b^B9dcP)*!cPyGioc)|r` zI(WGqI1h`NdvFS#K$X(0u#c($bD6Hkv3MT4V@QMj>n{dhXTAy#V??9fTgP!2^Lv<& zy;oBIeGIBr@_xtgRrasHqo|S(pk77jMP+gdbwt-t8-9rWvD=UApQod+8}rpT5;viG zzW+FLdU^OBm?Ja!kh>=Z3AQ-q?-paX%K~QMC3<`Y3R#dty{#dY-qz zQ&C&(^7$RtGo@|o|flntj>11GlpfRWjwvl?at233XI9W85TC7s>LyoZ-LhrXzQ%^Y z*s{Yx*4aVnohz4kTt07gRb5L{U2UDuvt{s_z^R2vAy&UMcOa^Adx&)+V~BOL=7F_m zSXv->@%0dE^oSvWgxay~teIIOtc~@Dt;p\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -25,7 +25,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Niestety rejestracja w tym serwisie jest wyłączona." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "Klucz kontrolny albo identyfikator użytkownika jest nieprawidłowy." @@ -116,7 +116,7 @@ msgstr "Zanim będziesz mógł ponownie ustawić hasło, musisz potwierdzić sw #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -182,7 +182,7 @@ 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 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -260,37 +260,37 @@ msgstr "Edytujesz profil innego użytkownika. Zachowaj ostrożność." msgid "Profile changes saved" msgstr "Zapisano zmiany profilu" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Zapisano ustawienia konta" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Musisz potwierdzić, że chcesz skasować swoje konto." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Kolekcja \"%s\" już istnieje!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 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:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "Edytujesz kolekcję innego użytkownika. Zachowaj ostrożność." -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Nieprawidłowe hasło" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Twoje hasło zostało zmienione" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "Twój adres poczty elektronicznej został potwierdzony." @@ -572,26 +572,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -615,15 +615,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Niewłaściwy plik dla tego rodzaju mediów." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo index b4b98c5f1da3a16f46cc53d6c8a89b98885b3d0a..72cae0d08a1d075193bad1794034eeb0215289f8 100644 GIT binary patch delta 4430 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 diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po index ab86c0a3..ca18fd9f 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -29,7 +29,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Desculpa, o registro está desativado neste momento." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "Desculpe, um usuário com esse email já está cadastrado" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -120,8 +120,8 @@ msgstr "Você precisa verificar seu email antes de trocar sua senha." #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." -msgstr "Você não é mais um usuário ativo. Por favor entre em contato com o administrador do sistema para reativar sua conta." +"reactivate your account." +msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -186,7 +186,7 @@ msgid "Email me when others comment on my media" msgstr "Me enviar um email quando outras pessoas comentarem em minhas mídias" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -264,37 +264,37 @@ msgstr "Você está editando um perfil de usuário. Tenha cuidado." msgid "Profile changes saved" msgstr "As mudanças no perfil foram salvas" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "As mudanças na conta foram salvas" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Você precisa confirmar a exclusão da sua conta." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Você já tem uma coleção chamada \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 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:336 +#: mediagoblin/edit/views.py:332 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:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Senha errada" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Sua senha foi alterada com sucesso." -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "Seu endereço de email foi verificado." @@ -576,26 +576,26 @@ msgstr "Ou registre com OpenID!" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -619,15 +619,15 @@ msgstr "Ou entre com Persona!" msgid "Or register with Persona!" msgstr "Ou registre com Persona!" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Arquivo inválido para esse tipo de mídia" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "Falha ao copiar para armazenamento público." -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo index 1dceeb288f6880e19f2054f0645a67b919aeed62..32504b9a89a22c3a539af6f2aeeb21e4b4b29f12 100644 GIT binary patch delta 4429 zcmZwJdr;O@9>?)RV1QgS6vQ4b55z^~65 z%ofbX3wRpKvGoCCQt%u60pk*kVcNv3g1xAL&SL~#M@`g> zF=jY;@je`n`p!&L#7Z$3tK9n=-2QW@2|n+7(xIUNFQ5jvfttAwc^QRK7>N^66DmNh zbOmYvfp1}aTib~;4SI1|Z9e5Nf#ObI3=eqqe)Qg)@6L`+; zx4OQJs*R(_+)X!XfQz^tzjXTzBwpX$g^yqtl4{3%K|`U8qjI#OOx%k(s10V{_r8Og&@R+_ov7~|yW1!Ky)>3`p%1$-A>FRz&p3(x zATp*I`=BvXumm5*JvbNpaRNqU*wE*rQdonU*t5tQ%_&@tf5!^U=4L44o5M7ev)^G5 z_M>Kc5gFV34Ijb~_NE4!kE#I&=i?E~!!L0*PU0aIV-wb52hP9%wwh`x9~Gf;bQaUt zOrsD#M1?wrWoyM*NKi}_zJhJ22~Fa#@M0xupk}0=Os8ufvUAOCEXF9p_6)8^f@QwK zQjE_c|4iCEOC_j!-^5k;F8ZQps*OY}st6PCK1_4X!3g?As0h|z7;ZMSWlfhGH@5!xgBN{v0W2a}bx{SyTLj)p@2U(|jd!m^a3VAn9$NYsa8 z&=2!m^HCpMhy>3p!#h64yoe3-TW8yp1QO2C^k<;HvjXE7-)y774lzfOsG84ED~Tkr z$(V&6EX5Jngc@)kGLG4gD#`<>@4Su##azW)Oq^%T8mz{Byl@V6zkX#eM+B2bG;RU?MrR@4M`xgJ41cN&B61GoQ?d;jx7 z;@{4Ve{(@I+Od$;;a-fwJ{*PDQPt~1scU7~sMIV+4ZICC&_0a8{iq229*5xvsAByT z`aN z+=hC=3cKPp7|!*b7={ON0=|J9n&uj6J16|aMsgO8pkIJPwExR!sEAf$6xO3w+KLM0 ze$@RFs2snKs)fs_2z`f&M9NB=!fcG9UxI$P5reT2mBMDX|02dSzBx)`3ihJ5&ySdZ z5v%MEk?E+3RHE)Tx&1cGp#K|GEnGrP^d>6T-=nJjN7Tuh__&R1DypUm&{6S~&`=21 zqXyW4qwyeWrEk0ak5Mn)M1}fmRBiZ|+K7!nt<-~Ka183ZMc9I?QP&4i6N@S%{^c|t zDYJjgx=^{ffhwjSumeMRNGUmvvDl6J&_}54^gSvK75V*9Wk+0_8_W8rR)`a7%$>njI6fBSB5e4+fgYx ziMeQ^G!&dCV_i-{-KWXp( z3cd7uQM=*`oQ@torU@^_Mc9tbx{ti?nA&yr=lZz zHL*e0==HXE=U_C~SD^=+TwlTr`X}*0yoPu8fA|Lbq6hUtCi-I`24e|^VFkux1BPG+ z#^EvK2ry@{0FyS7Myx|Es2^uyV4baj0@Mk*2Uk*m<_L`z^r<&yH}1x9=xMMypN(_r z*JCIC0o$?cDf?USTU4%}Y_z`xPoS#Yca#046NTCxGcgrcpeD2v9j%~`Mmi3liX-}I zo7=}xFT8-7@gGq|^BHEMDp%Wa0w&^OM*%p!)W4oE-r)5m&nUwd^u>be^ OjbeYVULUM04EP_s5j(8_ delta 4431 zcmYM$2~bwo8OHIWsDPquLS#`s+|bJAN5UE-5I_YLqf%2=C3V3VL`5nUy~Y`FLFwO(SxgF)>(->9`U%;%RKexbenB;4vJD=P(qn;xN32 z+Q@&Axr`@{G4XlSMk+A`m!Kau;vn1{=NJ=BV>=go@f7O8w{a+Tp(gqm!|?`cp^q^L zBPSRWjFV8~OhHAg6a%ozy}!ckZ$vGy#r186h9n&2jC<$d@RhEFtR1SX;uG!3=W z64V5Z=#R}f5ci-WbO5!(PW0e8^uueY6#mQA>7${EgTG@#JOMRfuG=p|y|@;&fQ@c{ zr)wLkHeN&4Y~Dak(2LD@$L-gVc#YePxp)*wwPUW+P$;9Q9PKC`cVh->2NzMf??HwB zb5w{2C)no$aWegAR4QhpCR*s;Z$vGq8TH;_)Huh!?UVm58Vk5^9#7(^M7xs@@frH} zkU7nmBxBNW4nBw5a5`SV6bwqXq0d95uo|_n4agqN87#%W<4c&z&0)-M4$)A~euhKv z0&1nb$lT_yI0bz0O*NH=icmQ^^JuK4 zF&i(ULOp_QYsX$BD5eUJ;V#sIlK5D7uo5+qgOrgu?0OzKx#m93$8f^7313EnWxl|L z7@bc3S+vrCHMiV1|qWf*kCoXIdclL@l)i_ z#5`-va4f?LtivY!$f2=?MiB{Ckz7XQ_6bhISSsx}*5E!2m`b|vDCS{UHU){L7=v%3 zQt?OB4jJYMF2p^&(2crZ!D&@&e~P}?jhg5R zsygmt7!I6izaUXF9sAKu<-%ZYY8)7Ifk>P!U*$O3rE=itA7dXm&k5AOXd z*v9p{s0F=RYz!yBY{zIkk5AzZRJl5RG_cBvJA61?o zp>qBeYG>gu*aKXJ&GdI*A_mX35z9uUb_Nn*$CS|s;zB)Y=UY%KZ$VAm>fV1BL+F2i z8sIOe=We4GdLPH&V^m5;&9lXsfy3y}Lq(t(l{$TxgPGrKqoIKgp&mSr+R-miFZ7~9 zb{|ztetdB~I2N_weAEVtP^YCFi(&6;;$Tca)Dwny{Hg;-h0S3yM$<3E0k{+ca0RLs8r^;ij;4PQ)9@VX^n8h9 zad4&m<&lJ1$cvT4Uk}u|7q((D{iCQ_=s~UYGt|!R;W+#f2Vq2&4Xp=NR5_^PD?~+b zF>3tv7=imx8-2^||K6dY7e7OV`ZlUK`cNVBUFiM@!wK}GQ3K~=3zng--$E@cXb}~T zshEfDsMLIls-*|mj{SK^<2#3G#Lzf_8t6mRak_^J(IcFUfiKyKb1;tn0@Q*X)QCf}CARoVa1{ORs1%*X zY`lt-FmfsPumIO%4=RN-m)Q?o8LEaFQ42eOi8}u$XiVWkFRIFeYwY>Y$6553Vj-SI zh14v!k;%u+bSp3i|A}!p`epl_D8v=?mtZaSqG}+QixaUN6PVvL(>RHpn2M#Z*a!Ba zhyFR#sknw&7|3W^a1qYM?YKqvQSVo;w4dH~)bpM?TfF5+uuL@$!i(tm(CDF|TwXz~ z?3QcrDqFo-IFjpgF$(KkcVaUA)0l);aUlAyw(kX^o*$3Cn2P~eh#|OOHSr%!V>uUw z;x3HEpCF$A^BbInk!v`sxD2(UE_@!JU^eE|+b`&5iHcw9DnK1P|T45Q=S-Q<(f8~yKW}=1H`OyaEi)xOA^Dl)DH$DE`3D34KjeSr`+EA<*LHkUKiltrUo=1o diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po index fea1e215..00edc228 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/mediagoblin/language/ro/)\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Ne pare rău, dar înscrierile sunt dezactivate pe acest server." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -116,7 +116,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -182,7 +182,7 @@ 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 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -260,37 +260,37 @@ msgstr "Editezi profilul unui utilizator. Se recomandă prudență." msgid "Profile changes saved" msgstr "Modificările profilului au fost salvate" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Setările pentru acest cont au fost salvate" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Trebuie să confirmi ștergerea contului tău." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Ai deja o colecție numită \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 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:336 +#: mediagoblin/edit/views.py:332 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:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Parolă incorectă" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Parola a fost schimbată cu succes" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -572,26 +572,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -615,15 +615,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Formatul fișierului nu corespunde cu tipul de media selectat." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo index 67260588f70647131ffcc18f4d860b2d21d2d6e9..8c537cc30e40c74878d04c4b22140e8bdf0c6f98 100644 GIT binary patch delta 5144 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 delta 4778 zcmaLZdsJ0r8prXM`$Z&0KoBnnLBJHnLn5G-8hFW2M?)0SJm^u+NFazdRB}*Lyuf(b z3SKfVGdY!}G)G&SS>w`W%ck<2Tr0cGG_A^6qiMBjHO;9`u%CXB?j*SVr59+-`Lj(7`*A8(GYQPD>eiiD% zm8c0c2m5V7ccE(IIb_b}CDZ^{aRc56_Lq}*-FE{{zynCCz2VylrgniE)wpWs3);KO*v zH+yL)XD?zmd`e_+imHJooQnIg6mQ@}9L`B9##LC07LLbIwwh|H z1Qnr2(L0OAN*dGfGAh(5EL$sfB0({a;UR2CO=vg|3kS|e4dg}2$UGbL60&p6xA+Jq z6Sfvyh6Kyp!Ufp3ko+@gvzkg!^>*QWd=n%cl|F?OwAqd2cmY)dsiS$= zU^TKha|FlXr^v4vFvgfftipM?9G}MbyfoI+m`Z|GBmq=zf5AzZPNf}25AMLY2S^tl zz!FRvM?qpG4#1miF>dgzJto~O;pNyuzXFR4mIFb)C67)`Ywji{}N;HUr3SnG2hXM;=qrn{r+E6 zjv}o=SCtc3egO*hD)C83ZtueidqID^cZp45#BK zs3Z;{gIdxW)DjM0Z+vrd@ayRs2b8_IDaM3gI%;hh$e5-W6#~!#7Gx2#;Oy5RL%#TX)NW##BF1(1J;5s}=NhuPU-rv|EE5URQtUzUb7k0<9 zs7PE6`WeR1{}H=k$V|J6x?=`?2kyZVjKfdyxA+w*GP8LcDfAtved9e&L%F$$T1hm| z6V-1nCg4QO#ktrQTk#(JBWj{2Q4{|d@57&wD4P)^K9AHiqiW#9YuD)8c+l7MBVrj7UK6vu*}d(JLfH^&o`hpst-#sp~_Cl9PFh3 zG&(WyQG2{e7|r-*4vpUELglatHN*YE{xNK&??)BioO!%vU?=V(#Ep#FML%|d{rz_q z@6u0p8S^A2RomNh8*+(x3#V}1poPT$2M*LxvU=#c-S$Iu8>Z3^U?P5nnwVK^Mdtx~%f=h59dXZmqn14!XH;?`GG!m5pH|qS|9^$Wox;T)Amr*Odj*37G zdq>AJFajSy6;~-n;*;pWH5iSDQ42YWN%$dZ`+kkOU&JzdyaA|wp_hh2I5T))A!=o- zgKkFMpc6@(IgYw<&l)Nlvr!YefV$y-a0@0pZoe5khg#|P7>C_z$v>u`wzu~)8tZie zR$x<|{XqZ+(f<;)3u2es+inahB8yNtZNcGq7-R8$9DsjEh58q4!n}I>+t{p?Do&)K(4^rk%nJG> zs`%c+es~=yh#?w=oeHY_gwlEAb-zt9S)>Z?=ywWovlo zUqaSm^4bX5VHzjfjClhq+U>W$4#WCw z#!yb?ASyB`+wGdDM5SyyCg2S(4Tb1ubYkWXJERq;5Vhhr_%cqw{UmlceufHh4=QsU zW@8vG#okzh;rI-u<0e$9k75M=8I$n7(=>F!dzgj)L|xc@mu&*7YI|cfjzH^`iEsNp zNE{f~Z+MAkg{!*8?eNsD@HDy|wRMf2#h!((Mo(Ss3SV0KskE@h+F{m=u{pjwW8$No zg}KfG$B0qI`GvW8BlGfNXH3tX>0aeo!Rfgru10sU!k1G%^7BGPK)!6nb{d?jqBI$>ny(=5*}C^XtOp~bnF<= z(<+!#8D8S9ZL$u}*&4qquqm+J;Xmg;#VPB21#@2yi70*C<*BjmR(|yV*J1rswa1#3 zp6}~F?@Wvpnw{w@U6L2lz0B3H%;Bo3aWuGHi>w!yer_$u$@Jaw^oq(pz$h*Jt?{4r zcWFuvns4y)N??=!6q7jZKgA*IpgT2*{_75Zm;W_>x&rI`=K^c}T~<~7Xlr1u(|5Oi zZ=BVCWFOzv=An@>`?!UVi_cm0>&tx&>)S%C_~K+=N~\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" @@ -26,7 +26,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Извините, на этом сайте регистрация запрещена." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -50,12 +50,12 @@ msgstr "Это поле — для адреса электронной почт msgid "Sorry, a user with that name already exists." msgstr "Извините, пользователь с этим именем уже зарегистрирован." -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "Сожалеем, но на этот адрес электронной почты уже зарегистрирована другая учётная запись." #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -117,7 +117,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -183,7 +183,7 @@ msgid "Email me when others comment on my media" msgstr "Уведомлять меня по e-mail о комментариях к моим файлам" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -261,37 +261,37 @@ msgstr "Вы редактируете профиль пользователя. msgid "Profile changes saved" msgstr "Изменения профиля сохранены" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Настройки учётной записи записаны" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Вам нужно подтвердить, что вы хотите удалить свою учётную запись." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "У вас уже есть коллекция с названием «%s»!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "У этого пользователя уже есть коллекция с такой отличительной частью адреса." -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "Вы редактируете коллекцию другого пользователя. Будьте осторожны." -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Неправильный пароль" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Ваш пароль сменён успешно" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -573,26 +573,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -616,15 +616,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Неправильный формат файла." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo index b9cddbc97f10ad7ac690cd1ef45a1653d27d536d..de0231287eedc9341535a5bdf9db3a0e48cc4980 100644 GIT binary patch delta 4426 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 ALjV8( delta 4473 zcmajhc~F(t8OQM>Ad4d40+B_%-~tGj<)Wylap?u6D7YpKA}9ncRapWOiRepWikf1g zGA6NF5|ik(YSbAtPRD7cn2b&mO>oj_npT~$(JV$Mi?y{ivHkuy@Bf{-!{?lH-}gP| zd7g7#?mPGToxa!a#JoUfv@zy;k1@FzlW2?&=VJ)AVGwS^fw%*saWD4Aw=oI}3{ z(=jZ`m`#|ApWsQX#11A)!*B2b#*ZOZadD#SCCRW=I=C=%6N8;B1*>>a0)7d z_fWO(MWy~GD#Zi5_WDT7rk{W+MKNlk74G*fs0Fp7?%R)g&Vjx@_3xqaCEA}?G@~<(nS=}QVcdpu@jT{WRF+M>A63Fi)WS9)F`DC8ihsi@%;n1n<~P5l zp_=^;2jY3uNd&-Z> zP#HRlX{@JFjPIdRJ)E!=u@6a#slWrc1GS(`UKSoKM@{4)+sN#9J%^lJ^DQpH7}C~; zYmj7_Tet!fCR2YFZ8otJw0lorIlhH~7(K;iA{Mm?N8(^icAbJT^ovj#ti&PMhKjHg zJ$Mu~@kP`;Kcemn%p?E0FfPxY{~XiLu@hb8$qox@%442_@tjAXT(4p~58buUXo8%Izwm;$=Ok}6MhBdew!)H(~dcDKI^qv*eh+TL%Ya@Skr*onVzFSv`5d=Wg){qKN7>1Vjk##H)`U?{esGO*q4 zzm9Bua}?9?b0l~(WWIfal;TYKuc8)m&7q+ae+M;j60Zq8*oT8~Dr%*Lt}8H%{*yQm zpTKm% z3SUPphGb(fUQP&5R5fR3sO5j0dFcX!bc^HkQ zZoj^a{HvCm8A!mFP@C!`s^))1W#(&4zy}zF@yqQ`6Ax;EUQ|kFU=kLg7i%#N_oLnq zr%}(piYjSPIr)#Jk-!^PyE+#$u>ixd*>wvlvYn`!zU21LpojihR3<({MR?0Kpu!&C z;i!2sQ2`ga{Yr<1c4I3l(stA-*o)c&Z=e=(7_;y+YJx9OrF(#S@U9hhAxDspxxk<4 z=v`?`u?Cf?r?3+{P#JSPmA01Yt_x9-G^1+hU^YIFL-CL3!9SrEb{7>e z_y*QsFY+;Yt8D-Wa0LAmZvR76fLAa>=l^pWN>%jF?L>=FH*CdXJcz8+`~zp;Y-Wka zXOK0SE}Vryzp#-Npzd$PhjEu{FRE0LYwS;%RP-{xSx2KA_hBxUthEnnM@`g?Dfkg8 z6Zdc&rmr(*Auh%(cn~LJYOOJp*Hoecco#!(XdPo1k2*!0(Fvrng+>f+#U$*)4D4~o zzePn9Qg4sbSk%I1q9!cE3AhLQ_{3B3flaj;oeQR?bl;yA5$c=l_2qi9C*|c# z_GV4Y${Mhs#Ji}vxu%iJz5bO=)p;IYR(6gztM59WFE3|G_tgC7Bmd7lx0YNP8PHVQ K{Xye~(EkBc`$=N} diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po index fade34cb..fb5088c8 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Slovak (http://www.transifex.com/projects/p/mediagoblin/language/sk/)\n" "MIME-Version: 1.0\n" @@ -29,7 +29,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Prepáč, registrácia na danej inštancii nie je povolená." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -120,7 +120,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -186,7 +186,7 @@ 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 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -264,37 +264,37 @@ msgstr "Upravuješ profil iného používateľa. Pristupuj zodpovedne. " msgid "Profile changes saved" msgstr "Zmeny v profile uložené" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Nastavenia účtu uložené" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Potrebuješ potvrdiť odstránenie svojho účtu." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Už máš kolekciu nazvanú ako \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "Kolekcia s týmto štítkom už máš." -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 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:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Nesprávne heslo" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Tvoje heslo bolo úspešne zmenené" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -576,26 +576,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -619,15 +619,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Nesprávny typ súboru pre dané médium." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo index cccf7f9593aa331ea50ded177992c76798d4183c..113553fbf2443622418e580ad48d2aa0174f96d8 100644 GIT binary patch delta 4435 zcmZYCdsNr;9mnwxf&vPND2Rgc0|i6_0fCTl5e*_QC^wyvOcczFG?h#9_O%S=c0iAC ztivjAi+OhPxEATotZZ(b;hN@|8XQ-x)@kQtvut?mw0W{UUw%IS?HrGf&*yvjT;A{Z z=jYe6H~rqd>G$ele=o%tGwd@a2V>)n$;2uQ#10I=eK-btFcJ^rNId1Pzkv_ZAHe%? zY=SX6F&~HU46ecMX~xXL+jtk_ryI{?(eNc26NfdJi!HbdPvVa;HOZJscpRtTIUJ84 zV;J5-#xx_6jbSd6gp=_h48#VEz$Oer4@cqNWRG3b*w2MPJb`-fbqvJ;)I{%N6kbOy z)XXp@9DFzqGf?9!Kt*gdhG3(+zs2>RMJ@1v^L3AgCLBUd@C9n+e&l5$#$q&Pp%%0R zwbNSE1j=79cH&5U4i%vnQ9C??K0Jp(_$exd|8jbMGws9^Q6Wx4O<3mo^{5xOqZaV2 z>vua}K-I>}$lA@Ts0prN2i|o3RuZpqJ8?etA*uGv=QI?`cq&Ib%EbLxgxbL+)WQZ) zq5m2c;_y`ad?aSjPe7%j8a2^6ci%%Ts1xgsK4#7vV3k1aD#~X7iAWaR+Y1UM$8Sj+$y}Au2*^(5s@c zoklrcLWO!N+t!YAk)W7HJc>Q21!ePN;ll>hMD0jDnPbii$jLR|U^T`Pw%xcH36>eg z)tHb={#mryLnWwsPh%aviT)Tf*G3`^RfN-V9Hu&pFp7Q!DuU}V0y|JU>_s2GhMM>a zY99YQ`(AJ!@z;YsE(GFS)Bwd8hSjKn*P?d%G*Zy!5Z2(IQ8f_v1I|9KM>c0p;5_^c z`C}6EjhTS;xC&cw2VV7Pw9}{{!77p=RBrvLum>?2kKrcl#)u+*9kCA|z?gZ)EW_0p zhrdCk;;*R4+`%M_pa58_nTy(RGg4N@>!QIQ^EQ8xF5}1H)IxGmk!V1E^h_IO;$c)o zE~9e%H7aFMY+nm#K}~oNwSYIBSJ0pS7Z{9RAw}+)Z)qs>-=WU?NVcUMg*YRe(Wrr^ zVgQyn7orASiUiNB#8D%Rc^+HoA1bvei6oqp=r2KS;8BcYe$!5aBWe1OsG334%A-i^ zWK2cnt_&yQDh$FF^ut{kg1b=>>Ou~R`8_J+-{8ZT@sKe;;e}454$TD4ZWQyIavJ{F zh%xvWhGRR1;&Z44yzKhFLlx(M>kp!y{|v|DZFfI-v8{z@R7B^a?w7g#Bj_n)YiP{E zBgkUS1yoH$F0qkWftp}1>iqZOXgrT&@Ct_F$Ee7C=?o~hsfj^7mxy{V165o3<;1_2 z#!~m-bxfdt3l-|9rPef@LBAB0yG`iBE)2nwsDa-=E#OZWh#%ot{3ohdZ(}^hEaP8P zELcYTr_$KMg>85MQ!u2$4v>TT!70Q@T!xCoI@APhsG{{y<8-+DeK?N(Y1B^7V*q}D zio_?V=WpmmoyReiwmPSya#V{Glt4@vwF?YCet?&A73d>a3QI>*~r+FCe> z(69|HXU9m@}x9m0<)f!yujiweCg}Dum6he*pDhFRHpvxc(W`F};X! zcpbHX;98sWDX4K~qf)gPm8uGNzs~ia!~~uHooe6_)P#RT4KRq4@fPYdggs(&n}k|W z5o)JPP!nv%VBCe8crWU-bfJp$74+e2s8n7-PdWUMh8)Hy3|eJF9EZ{L=em9+>cuA1 z0$N;u52^+_QMJ*HDy~DQaR;yiKXUzsIy>&RI^xg2AEt*3xj2Zb&apqTJM!Uv`l+ZL zyoJ;89aOPiN9}a{YWrR^X3$T;aafDmz!Rtlb)Xj1gL>~*t38{;lU&dQ?;+7P?_(ck z)Z3j5VK#mJHzo~o@P2H>LVO9!@I#z~iEC}>SE8P8!&Lkw&cdrm*%1E*`!QIHs@}J8 z3ciO5!6487T*I4gE2<$>uB{RU^fy99KFUP{rGdieMM&G`)h_;90y6 zhfqIE0Z*uC$$u6Ny_ko3umVGI1CGU~P^sCA8u)qCPEVmCa2adxJ1oO0;=BM~L>1#F zI1eK>*&?sP3G_R074w^;GsU@k1zam)abdX=~=#voV@hRp3su1wwsxemp-RIyQC@X|A*;6Ta^)OhqxH{Kjhji A@c;k- delta 4488 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 Lklu>shXel$_pC#X diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po index e0be0b94..1ad70dc0 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/mediagoblin/language/sl/)\n" "MIME-Version: 1.0\n" @@ -24,7 +24,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Oprostite, prijava za ta izvod ni omogočena." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -115,7 +115,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -181,7 +181,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -259,37 +259,37 @@ msgstr "Urejate uporabniški profil. Nadaljujte pazljivo." msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -571,26 +571,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -614,15 +614,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Za vrsto vsebine je bila podana napačna datoteka." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo index f89a2d4126f413c54adff358e172ff4297f06fa1..d7fc5203d817e0068990309823d70a08c8d4b167 100644 GIT binary patch delta 4433 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 S%VL`gOa7azK?-W-hW`&mRyl3} delta 4473 zcmajic~F(t8OQO1sDNxDg2;Lm6eEjpiO3R#C@u&QLZYTB$WpWz1r3WOF4rZVYeQ*N~#4YHL?HGo;a1b7Gu789x>GxnV`i(Yb z9cJQ1JciY{mC2IuJA8yu3C3fdq!BsBm^duKENsB_cmP{5ajY>TaSz7e2@J){7=-<( zjr@SjWn77jiPKOUslZ{l1bwj;2V+~J$CzjuuW-Q!_n{sn$1Df1bw&(Z#n&yBwpig!m0Q!l4_6nD-DG*iptTBlJPanM(yAY;vp&a`Cv?^AB{@I9MnXW&iz)@f;OSv+l?A$&yRib-$P?Q7kY6o#-`ex{1GS8 z??>h|@e_=hgrztIx8N*1g&8sG)Hg&Ud0;BkzkqI zSc%bDGbyR|?_b66iH+o}OwvEI{R1wBv2qrpaV>taHR0OMW7;ZrAumfHAA!_2Y zsCgcu-t*2O{(3Mn$DaQT)Bw2{gmX{>m!o#N1}SK>6X)U|P&F_zmyZorBbzh(Fdx4{ zeoWj`#tg@WSdJ@kEq?By@k<&-Bv?gq9+lgNI1@)vX`NVy+c6-Ibm6;LfMNL*Brd=> zJcLTcpHMseH;%;s3V^km4Ah3}k+L$L%{2Hi$N5FN%mdUy+#FIxq5}EYnN{eqwulQ zkD5h!>V}&XYiWhZJf;*Cn=<5VnOe-mU8ta*!%7@bNTPV523d>o=CsD+Y}9!5s0o`f z3|~i$yC0+R<06m!=w9T4%I78q;C-j>Q*5&tjk-S(`MQ|ds2HxnQTPkggzuvkdJvQF z8mf8%pRu373e2b9jXGy{Jv4OU{rEiiV-^NtfnymeLY0oIQK{L6dVZ(lZ%{itiYKub zeQ;xmt-h_Os`?y9;B8c7Jp);uZe*bg=b?7G8a2^YR6XxN?eGW&V>hZidr=X%jZb3G zvo;0O@DTl_n2Mogc0p573!ROO>oJuyLb=fDJkXAs=nag;-8d9apdxVwHNbV$bN6rv z8a}jo-XFE#@u=dQhN^*bOv6@G z$5A=HhANhSU^@COvgV=&T!C8Xb{vjxI{gnFe}~ar??y$c4>j&(RK#vABL1N??s7pN z5dU%;vLw{RC8+yLF&fvP2HJ@M_zo&%ha6AhX!>8EB6SBfP7EK=aGZ!SSd6;9tb+J! zeu9kZ*biEg3>`Y)A=mex&}) zG1T`U=%@A+e2i0c{`+ZUawECcR&Nb*!~7cg%$qBif$>Xh?&hO%+l*!S9wy;GaURAk zrCzXwU)u3ksGRqs7Ucgk`yq3@JqRs2fguf{kUs@fFCJk-R`qKan) zDuf$Rk?C~$pI`$0E9l0@I0)UV?0Z?LV_Sm0xEyutno*~&eHHQ70G(XWz^5<;uc2}n z{F1Ha)mTdZEGh!A#C_eS~mz!-QyRnS^*UiMglSW1h z9~Jxya?doZwtxNIL`^*Y=k~uGYfuZ`fgyMT)9@_j<0I5D%p=YdumY8WZJ3GYFcp1X zwhPYm&`9J$5xTJv74m&J22Uc3H`ks13v29Of9p}t?ZpWE1ikSB2IFN^YHy)Z@^>7J z|8n{dP^Tf?Ypp#dK{%ERF{l>{91C$M{W++RFYfXi{#`)Kgo3)ps_NynuDbfhx~5uJ zeM3{-lDe9zrn-ju#;&MQA4PdL)u(opP9E3w;He;AcUFo!)0I9cCnGB*ZDLy5kkXQr zvf7rqMjlTosA{Usak\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/mediagoblin/language/sq/)\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Na njdeni, regjistrimi në këtë instancë të shërbimit është i çaktivizuar." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -116,7 +116,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -182,7 +182,7 @@ 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 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -260,37 +260,37 @@ msgstr "Po përpunoni profilin e një përdoruesi. Hapni sytë." msgid "Profile changes saved" msgstr "Ndryshimet e profilit u ruajtën" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Rregullimet e llogarisë u ruajtën" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "Lypset të ripohoni fshirjen e llogarisë suaj." -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Keni tashmë një koleksion të quajtur \"%s\"!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 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:336 +#: mediagoblin/edit/views.py:332 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:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Fjalëkalim i gabuar" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -572,26 +572,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -615,15 +615,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Kartelë e gabuar e dhënë për llojin e medias." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo index 7def7506932628f50a7dfc0eab0ee00fcd0ce915..b7cd984eed4c3df7b82fc121dfb555bc3f4050dd 100644 GIT binary patch delta 4426 zcmaLae@s@_9mny5i15gd3JNMvc|Zh_g7QOtsR&g-DYZ~RhgJmy<~9n0B5Fl%8uet6Qoeg;dJ58zYy zM4U03a5fI%X{^KDlZ{EnukaDZ#v8|EGVo3@CI+i82iM|eJc1iACBc}9cnF`wejJN` z#t^)Zywi+GG={ZI0!HFO^v8M(!zK(s2S?%Si4IXS=;ney9!A}G0)ue?wa_0i0>40Q z)J!#I40tgV(@^i3hsszD24REyd7C@mirU~V*Aor{EjWZ);5KUKKGbDAM&ks`L~ZC< zRHVyM3#fh`+>U_bZJm|F~#%2+x_5v5}{&P7FV8MU#` zP^rI*O7WN!dw)2lF^@x)q7t=Gqx-po+R%2?bG@kd9C|#b{sRn_a^Vv8VSK8M}xE~8KfTO0KDn(_e4xPme zHZoX*mr<#nMA(Wr2T6))z@K0bYC|*mvhZR(YN2gNKbczY@rj>y&vLAJd3^Ij<$^!vqFzvlAy|oe@oH40uOba?-oYxoi0XluS)6@bg9K*|V*%bo z{+KDVjTwivxB@${6aU~a*v6oO0;@@eP_^}?!%8p_d$9#~W7u529kCDRV^o1L56G zE2tXZMU^aq@U?-ps0H_;HgMK;5Pg~7Mi1UWn%ps8Gf?XPi#qRqgrynIC@Qq&8dLy~8zF>-`4`>=!gv0_`2B+@yNc`Yh{jTpoFWS1RdXA)^Jx?| z5(`nadjWO56$9{f^ub*iggvMX9Y79>8ALUmXQ4g!x%e6n>_Pg_M00i{Sl=vR;EOL} z6t?0R+=0RP4r&93-FZK%IWMCkzmB^97LLV-?&rZ}wilvN87)SAUgpkg(8=OLBZFjo z8`-qEh@}|ztc_#^YJncq`F{_!@E``_H4MftP#OBSYseyd-xSn+(@}xWLiN_%MdW`! zgXg)R+JA|0cpt}O#BsJ_yQRV!L zigU`z|0D)&TzDCGVG;&a*bQZ&b~*>cu^g3&M$`i9P#bqp@9A~F!vxPkc<)P~EdZ7($9 zSms+%8F~{Z;~`Wp{T7wcJE%ZB%WO$PF+k@(o`GtZf=Xc~>c$ET!)jE@notY9j1jmK zW3Ug^6X!7$KSRCe7OGT!%WbJfqdp(+&XX`s=RZpWtVS)^iCUl=Bk>@rru{epuc9_| z4;86-!7dPwI+kgulFUM#mO@m3tI&&$sGfQa9o6s+2J#?k;j=gq2T=?D)18l6VITCO zHjw1bvt0{Ny|ED0Tve#|ZpJR$zwIK`9qs8l~h1rS){W(c*RG}Ln?HI98znR}rL={wVkeRvTSNlUH$ zCVUgs)xX1R{08$eqt1SFwqXYIGx#J9qe>XO+HPzrCNp1#w1??(81Tp3;4gJ=QN4Yz z5|zp})J`{JDsI6!cnr1BU7U>Z4feO-0xV*_2aEA@jK@6o7 delta 4478 zcmb8xk5^aq9mnwxp#q8sDg?-nuaScB(=W=;FfxAl6Io<7NJJduHwX~XMourY1v)in zv`WTwc#a;M9kruW#%fwSdR)VeIv!nh+L<^{c_cU6&Q6-P=gZIi2X+p}$LDju_kMo7 z-|x@${_bnPqx>!McM^;-H$28Bpyto(xumeZo7958=FdTQ|XguOx@5fU5r!WPB z?lWd1X5j@qjR-Ahu)TbYr5h4`XovC*fZ) z1V>OC`3{-OcoG>CA3<%T8Yf~s24Xvo!Oe+|F)=i@av=Z@pl&>j(33lRFZoh@ZYurwpi+hn&JLVD%g>nj&qaCH-PRvE^;4CWl ze?f)*Dk{WdQ|`wvpe|% z&Za+t%xMzRjmgGxoP%3%9-hHW49&2iFG8iT7PYXA$R5oRti;c76=v~c2=kjB8p_%0 zI1bOCR{9Atx4DP~7{J-oM8&8YXvc;4Yb?gEumsb&NyWGxo3I-n#(Owws;MGWgq}pF zg2p-;Wq1}9>PWV&9ea_Wm=)NEJ5UQs=Vjr+YScsyQbwlN^)zyF%|G!mj38_s*nkAf zT*DfS$szwN+H9l}RJ}*B8s9>H49~TZh(Z-%9EM?{Yc596Ux*>EyVv~?S0Hf$vp_aT3wZv}Z44Pv|7|mtWQtu~| z(U^})*5mUiPyNuqg+Sblez*;TaR(|UJ;>28gQzm|pKnikCU)__i%7+p2u`cUD@T8P z3a4NLhGG|v$JbB`IIz&M7Y4YXay*OL`9;(Nmv9n(j71RM7{irR@I8@Q)pnk8wKy1Yj<~JK?XrP~?cD@s}qh5@`_fety3^l+v zn1~a3v#SR3P^l_Jg|rNHDxSpz+=Z%%e)Qrs)JEfZbB|(vlSo55NI^nka!>=8xz``V zQu;NRf(LOUp2rJVvDAM3B|mP9?nS)A^>=X=o>*p&<=2=)KjaDf@mGpYI~PvV(25Ix zXltPoC(-{ghTwM8PJV?drr)DNdI`0Y+c*(NSK81h|>(7f1 z)9*tS)i5eTx3B^yKgHs3HL3>QMs0WqQ<>k~q0xsatL^^<=g>p{Hfo|cpM8bqyVl_} zuJ1%%0j3{2aO~6ef5&ZDLw^AE!ij0H#k&MayIG3{{beIB zHB*c8@Ev>v{hDlz6k{R%jhK(`<7B*v%W*=p{rY#ld+}6rnVPL>7Q&N{`+VI zuCZT#hj1PJIj#2V?>Lsz{}xr%3)b3HJdN7n%QzhmVIF>r+VS`{Tb$ETwebXIVGn8{ zL#RmHc4#Eh2xV3;=Aa_dfXeY!RL+i|77()DPMC&Tz*5&nR8F7AAnZb=b{8u2uizNm zgG$kU*I9?$#+#^}yp4MB3)f-PfL~$(-oRsTmRt*tO)v7TU0K^$=kYbI^|jS`nwr~u z^}bar+kDMUYmc3*=%3=>)|A#=UXXO`H_g2P-LDq4dUH~}S)Q5Md6_w>8M8Ao#+ENh oeY9@9Z!M3c7OiZn%ky|MW@e^l+`Z51&CAR^mS0>O^8e2DKi_*r7ytkO diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po index 78491b09..1cb6b7ae 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/mediagoblin/language/sr/)\n" "MIME-Version: 1.0\n" @@ -23,7 +23,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -47,12 +47,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -114,7 +114,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -180,7 +180,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -258,37 +258,37 @@ msgstr "" msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -570,26 +570,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -613,15 +613,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo index 98e3d10c093596628628a4480c5ebb9d69124c4a..3fec10053f0532c9c15f4442d871a86ee01fcdf7 100644 GIT binary patch delta 4443 zcmZYBdr(%#8OQPECJ-(P33vg0U+z%?0R#jgL8BmIP!aJGD*+Kh5(^=687J6dqGB?& zYM~}WHBm5*#?pGhT*lh5PN&+WrlzrknxwVK#2KrtGGUS?rnUY4*z;d!7(Tn_J!f~H z=h;2)`|_|)->}c|NBx|s#+Wa?#^hpboH1EgiGkRO{# z0UR4|%qA?vAv}$1uq(lsRQw9>VqBteOg0T~k})2v!aQunAK))=Bc>%AGZ7EtWITuW z;#CaC5oAo`n_>)enPi-V^Dz+DVkEA|AarmHzL??=HH}?d2*iHWji)dSFQ6tG#Ay6G zYN6(SW5$6OBQO&+&Ky+6YA_V*-OrzO`&&^9{ITmPhlVB`LQQZ3wQ?WoG9F`b0%oHY zRE~;t6>0+2FBo@V0KSaM&^}azr_qb&FbF?KmGGvk<1@`pJRX(ebku~UZod}w;B%-2 zY<2rxu6t2?<8@^1<~VACE7*y*-F_Q|*SI_I5j=#H+A-H@D3x*S97U9cyRZlq!6nqf zK0>8_7?t92Y4-jo%%mTWD#cRNMC;to9n^w$pq}ePjdOUkPyH{@Sk8rucnA~IZ6xnu z4*d~iPBZmEV`ktod>D6PDZY=>F*?Jhz6@2u2Gqi~ATgRZ@iF`i>#&dy!ik2jU|}FP1=kd*oZwi8-qA%+EZny46Q+@ zlE!m17UCsTs;3aPBF;mSV(PIMyHN|u;bq~)wWx`5nI^3Lq0b%x@Oa;7FP#B&+5CYUO{! zN%$|k7b7XOYM6}Lj0MO%W-f+e2`WRC$U!lksMB%=AH$otod-(hQwI8fC}SSxH$fa? zKlES>Cg3JpE%h9zS%wf%nt*U1V#QieCEjQ3F1O_h36}0WV-6_TX6TMQzp-7>7fs zz`k8X{-@AL=M3${a#YGbMWt*^g^fHEqv%gY4LBV&!5q}4U4R;A392N`7=bUKBK-;a z<6%@L`ce14MGc&Qx;_;-FeV4n zaT6-D{rEK&RN3ExS<6OGon!XUxXTCUF&lro+qHa8b6Yw~O;ky`(L#UG7 zLZ#S$l|6O|sQYH1#wkXXY7J_WK7kR~;`Tc+Ugy7C4SWl=vMZLylc-BTT}H^b1iFE_3@$ zs0Uv{EuhQoA3#m~25Juspf=Z8)VSBN6YskHZPj++d#lMm-yh~I7xK{ear;04DrFV8 z3#(BP+(IvYg-IA)V^ds+I(D-$6PMt9xD^#Z4{E%Vs0E!xm1eNUvAh3cE-0cq$e#(S zwZ8?QL`5=ojeV!*p-x33&cI%L7_VR{PN=g#(Q0ur{XLk112_vm!BmW0Yrhjp9U5FS z2T{8>u--lxjY?%UD)L#V<1`N+!Zw_ar!WDp;{ps_XMYQ>z!LheVJu$5M)ZBce%&`? zJbh>lXC4Ep_;hJV3c40+Q2r207~>N;v7->2+*#N#?2leoSC zE3gMQ<4r7JezX2*oAM*5)CRA&ySEV87UmK3!(Q~qL#R?6#Rz=I^*z+_{1lb?5!C64 z_`VJB0rb!>#s{$;19blP(9nZ>QJFZ2f%tpW1eY-kui@yxs7NEo=QK>mDqM-Bcnnpd zZ!jNon{4f$L6z(TYI9!0)y!}1(CEMw&)DCBgP2NxRkN+_cAQK9XV{0s*oEEC+TVi7 z8|>%%a52|ELq(d^VoR|E6<`M@>p3jL(>Qwm16u8|iNV=?P>#8{3#a0FjKpC~LBBRz zs#H`)s!=uWz}47?T7YS{6M8Y4?mX9OR7qRgP3`E5VbVbG2Qirb$EXr~fdjQAZ~F}VCMqYSD=sSBTf3&IwZ&WCR^QmNA-%h!^67!i zab+>SjV%Kg3ugq~lb@E6?aj=cnUU2URy@UavodF9OdrT8o)-T9BMfv@UW~O*SNRO= IZ*Cv+Ki;n}%K!iX delta 4438 zcmYk;4N#R;9>?)xS49*MM3GmyY6^J(S;dFh7tBgY zSuM+#u*6Eon#G(cx80nYT(*2+opy8A+1)W3vq^KUXj>)s`|~`rvonsLbIyI9bI$+& zKj(4}T<^2%dY?CEdYsY5m>XVWvM_3-F@7w?AZ)_E_#_U(tvC#KV?TVu9e)d_(m#n4 zFnE+PjhKah!DCpB&#+huevLn3+}*}86KTYbF(wgbVGgdsP53G{VA5D)Vz3Pp@B~KU z1q{Qhs6cKZYZ-46bK?D|Ko;T4{DyaJALYZlEz#HKE#7KBF#qf z0ZyWS6qB67q zojEkt(I~@CRH~y1TM_$_q?kq6hFeh^O6SYMiwjW;Imj_Gdt5(6ZmzkG4`LK)Yr+*s zvdmYw7~^xOKbtm-3`D^W>6$Js6v7?|&w0f;s*(gMa32{-a#xCTb&oE~zrH5c#q*tI?0U zF#$hD)%Z(P$-)U=8(4)}um!b&DBJYSh2AD>%~8 zRM7;=qvl@MLevz~ku;e(c&?8z+p(U0b+IkN1&pB|K_a!~6x0@{BX`i$AZau&ptkx~ zjKzOpB!*1mc&ch%O045I30cQX#t2;|12tpKe(UYcKeYt zZPjBih0jZnJ(~5%-pqSA5eJpp4HY;v6ww2ylsDlZd$bNJj}vI^y4wq1}>wA_04q}ir`yRs`ZtwiHD=c z6ObEY#$g(+My2*8?7{R3t|X3q$X>fG_#^#ya3a1v*Z#G+hB@@(9=1RJ9z^F|2F}w^ zgxlxYvvAn86T=w4jEbZOm62HPp6+ors$}Ij1S?UI)woeZL$+k?^g3WnmlmE=E) z#zzdOW|vSY{x?SA@cH(^6x2ikRH+_9rF=d{;A3w8XQ&)B+c=8E?4#hJ|+HEyy1X(}6kIgL*!Fkjtw;iYi}$Kb%lHpM>FwVQ+)Sd2sQr>F?FqDs(?TA%|}nodl_GpK;BA^*%R z{yT_OOKcz>PV6Mz{|Pj7Evhjacj9C`jngn>sr^w_feG}tpswE`EWopvg5k^T--LUR zA@dyS@ZLndH*mSlWHKu9iI}GQpGPB~fyXfuU&YaQ5lhfKVt@V3#A3QTFdi@9O6b=eY9H!49dZ2~>Uy3- zrSLN9`t+-{5qeRz4xlzZ54F%1)O#(cOtfPV{vI{|DGbF6wdDWK#0)6Xe&lmJj=~Bo z#cB95szhI50LQPgwO@uR*+JCdynt1B4L9PY&Sv}*RHS3q+7c9_BCNx)dJkvdQPget0W)y$I(s&zU>5yfpi21; z4#94RMiPzhQMF2}x2Y~i)wm87(Js^mzC|rKbiLg`o@+U(rZpIhwW!jrN2Puv_QzkM zO7ygA#&);y9BSgds24wQ?LK&);c>s zxx=ZO(5EA5@}>U%oK%07HzPYYGbhzI$>$q5dsb@s^7@)JHLF&p7A{%4JlE^@Wn`xM i?mXxB=Vk^v@`}cX{cqmZxREP5zL~Qm{{QBFIq1J+GC3{) diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po index a14257ec..ac9302be 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/mediagoblin/language/sv/)\n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Vi beklagar, registreringen är avtängd på den här instansen." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -116,7 +116,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -182,7 +182,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -260,37 +260,37 @@ msgstr "Var försiktig, du redigerar en annan användares profil." msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Fel lösenord" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -572,26 +572,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -615,15 +615,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Ogiltig fil för mediatypen." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo index 0f6a6db2585f30209eb8dba5aca489729e91438e..791028e4b61ade67b649ffe2516a813151b23d6f 100644 GIT binary patch delta 4440 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 P#lTyot#S78_dNdtKG!jn delta 4427 zcmX}u3sl$T9mnwp0TD$65tNJi#~aE`_#=prWn2UU!MwGhfa1`Yim2$qlpm2|Eu1MQ z^Flh@=5p(lJD{#uXJeI~v}T;Pp|+FfRBP&HI?r*ooVoXh=XW~C_`{cie#uHpPgTKHr$#y62VmkdB z$ed>URAZ*&JbW0R!$LfZX&91XL!XCAVHIj&+mJn)H?Ryp!4;Un&0yv?2Wcp0$8iXr zMXmH>WNvd2XJP2*+S3#<|YG2>L~+2v*^6Y(nj@4L$f8YT^%3 z^V~s*$gMa2t{v%!H9%><84yhthfqd-Ddi3G}9E~5K za(o??vJkef1*}6&xEr;AQ?4JPFa0kt5U(Od9%XLR2;jn9)Omk^%F)2K-oP+NLycmi zJZc_s%|i__2MLo|fERp>*@K(uFQ09ba1kTvhY(0DIUcpdLgWmZCy_9k1E{55!YI6j zO4g7<%2PKyq*&!Q9ht|>!XV5+#iSHD8m1XlX1~QUyox({A$Ja+Gy3NrvlIDqYJKU) zU^IF#1RuhoI2Ze?rO2@t>bRhCY((vR7wUzVF$`aI@Ba>`&_9og;T`w>J-0us*d{p~ z6S!ZDtkFD$tj+YGHWD<~j-TVu(1~Awnz$K$s0I8O1F!>!;c--XzKOAT z1*f48hh+?A;1*njir7b}>iY(@P@l*9|7tj91dR|b#G@w2Mm?B|8t5_iehr4w-+~&T z75(rCDiS|OJ%0jq05715^D1g#1LoWN({T{}#TZQenMxWOs1~*Jji? zH=@q*ehkA?7>wsoJGq1^ru(RK?BNXdrwoVF&&B@GqEc9iir`ArbI+na)-T{tJX=Qm zHPK(V5P{clESe>@COjBQHx)HdE-F>aP^qeR?{9GX+ffVLllSTOKnPH zmJ)vz%QP-%MRQR*U4ojxK^?bNR7&=tBGiuB;aljz9@Nf1!*Kkkt53O|cqB%0JsCA$ zq1#{X(9nxdqZY8;?e9fBcnDP+U8v&v18Rb6*n$t-eoKXYz8!P8eiAeBYt-pVt+X4; z!QJ#rQ5$fs(9p`h#Ib0W*${hB#WN98u?&@pR@A}{qat(~wV-!Vskw|A=Zf2ZfYhJy zTW){+Ek$i)02Q0g{3d~hs(Lw2$DiQCcm@m6e}(-~R)VAHH=}a+Q`Ew`F#&HNb-xUBI#dk7aEGmI{y(gW^yAR)9_gwkEgK+Kf!#ATWNp&t;HDnU092~ z_$ba=Ws9mA6`_O3Q8%5aV;%6Mjr3yFhU+ki`OPadI`BLu72{X;XVH|QJ~-W|6n%x1gYjEq|7NT}$BzrEXpF-(s2uNh?LZxy zPE-ibp^np4)DG{V2S=>66Q`p;{c6;Et5MH2V*nmPz5g>*YEG>s{u=l_E@-EpV>~LZ ziy#3D@fpm;bEp~#UT1&(&Bko{J8=ZQgXMS;w_-+}{qfg{3G`>Ix2dhh0{YLdC;mri z^m1V@)^D)C{sK1IUw_+h9@qbfs_L+Mn~F5l4$E8fUi8^)Lp=>A(w~pY*;A+m^r0raixD{HN7i)orC*GJI1iQDGF0d* zaUiZjrKr|5wcc%PK@Hr5dhwU8ub~F~4eFG1cLt8Q8RR!LuV!Q0;RTVM(Xl6^2h`Vg z&Z>JapzY\n" "Language-Team: Telugu (http://www.transifex.com/projects/p/mediagoblin/language/te/)\n" "MIME-Version: 1.0\n" @@ -24,7 +24,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -48,12 +48,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -115,7 +115,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -181,7 +181,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -259,37 +259,37 @@ msgstr "" msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -571,26 +571,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -614,15 +614,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.mo index 6bf6670a3775335d93df0f230080a37861e6ba45..589333e7e7815495e49a168a015fb7edf7271bf4 100644 GIT binary patch delta 4435 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 IHD3t*FS4&fX#fBK diff --git a/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/tr_TR/LC_MESSAGES/mediagoblin.po index e0199183..0084cf03 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -24,7 +24,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "Üzgünüz, bu durumda kayıt devre dışıdır." #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -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:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 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:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -115,7 +115,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -181,7 +181,7 @@ msgid "Email me when others comment on my media" msgstr "Medyama birisi yorum yazdığında bana e-posta at" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -259,37 +259,37 @@ msgstr "Başka bir kullanıcının profilini düzenlerken dikkatli davranın." msgid "Profile changes saved" msgstr "Profil değişiklikleri kaydedildi" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "Hesap ayarları kaydedildi" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "Yanlış parola" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "Parolanız başarılı bir şekilde değiştirildi" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -571,26 +571,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -614,15 +614,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "Bu medya türü için geçersiz dosya türü." -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.mo index ebbc7a24fc4ca8827b217c2390d8bc31b79c012c..282a809575d90087e4775fbc6bd268a49c75bca5 100644 GIT binary patch delta 4435 zcmajhe^l4i9mnyDfI$3EKoJ$;%a1@n5D*N|LR3KU2dVh8P*5;j3X5NAs2@A2wKEEX zGn?hnpv*Si<}z0k8|&c_?F=i@8#Tt`^OVAJZpbtKcf!K+o@eumrN%wdUmJpx8NjM_T znC&e!w_;kNF=O!vPQbS?96!bo zyn#H^3`;VGzDy#H!@1~()fk2w(H|Wgj!z~z%$i0!2mJ6D>cZDB7|)z+;|sifX}$T=Fm`wgQyO!phoV+x{SdnjKplzfEJ); z`T(i}tzQ7Pp)c-3W#|BEhNsYjZ=pYaidw=iTph0z+wmAwiqlaY&T-=^)QzpE0qk<) z4%g>Vweb=%c5@un!TY!eueosx3$N$4;Y>V?EVW}U(NHR5sT|EH3)`^(HG}t10~2@aXVh-^Q zq)(GP*_eB98QzCa;~ebADHxGqQ(uZ&!dle89!KVAPU0&31lQqoPKMCGd4Y!3>=zh_ z{iugBq^o_yRZ{Apd4Nn9;`-nv>T}>)9u=a>|Apb%Q1?y?ZiirWSQ$& ziE+8CKZ7=pQwgfxU*T#zjovsu&t@V9RfGu`ifOI|7(u)UmBCsJ!#$`O?ne*4it6}0 zsvqxsdtX34`PYRW4)|dn>H&oqg5{_OuS3oBF{Gf)L0pROplTpy8hamWk;$23I0HXJ z{>}T*iydse$C8GEt4Z^vq_=!b7Nx zoI|bg5NgRHn7#(kjOy@5r~#aIJ&)eRS1OqU*s`_ys<}4aIX=2I8}&Jdgg3KbzPa zV{kmi<47#PV7wnSfYol?h$_ygq+K+Fds&fEUbVKe1fs1XirCqK>M z6qE2>R1I9mV7!IOs56`&0ChYWHS@WsnrOr<{3&XtAE7$_95sV0sEpjiJKMF~9uLD3 zjz{ApT#wta69+MLsr?qbjH%lH^OxC=!7Z501)G=K7s)ZqCGNu==)1yx3+_S<_%^B* zB3Ig~pNh&*DaPYUR4r{sW%LEqM0zj`e~13s{{u9%h99F+_)pY@-fUW37>G()G=}3O zRFTcV7+j7caWjVElc?uBhsxONsHHmXo`1)UFJPSZ|0Ojr@B!OlI;w+09EU4#3^rmU z{tz{wmryf(71hB2YP(%TEy-0>hHjuH82X^yHIe8~oQICqa3&480@ZOHj>X-m4iCBU z8>k!4p$2fljW4@iN7cr+sN(Xgu+PoFJ;cRs+>d(h#R~Gz?}z!01G!kR+NN>~YDPc6 zcHD=WLE;)auryTaOHe6(2zC8N%*3szr8tV}=uP+h0BWKaQTKhb#<35&?H-7(wBLg9 zc$f=XQ8S6HvTwptoJ716@4=tpefT-f!GyK;6KxYtAnrmfVJ~W6A0Sn4g4WsJgj|OP zf2Navs@{L2ZX8~1Q<;DoX$Gca4&IB^I0d^g9tUt9{s)V&xW;}9wqX?Ud91@BEW|bI zZB02{G?b!WBU{;=!-bgmkWF9hR%?r@2i4JssQ1V>uJIe}t9JqN z3NVeh6W_+k+W&LE$NQTDTTw5Z56~BbAGRMB;pk1=fIirQ{@99I<6W-%P{sQSDucbK z?fVgGfEAE~zeZkW#+QGTE0{{0{(ZZ)tFVN42X^Bhu>&_e zV!s8y!`Z|Q4fb2`b&MhQZ?sD>5jDZZn5g?OANQi88UKlfs`E2caYQuP-+&dUfwZGC z(Su2N7PIgsDkI6wc8yDrooY6r2GED<@JrMH!dt8b?W6T^K<8GHRC`#}gIBUj}t9S~5DsQ?<6fxye)0Qd8H|n0{jY zl9S_y)is@%Q2z(N&Sz#f+?AJ>k?qNxnxB!?8C(=?!>r8wj43B_ibjR}zeoHJeRDAn delta 4429 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 PzrV0FEa?9Z+3ov3WpOen diff --git a/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi/LC_MESSAGES/mediagoblin.po index 1f781555..bfbdcd64 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+0000\n" "Last-Translator: cwebber \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/mediagoblin/language/vi/)\n" "MIME-Version: 1.0\n" @@ -23,7 +23,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -47,12 +47,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -114,7 +114,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -180,7 +180,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -258,37 +258,37 @@ msgstr "" msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -570,26 +570,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -613,15 +613,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.mo index 827628b393d4d3e57e5cdd19c2b54e43ce43dfe5..dfd0a5af050c519751e8879a36bd87b8bd2ca728 100644 GIT binary patch delta 4426 zcmaLZc~F(t8OQNM*cAvMOIVb9Q6WY^?-gYcw-^C6h!luhv4}uuYOor>NzlA90>;+r z6sF0TR1>T;X~sqy)K-&en?H=jNHbX~b(uEl(2mO(x7OHNZNI;s_wUXye9n3A`<~@_ zp7Y*&<66MKuLT@_GSHc1jJf48W(KBujqzh8hGI7c;VvAFy%>+LV=x|dufK;S^iN?H zKAdjM7A(SHJb`uCGv1iV_z!%5-U-GrximZzjY-35%*R%I5#Pb*F+0PUBzzOc;s-be z|BO+18yV9)lxYlenG8(Eg&2zU7>nyL3>^%?mogo8O=C9~Lh&H##v>Ssr%)690Tb{t zYN6&)W1_)>G3Y~$GanVPT8zL3_w$WzzZ12N=dmBOp8PQYV!;zU%4b5IkOy8Sh%2is8# z=ydx%uCJkL;{dXDa~L(jIqb&kZoiGhYuugqIQAo{cFZLj3Z<9I(T@DM8|R>Q@G)v( zXHlWQfeLYSw!J?dee}~&si;Ct)aZWhpcb?f_1u2cIB)*1PySEQSjL4j*pCx(>`qSO zbo#fEInAUg#^m8sI2(6iDGuQ@OqgmzzX+AWCe*^VA$v4OaV363nMw3nrJbq1{_?BKfwif9gA@~H>nsmV>9l-c^Jk~Q%x;GMW_y) zN*e7nmf**zP>*BV+HpP-6w`ox*o#`wbY2!7tVd1Mh18ST?|KF~x#kX5VJczUiW`t% znOj(k>G|ZJMVoC@f~xlzuEzH<5K{_lB+^htI00iY+jR~m(62y6unA+a8@0nd=)reU z6Mu%9C$P{y7hXvGb)$z1p;&+#U>-(c6>8wMsGW8o1#R|WH4dU`AZ;dRADfWPnS(eN zN02`=vB;P>T!S^(hMVzohej8T3KFa$8AjzckP0ioOx%y_u?J)4@OH$0d;(ME8nYB@ zF%5r#O2sFr$lSvWjHLirt0_QjxCJRINVjqasm{y!6Z_^yBNO zhPeaMd+8VzenBoSJZviQ5(I7s;&Q& z5&u0jVwc$5AH;O}1DJ?sUBALd>4%it+)Y6b{W6TeW*mj>s0DOmDDK6Fu^&~eN70KH zFc7g zd<_+eH&FK2euS#d5meDVaBoQZhAp;yjNZ?sP5RNLYc+|MFu^X%0{sq*yH*1JL-ydewYMbjaR4BVqJ9-6o;{jBP za=&F4HWL;4YE+0@QTM-qKHQE<#c|X`AGx28pcZr!^;~GJV+V?;wHLCGdNV%k#~rAh zOj%>!gv&9D{w~bJ_i#4e#!~dx*`H|bIF|k)R0@Ys3%i6=y-8kczY~fb8vL0){;7I{ z>+OSas8IS*E1iuwI3H)>Mx2I+aXgOTVhn4rzXhwXnEtDnieF+gKEQeSY@@9y=MW8r z=oE6K%@?=?bDy@M-iF%oUd+bR*oSvf3wpK57S$kXqARHPNa(k%KAcE@74ix&9k>c%b%#eJv&eu`0e95wLoP&@q_K8AtM+TVgXSW3SW=i?Bn zMq-HjTwI7V@p~ADA7Tyjn+r5HW5Ig+Tksf8reE}3o7*NVp}!ONN_rf}=Lt z--26lDc4V88YVnvQ!oRy!CK7Fb6AM`(9w?1(NJ~XLKVk^7W*C0h+4>AjKx9B#Ea<1 zpjI1^JXDUWk&|lLQ42Van($w!1$f)6`KXkZw{d$ojY=*kw>7BH*I@`ggQ|rMuA5x9 zpa$NCdhTu4L#XkNpiarJ2g2j7NA!5(qdaTs*0;8J8rm9~Tb|1qi1!{%d8oN%;7n0o m*rxY}fBAoH}h_`hxVR|NHdG(EkEdjVeX} delta 4478 zcmb8xi&K@y8OQOph+G5&5mZ1qN(GerLAjR13kn7WjT#d`6f9H<1q@(<1`cDVm^2|) z8SAAs4w^8jjhYsd8DmX{Nux;pcYbrqp=2ku?4MFqHsn)wip#qg=djKgHqgbGkA zU4{zKhJM(E-uMethJJ}!;bC;)QS`-gs4cwY=ozA+z#-FYisMlMXFL5e)QhdC33NF9 z7aX^tYU3qj&SpO}A+WRx8 z)L%uV*gwfWKMK?6N1?W&7!_!hbH5EWp)S;WyHVrxKIpUm12mR%;W)m66O-*q{)98= zUq@n^m=t3&aS=X*&tf5-z;p~wwW-fXZDAE^V(rKp%^@tszu{`k;ARl<%`O_+v)|xI zJb{|&M@VclhBHEL$sfBS|qUu@}2h6H4J@;lc`3AP-VTX1C*U-lTPM~b$uie) z6-H&T|4iDnQwgfx*RcZML@x}>wwV}@D#D2vf^m-77*4+kmBA_;jh(0!_Mi)2Lj^vG zigOS3o>va}*Mku`_WY-#2FS%AEJh8y0=3c&NI{z&xD4Mx)xh{%J~mi|EY9@dOgxYL zGtoaVW(=0$3T(n>@RWzf&uA2}!77rosJ*?11vrUH+l#fh6$2h-yKoQYW7tdz5=$`} ze~a3R4^S(-g|Qew0WepSj#_X7QdY*Zi3b175&mPl%n)iKZVst3QGtBy%vyBgPMm-r zqW1VIYRiIIz9!I!3b+|Hfj1pbq8I&(=!ch)B9AaPY4~vAHtM|p7qv$tdd~WVdNkBH z7RsaMVaI&b5c82VnI-u7Fk`mhI{NkV>?VAP%9u!BYG;ZsLXF`FzgkfBJ|G6wImh zq92Emn1I1pfPwfpY63My9(!Q}7gUbVp;o>F^}=2Z#eV1h37ks*Q&bMk0(*Z1svm(F z=)weCj?B^g6q%d(5Ver83+?y|Jv4OUD^P*EaU^cXK-`DQ(C-}ILp^r^_1qQIN^ha6 z>08{10mXK+`*1S-12`7XI9|qh`W{na_iie>xKMxrxCZ^P6*YlQ^ug^o3iqJO^AJwL zPjEWk#)+87p;?bbsEi#)Ro@NNL~mo5;`=YQsc@kJq@fAg9R{M|ORtm$p#o=O3@%31L@T=SHPk{c;BexbuV`om*N~K$JE(z!mfGuMuz$ufO#;oqpSLdn^xP7X4G$fj*Cu|27(3G&E!Lgsp`L z45gceLAU_5k}^~=c~B|ci(1Js9F6ayFAk!%@b9P$UPe9V&6(A6fvAkRO3A+hC38VV zHXEby2@J+I48fnH2HK6W7=fiY7F)~6zlx=s z3z|_MYNdx!0R~aW?GkEBzCnHIZlP8fT5eBG1Zw5Es4dKQEJX!w!tuBX6|dLnzvZE! z7e7W#;0ve!wc~$KwQ&zsTz)HT05^8gFLe5+Q3GE>{$QBQB&N=kPQFZp0L>PL}Z$Zy+8c);k#dg#lcRB7rRquXO3I|Z< z_X28#H_?S7>uumfRG@OydsV3C+Rz8LqTb(y+L{CP9_C^Pj={HZ1)j!dFsaf0_}h;O^i!Mc)|O)d{mv%xzn8{)T-b_r zYe^^G$9!yg(*F88f~so&X1f*BP%B)Du~>&WxD~bHlc?hSC#p8awb;J_rKpK)L1p5Y zhejNYGw8-UsEi~qizzrCIjW`+HGxy8fd4{GAZ(pA5w)jt&<_hxTe}#Q`p0ktR-m@1 z+HrcF(^!id_$kzjFFEc*4frbN;qS43?YwIN6H@YPn=7m8t6jAX&9yDnu7<{z+M3$c zl`XZ64bAKvClH7z|U^}%y)cTReCf9~ALLH}>8{{fU{NCE%= diff --git a/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/vi_VN/LC_MESSAGES/mediagoblin.po index 12019713..3c94d3f5 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -23,7 +23,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -47,12 +47,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -114,7 +114,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -180,7 +180,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -258,37 +258,37 @@ msgstr "" msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -570,26 +570,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -613,15 +613,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.mo index fd9721a8e90bced1957d1f3199336043b3f4759b..7c1bcda81440f10449a7e27ede30d0b5dbb45ad5 100644 GIT binary patch delta 4431 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 delta 4466 zcmajhdr(!^702G+K%sY0_A=gVLmSCUFw6+Sp1=Cp0nEiPoBoQDbYW!Dzof&;GwNjGw*sIcGoC zUgumdT^Z1KWx%1*0B4*r=BCG(T#QOI#*2?*Ag;%Ua1#dOHjKobI0z5g{v%jId<-XH z&{$(yFc&|?gYktF$Cx-8o9PI|PSlMDFcgoWCi*Kz;YHL! zzro=cGr^c}Ohb)Rh|1U!48djgdYz5ep%(ZP>j8&`ChSE`a0#{YejJ5Ssm6@P4Ag>3 zP&+M0P0)-%xDf~8OQ;O(K<)4_dhjR?!E>l1{HN9Fr=f|%C%P$~fST}88!tsY*o0cZ zIva1bzKp7kUm$BXzd=oK7B}MOHeSQQYut_aD7GUJKD3!5Pj&?K&+b|!sgOjMU zKZ8pB7pN2uO?U4fhS|h%sH2#NnrOMb-i%t%M$~h=QR8$xh&lgbG@hcP2lrt@hP#vZ za5C|i$ed4_2Wja*#4IyRALQn`>_1cQJ~zt;c7P zWSOhD9OLphe->?8s03B-A*{k~48X{IHxtpQB22(=OtI!;6!BbC2CFdw*Q0j09X+@o zHSuZGJl~?83n(D}x-q7}egAV%15Cv*oQE2?61CGGA_Z+;!E$^TRRhse`Pg7JvN_X< z)A2m=XU0r3W+X1fN?e1_<6j&atu*Fxz$%hn)Y*QEC74L1?L{B{3`2@IE^NnQjGRtE z;u0K#Z=jCi&!`>V!ek7g09dQZL2cNNl$CLQOoKo37XNTurXRHsFE6PwQH6Z$%ya0) zofwbrqt5sX)R7Hm`&vLfYQi?u0=liIF@X3I2H_Q?$Yab+8i92D7xlj1N1f5&?Y%)G z91S&^jdH6gvKFI;n2n^#EW{5781qwHOI-VydkCLmG;t(}jKfUS5=&8KU5BL6?7~R= z7`5aZHV&LcdFsJm#BsO z8q=`P#t)Uchddb*>90gR=QuR<#&1Opcoa3zaSX-xQ7QY_`W5QFA&rVxLPdM@D!jl=mT(NKpM^S)DUxvBFYtf6pMa_3XGQas34ejU}Mqs}#U>H9g!!QyxKoX{71?ssi zcoB#46Ht%WFd3`L-T(cyVm9%HC*2Ko<3!><^kKkLjI)NuY8pz_dDOS-HY!!&i`<3e zqvGkP>VF2u;x^Qg9YQVi52%Hovi720?>-yfLfv;4LosAA`%p*BVt3~gQ4_5F;|LlX=+J<#pi;cg z#%ED0y?~nF8tQCsqZTr1sap#PIE1(ewcuH(VqAn#=*MVmMJ=e^#&0?_H1G%3b2yav zGHQaathX_i_&#dj*b35**{Jw!^x)r+kD~b+i?FED-I#;g$X48fyHMjhN&L2`=q8~C zDneZ-M`fe}RYX42%3rk}M(y-8>bXx*&;1*9gx}bB%rbW&$@p{nYf%}#hgquQNz2_c zsl+KVR)_kejdR@;tQw&2Y%1(k3=u=bkytEfV}eNRpigy;2%nxEYn| z9@NhNgUV39jpzEvwl0*>P!TRho$*TR^Qh{58I{8Qs3JUtTG(YAhj(x?#;(s9M>9s;&L2$iH^_79E=46U@XrScIw1x<}%(?m?xr*T%thwl;7i{S8=& zoA5cjY+bb4&BQ4jPycPy`0;-7zn4a(-%X9aqfNvMuo!!g-wPAWXVQZeI1yV=nRpFT z@I6$@uiE}pX4gbBQMIuOb8$cF`HQIUPMGt3cYv{|vz>#=NDC%mJ5qP%I8MOS26y5z zeDGnhaVrLJy#s@BA1dX)v%YD48+Bg~24VIo+xQTZ={Rq17}V(A7=)qphoW{E+Z8nO zdPsa`v9Do8bzP0e=Wp;e)_DB&jlNpn$`y^idVfP#Y~qpFfJT4D_63C#y85Su4e{os zdviV6QwnnO(z7OKWer_0KfSDGt*?RG(~DO$))aWWS=l-1Sr6{>dJA&$yQa<@7y5tZ S`BB;Gn1PM{t{ZiYf&T-ATSHg? diff --git a/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_CN/LC_MESSAGES/mediagoblin.po index 4aba553e..b5122636 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -28,7 +28,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "抱歉,本站已暂停注册。" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -52,12 +52,12 @@ msgstr "此字段需填写电子邮件地址。" msgid "Sorry, a user with that name already exists." msgstr "抱歉,该用户名已存在。" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "抱歉,已有用户用该电子邮件注册。" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -119,7 +119,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -185,7 +185,7 @@ msgid "Email me when others comment on my media" msgstr "当有人对我的媒体评论时给我电子邮件" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -263,37 +263,37 @@ msgstr "您正在修改别人的个人资料,请小心操作。" msgid "Profile changes saved" msgstr "个人资料已修改" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "账户设置已保存" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "您需要确认删除您的账户。" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "您已经有一个称做“%s”的合集了!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "该用户已经有使用该简称的合集了。" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "您正在修改别人的合集,请小心操作。" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "密码错误" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "您的密码已成功修改" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -575,26 +575,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -618,15 +618,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "提供文件的媒体类型错误。" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo index 0a29257dc57ef765f315f90b42a37cee7409e244..888052fb0e94f6b00e9f3b44d57bd31a3d281917 100644 GIT binary patch delta 4440 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\n" "Language-Team: Chinese (Taiwan) (Big5) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW.Big5/)\n" "MIME-Version: 1.0\n" @@ -23,7 +23,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -47,12 +47,12 @@ msgstr "" msgid "Sorry, a user with that name already exists." msgstr "" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -114,7 +114,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -180,7 +180,7 @@ msgid "Email me when others comment on my media" msgstr "" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -258,37 +258,37 @@ msgstr "" msgid "Profile changes saved" msgstr "" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -570,26 +570,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -613,15 +613,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo index 29abaf6522eaf7e541e38b5d3d4c7ef31c3d517c..5e8ec91157ed47748fd638f0c1a89f258b2fcab5 100644 GIT binary patch delta 4431 zcmZwJdr(%#8OQNOVt~j^l#7D$f(k(k0s;a>z`G(Bjh9pn3J6M~V4^RWjIl>2YEnaW z3SOGaBn^f*ZD}+`+XOYOohCMp#u_!$OvW}%I#%0>P8c~jup@AZK9uLm3{5A@QEF<<$N$-{&sW3q7}2H{S;4|n4b?7(Pz6$j%nH+~#v(?5;h z!H8sIwqOzVVK3HU`xs*;;BEXClg1j)HFDAgEZnG_s}b1?|(F$&jVFnV}DK9}mTYZ`kP2*PgEjYlyIPon}|#u&Vg zTBv!@m`L#9P|QNjGaZ$&8Vtn-cYTBFZ$~ZgN6w=j4F&8&1-OA)c>w1UiwPKqIj99y zpmw?(6+q_~f^9e$_oFiOGHQpt=)+SOjDJNP;Xj;Sz<3)t7M0=*RKPi|UyFKhGim|b zUBBJ=5~?;{N7inRpaNXMop{srTRC{m+lJGy3pr}f{GEnUnMCDiN7=XsOHeyFk6PHr zsMOy=r8qL(-XD!w^pjCXu?Q7twY%=27Sx7%t`jxSp@BZPLGH$S1FGdqk! z@EmHTSCH7|Do(*L-c1FXhpGV&=ixz|i8pZ;=5mvY@o8+v7jP;D^Qx()%1{}qLvJCC z%`__UJSx?r*|v6^k0ix3;A_}{T2L+@3m?{_0_{NR$#go;B5$s_gNrbMv~9&FkYt&! zum+R!Ie!*yo}m&{y}!a0cme}4zQAT85mkg^aVVxcOE8B10#pVYF$#C0cK8DN@Rz8- z7g2En3+;0uh2&p1`WOhp0@MUkF&r16CSHZw={BUG%`3PVKS0$$;&*xXu@Tvv>Bdt0 z0{Lgg6&W)eYq1(z@oBu|(bz#_0SBxi=|i1uAQd(nQ?V1*V>?Eb@O8v4oPqJB#>~eW zOvJZPM{xm_nSWslMo|E))fAvM>_^JVct51UKl2;@EFN*{1Pd0&wNcoslSJM-v_fTol&SW${B~6 zcr@OJGo59q39FFgnWcC+z?cKrO228AJ(4eQ1pNfknt*wjNPM%9hN^rcl2!8>YUQ6f zzs6|#5gfE09ES=x4T)pQQAJsa%1{j|wH?m)u$KN^%;bTkb8V(~l`${z%_$n%c^}5( zRSd;%oI$+gI*Q>KhN-CQxz1_MDvV(K5!C(bP#N=33w{Ij+!0i~lj!j=GQX!W0dFJ6 zX_CtA4(f3%{r#v1kE7oIKcFVOi<&5)!Y(WrmAM#aI_ka|I0P$E^DJ|&sUZJ*8Spcp zi9+}asi-1RJIKRWoQr8#iz>e7oj*kdIE{M#f*b#n>)%0T zp^oHjOvXNU{TtK<0+#B2mKHwHAnmC4JHhn}P&+EcFr4rDD^NRcM(uE$>mPR4e}|gq zBh-R!q5|H*p%}Q#)=o4gD>aEU^uRQX!)%3c;2vtDF)QtYQc%wott9^{p6PC2E%KQ*8?Xb9qt3Xh#(w#>p!(f7 z89%{djH3rtXE*A%;9szs_~tf^CvagC-*F>qScoLQ2Pf_vuF%TpC z{B#^bW0>EjJkgngx*^?}g(38Foh6t?f3CZ}(YXo37~hOV_=BF1;WtCulcK|YwRP)T z{Jw_PhGzf9jGpMEWATHU{XJ)kCI>%Ike-?2%gQUv%$iQZQM#tMt)jbEBVuSt*Nf{ub delta 4466 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 TC(iMO&nNb7Y3y9Et~Km`lPWRU diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po index cbde817c..586f3766 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: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2013-08-26 17:38-0500\n" -"PO-Revision-Date: 2013-08-26 22:39+0000\n" +"POT-Creation-Date: 2013-09-04 16:02-0500\n" +"PO-Revision-Date: 2013-09-04 21:03+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" @@ -28,7 +28,7 @@ msgid "Sorry, registration is disabled on this instance." msgstr "抱歉,本站已經暫停註冊。" #: mediagoblin/decorators.py:268 mediagoblin/plugins/openid/views.py:202 -#: mediagoblin/plugins/persona/views.py:76 +#: mediagoblin/plugins/persona/views.py:77 msgid "Sorry, authentication is disabled on this instance." msgstr "" @@ -52,12 +52,12 @@ msgstr "本欄位需要 email 位置。" msgid "Sorry, a user with that name already exists." msgstr "抱歉,這個使用者名稱已經存在。" -#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:446 +#: mediagoblin/auth/tools.py:150 mediagoblin/edit/views.py:442 msgid "Sorry, a user with that email address already exists." msgstr "抱歉,此 email 位置已經被註冊了。" #: mediagoblin/auth/views.py:145 mediagoblin/auth/views.py:293 -#: mediagoblin/edit/views.py:402 mediagoblin/edit/views.py:423 +#: mediagoblin/edit/views.py:398 mediagoblin/edit/views.py:419 msgid "The verification key or user id is incorrect." msgstr "" @@ -119,7 +119,7 @@ msgstr "" #: mediagoblin/auth/views.py:340 msgid "" "You are no longer an active user. Please contact the system admin to " -"reactivate your accoutn." +"reactivate your account." msgstr "" #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 @@ -185,7 +185,7 @@ msgid "Email me when others comment on my media" msgstr "當有人對我的媒體留言時寄信給我" #: mediagoblin/edit/forms.py:67 -msgid "Enable/Disable insite notifications" +msgid "Enable insite notifications about events." msgstr "" #: mediagoblin/edit/forms.py:69 @@ -263,37 +263,37 @@ msgstr "您正在修改別人的個人檔案,請小心操作。" msgid "Profile changes saved" msgstr "個人檔案修改已儲存" -#: mediagoblin/edit/views.py:247 +#: mediagoblin/edit/views.py:243 msgid "Account settings saved" msgstr "帳號設定已儲存" -#: mediagoblin/edit/views.py:281 +#: mediagoblin/edit/views.py:277 msgid "You need to confirm the deletion of your account." msgstr "您必須要確認是否刪除您的帳號。" -#: mediagoblin/edit/views.py:317 mediagoblin/submit/views.py:148 +#: mediagoblin/edit/views.py:313 mediagoblin/submit/views.py:148 #: mediagoblin/user_pages/views.py:242 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "您已經有一個稱做「%s」的蒐藏了!" -#: mediagoblin/edit/views.py:321 +#: mediagoblin/edit/views.py:317 msgid "A collection with that slug already exists for this user." msgstr "這個使用者已經有使用該簡稱的蒐藏了。" -#: mediagoblin/edit/views.py:336 +#: mediagoblin/edit/views.py:332 msgid "You are editing another user's collection. Proceed with caution." msgstr "您正在修改別人的蒐藏,請小心操作。" -#: mediagoblin/edit/views.py:359 mediagoblin/edit/views.py:452 +#: mediagoblin/edit/views.py:355 mediagoblin/edit/views.py:448 msgid "Wrong password" msgstr "密碼錯誤" -#: mediagoblin/edit/views.py:374 +#: mediagoblin/edit/views.py:370 msgid "Your password was changed successfully" msgstr "您的密碼已經成功修改" -#: mediagoblin/edit/views.py:417 +#: mediagoblin/edit/views.py:413 msgid "Your email address has been verified." msgstr "" @@ -575,26 +575,26 @@ msgstr "" msgid "Sorry, an account is already registered to that Persona email." msgstr "" -#: mediagoblin/plugins/persona/views.py:137 +#: mediagoblin/plugins/persona/views.py:138 msgid "The Persona email address was successfully removed." msgstr "" -#: mediagoblin/plugins/persona/views.py:143 +#: 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:148 +#: mediagoblin/plugins/persona/views.py:149 msgid "That Persona email address is not registered to this account." msgstr "" -#: mediagoblin/plugins/persona/views.py:175 +#: mediagoblin/plugins/persona/views.py:176 msgid "" "Sorry, an account is already registered with that Persona email address." msgstr "" -#: mediagoblin/plugins/persona/views.py:189 +#: mediagoblin/plugins/persona/views.py:192 msgid "Your Persona email address was saved successfully." msgstr "" @@ -618,15 +618,15 @@ msgstr "" msgid "Or register with Persona!" msgstr "" -#: mediagoblin/processing/__init__.py:414 +#: mediagoblin/processing/__init__.py:413 msgid "Invalid file given for media type." msgstr "指定錯誤的媒體類別!" -#: mediagoblin/processing/__init__.py:421 +#: mediagoblin/processing/__init__.py:420 msgid "Copying to public storage failed." msgstr "" -#: mediagoblin/processing/__init__.py:429 +#: mediagoblin/processing/__init__.py:428 msgid "An acceptable processing file was not found" msgstr "" From 07b02d2bc27fe242a43aabe52abaf906085b0a76 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 4 Sep 2013 16:07:12 -0500 Subject: [PATCH 152/160] Committing present MediaGoblin translations before pushing extracted messages --- mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po index fb46c985..83322047 100644 --- a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "POT-Creation-Date: 2013-09-04 16:02-0500\n" -"PO-Revision-Date: 2013-09-04 21:03+0000\n" -"Last-Translator: cwebber \n" +"PO-Revision-Date: 2013-09-04 21:05+0000\n" +"Last-Translator: tryggvib \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" @@ -119,7 +119,7 @@ msgstr "Þú verður að staðfesta netfangið þitt áður en þú getur endurs msgid "" "You are no longer an active user. Please contact the system admin to " "reactivate your account." -msgstr "" +msgstr "Þú ert ekki lengur virkur notandi. Vinsamlegast hafðu samband við kerfisstjóra til að endurvirkja aðganginn þinn." #: mediagoblin/edit/forms.py:27 mediagoblin/edit/forms.py:86 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 @@ -185,7 +185,7 @@ msgstr "Senda mér tölvupóst þegar einhver bætir athugasemd við efnið mitt #: mediagoblin/edit/forms.py:67 msgid "Enable insite notifications about events." -msgstr "" +msgstr "Virkja innri tilkynningar um viðburði." #: mediagoblin/edit/forms.py:69 msgid "License preference" From a25adfc424f80fdc2ecf9cf8d65ff4def424cf6b Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Wed, 4 Sep 2013 16:07:37 -0500 Subject: [PATCH 153/160] Committing extracted and compiled translations --- .../i18n/en/LC_MESSAGES/mediagoblin.po | 2 +- .../i18n/is_IS/LC_MESSAGES/mediagoblin.mo | Bin 33216 -> 33238 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/en/LC_MESSAGES/mediagoblin.po index a5f9cb72..bc5baccb 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: 2013-09-04 16:02-0500\n" +"POT-Creation-Date: 2013-09-04 16:07-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo index 650605cadcf7dd202273373cc2021dc2094411ac..fb1674f0116ff06e2c64a7e59a935983b18bdc83 100644 GIT binary patch delta 2822 zcmXxmdr(wW9Ki7-g}hWy@BwOE6y?1Ff`Ly=$QOnWRLmEPEbC?QB6k-A(N=O~swr(` zwA98PR@gWh4x^dPShh7*=Bu)CENdpK;g7VbY{V?4@6WR_%zn=A+;h)4zw=o5aC^u% z+e5nIBK_C;DfL3JQk#`h_M=KU@Fu3>sM$)5#1c$KC+1)~&c%~B0z>8~m4G8r;z{@r zmf--jkYQ9SM&VYRj8D%|ew9z*V=5-%-&lhVdOyS)dvHE+As?e~2S(y+n1pX*G+xA^ z_(RaYP$nK#s#F}N;2@leQa>N%J$I>JKiEWtbl8qEz+oJY-584JZ~3)2 z>yF<*$><8o8TcM$EA9s4=q0-Ubd;6MN9kt@4pZ!Z1qI2t9%Jw+l!p6IR^(-j$4=x0 zbp~ZcuA&^WUr;6*TCOvjhOxxO!MFkk6R*WIY(O~!2XGkUt9OGBE?_DTdQk>WTB^4u z4LO&p5akv;iPEkU*)4SmITk8$nVvu$N&;RSfGucXJIWd8#ArN*D;Zy%p^$^4mn+qQ zWjMT_Qa5lD@x2P2p?8H+v#CFVlc@jmah*~6N~LBJm*X+qi_hSkReDRlLdp0R4#mjT zdc_U&CsI*JArDtz2JS>z;!`L~|0zl)KcejQZdp}(T6V|hY&A8$*>0H{ifja z=TY|lC`y0l*0BCE@Kq{g$p)^~dl!o`ffSUE@=;E63Cb3DQ961Nhv9LQ48K6hum|N# z^`Q(jyi&iPj55K+C=+*8`gKP2RLH4sMmdC?DA(p>Fz!Ja=q_esj8k_w6Vr+7QQGgv zO#B>W;&)I646D)uCIn3m>hM#TLW2U7)9FLmyMs6e)7I%dEX7&GZj{4#1SQkkD49l9 zE42&9qFm>0dP6C*Lnqn9`n<^4%G3vHB%oj^(GSComw(piPv|2hiusQ3hBNnfaFv?;47bW9_dTtah!Hf7D$^=$#)D!MNgZM0_$v{06 ze*%R*D&%m)Z`Dgwgc-yua5?Tk1FxeTsy=k$BTwl6 zgkDE^{}xJrL+Ljcvr)Eo9VX&_lrwY+Wy@~(DM-Ur+w_3Da4_-vn2zUBmcAFIz7L}? zrcJNRsG#Few!(q^u>j@08JLG9_#ke^2hfjlYa+H&m`!14cSKxHPHuiiHb0T2POmSk z+;&>tI;XGRo^1H+7Pq^}tTLwlUn;8c)|d{{+ucwyB_?H=X?tp&hG|*0Y52@KPm5)l zmfL9?jT?+6GtgDlXa~B??yr{?j`0T$22L3++h@2u9@D6ES?)%gMz#m6dY{v(HXX(? z)ABku)VbVD#aQpG33N3YR8;Zweusv~W!IQqudg=HZ98R5!x`u@Tvm0XEqyT?Vz<+B YGbtl*nooziKXS*N=CR!!%~=uu0sRrX(f|Me delta 2670 zcmXZedrX&A9LMp42r3r=xd@i}6Ab~8yFy^7A>akCiFj88H3dX|+=+Zd6E`W_r0lY0 zu5fKlOT%UtbFP)Hm1WtO)l$p;pj`YxWs42z{n>dK<8{90_dMr(&-a|?`O$lD#N~q{ z&PD_{w|$IxX@N1V#+ar;W0G+I<8exnF%RKloQ69v4LflWeuB|BYN0U`(1VI|aT2b^ zAgn{CG5awP4`2=+U1%ILi^dmpWZ*FFzzjxzlRI9;CB%9Bc^Hpi0KSD&@I4H{?=cd8 za~(t_9$IWn1Sa8FoR8{Xfx54%*s&k9(V+o5Q4^fO@%RDy;dNY!z39Pd1iP^SYw;|u zz}RKR1Y;d$V>^c7M>qz*!qM1^y6(0^Lz(=Eqi_gSLcirUo`kwE4nM_A48(si34NJW ziKpU3T!opq7iZ!rOu-vC7JXM5d#FSMR@;?5j^V_M+;|g)5m#UWHlohJNsMBCbJ6|a2FCNj5NhJM61z3Y$hkCm zsHfmCYM|4|Zkb->SeQrF*aW<&1+-ugI_SY?QD@)`hTsLGL3rT-eWl0MX4|AXoH0JWmD&Gzu+;yB`Us1;VB?r(EHKaSe_^QiH@ z-Aw&8@hv)3vhXc-?_y91%tQ^8i#p9qP+QP~8t4Q@;m4>Ieur9NKk7`4+-fJ9h`K)! zmEc-b;+0z+yP^g!`$sP!k4k zvlDt;6J0YM8o6AMhY8q<+PiLy#guZphpRB3xEggB&!JX2h+1iAg)z@#0_t)85GUbh zI1TTjDm;3-UEo+OCUz#%h@er0ny?*}c{j%4dGy1dFav)~X?Z=m+<7V>L?c9SGFq7uA|O6V^P z!0DB?#ObK}=U_fIqY}G_TF?M0kr)PBtLNWKV=*0HqDmT7t+d!jB}u?HU|UWeac7b=1By*A-j&_jF;6EsmjjoBDoYcE`mRM{ND7x5kz zV7r%O@hX27U{0NV;W*e#+~LNB9(V@fP`?M`lBF-SrM`c=r9=wV=RDD>6N&D=7LPt^e-$ac!jOjRm@wK%} zaWX!G@z{;zZmu~rbYbCsJ7Eik5ud_DynrhGuc-b$48%cHW&GQ%A*ij0Mt_V&-Isuw zn1Um*0)258>Zu8;rcp$r8M|r=m-VcVxRaWdF(Z|qfa0>c`kAY}WqazX%Ia&pIiB*S z?c26(_j=~Ijd>Lfb@eUfRW%J2$u-`cJyiv{p#GdOVS+QM>b2j(1H Date: Wed, 4 Sep 2013 16:25:12 -0500 Subject: [PATCH 154/160] MediaGoblin v0.5.0! --- mediagoblin/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/_version.py b/mediagoblin/_version.py index 94629775..d093d00d 100644 --- a/mediagoblin/_version.py +++ b/mediagoblin/_version.py @@ -23,4 +23,4 @@ # see http://www.python.org/dev/peps/pep-0386/ -__version__ = "0.5.0.dev" +__version__ = "0.5.0" From 936624c36254b0755b47802c13b7899c992c7834 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 5 Sep 2013 09:34:48 -0500 Subject: [PATCH 155/160] In the v0.6.0 cycle now --- mediagoblin/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mediagoblin/_version.py b/mediagoblin/_version.py index d093d00d..3594c909 100644 --- a/mediagoblin/_version.py +++ b/mediagoblin/_version.py @@ -23,4 +23,4 @@ # see http://www.python.org/dev/peps/pep-0386/ -__version__ = "0.5.0" +__version__ = "0.6.0.dev" From 18922af5830f4a7686ec3b3ff11dc309a5a9cca6 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 5 Sep 2013 09:37:08 -0500 Subject: [PATCH 156/160] Temporarily switching git:// to http:// --- 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 de4ce1ac..ca1ae4b0 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -199,7 +199,7 @@ Change to the MediaGoblin directory that you just created:: Clone the MediaGoblin repository and set up the git submodules:: - git clone git://gitorious.org/mediagoblin/mediagoblin.git + git clone http://git.gitorious.org/mediagoblin/mediagoblin.git cd mediagoblin git submodule init && git submodule update From 5a756fb8197419180ee1a598cd5bc5e31c9638aa Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 5 Sep 2013 09:51:22 -0500 Subject: [PATCH 157/160] Revert "Temporarily switching git:// to http://" This reverts commit 18922af5830f4a7686ec3b3ff11dc309a5a9cca6. --- 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 ca1ae4b0..de4ce1ac 100644 --- a/docs/source/siteadmin/deploying.rst +++ b/docs/source/siteadmin/deploying.rst @@ -199,7 +199,7 @@ Change to the MediaGoblin directory that you just created:: Clone the MediaGoblin repository and set up the git submodules:: - git clone http://git.gitorious.org/mediagoblin/mediagoblin.git + git clone git://gitorious.org/mediagoblin/mediagoblin.git cd mediagoblin git submodule init && git submodule update From 85cf52f86548dfbc8a65a8c1625de9539a3ea9b6 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Thu, 5 Sep 2013 09:04:23 -0700 Subject: [PATCH 158/160] reword persona edit link --- .../templates/mediagoblin/plugins/persona/edit_link.html | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html b/mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html index 08879da5..a022c62a 100644 --- a/mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html +++ b/mediagoblin/plugins/persona/templates/mediagoblin/plugins/persona/edit_link.html @@ -17,9 +17,8 @@ #} {% block persona_edit_link %} -

      - - {% trans %}Edit your Persona email addresses{% endtrans %} - -

      + + {% trans %}Persona's{% endtrans %} + + · {% endblock %} From 0485e9c892d712534592733cdc302ec28c841293 Mon Sep 17 00:00:00 2001 From: Rodney Ewing Date: Fri, 6 Sep 2013 14:27:55 -0700 Subject: [PATCH 159/160] typo. conversions not convirsions thanks to saul for pointing this out. --- mediagoblin/media_types/ascii/processing.py | 2 +- mediagoblin/media_types/image/processing.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mediagoblin/media_types/ascii/processing.py b/mediagoblin/media_types/ascii/processing.py index f42edfdd..3b287877 100644 --- a/mediagoblin/media_types/ascii/processing.py +++ b/mediagoblin/media_types/ascii/processing.py @@ -60,7 +60,7 @@ class CommonAsciiProcessor(MediaProcessor): # Conversions subdirectory to avoid collisions self.conversions_subdir = os.path.join( - self.workbench.dir, 'convirsions') + self.workbench.dir, 'conversions') os.mkdir(self.conversions_subdir) # Pull down and set up the processing file diff --git a/mediagoblin/media_types/image/processing.py b/mediagoblin/media_types/image/processing.py index 555a0e0a..4c7bdb15 100644 --- a/mediagoblin/media_types/image/processing.py +++ b/mediagoblin/media_types/image/processing.py @@ -144,7 +144,7 @@ class CommonImageProcessor(MediaProcessor): ## @@: Should this be two functions? # Conversions subdirectory to avoid collisions self.conversions_subdir = os.path.join( - self.workbench.dir, 'convirsions') + self.workbench.dir, 'conversions') os.mkdir(self.conversions_subdir) # Pull down and set up the processing file From 66cafc3b74d476710013efb46341b989028f3057 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 9 Sep 2013 10:01:56 -0500 Subject: [PATCH 160/160] Support python 2.6 again! Thanks to julianoliver for catching this. This commit sponsored by Sam Clegg. Thank you! --- mediagoblin/processing/__init__.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index bdbe0441..246091d6 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -14,7 +14,13 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from collections import OrderedDict +# Use an ordered dict if we can. If not, we'll just use a normal dict +# later. +try: + from collections import OrderedDict +except: + OrderedDict = None + import logging import os @@ -187,7 +193,10 @@ class ProcessingManager(object): """ def __init__(self): # Dict of all MediaProcessors of this media type - self.processors = OrderedDict() + if OrderedDict is not None: + self.processors = OrderedDict() + else: + self.processors = {} def add_processor(self, processor): """