diff options
113 files changed, 1246 insertions, 1015 deletions
@@ -8,6 +8,7 @@ variety of different ways and this software wouldn't exist without them. Thank you! * Aaron Williamson +* Aeva Ntsc * Alejandro Villanueva * Aleksandar Micovic * Alex Camelio @@ -17,12 +18,15 @@ Thank you! * Chris Moylan * Christopher Allan Webber * Daniel Neel +* Duncan Paterson * Deb Nicholson * Elrond of Samba TNG +* Emily O'Leary * Jakob Kramer * Jef van Schendel * Joar Wandborg * Karen Rustad +* Kuno Woudt * Mark Holmquist * Matt Lee * Nathan Yergler diff --git a/docs/source/build/mediagoblin-licenses/PKG-INFO b/docs/source/build/mediagoblin-licenses/PKG-INFO new file mode 100644 index 00000000..047efe83 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/PKG-INFO @@ -0,0 +1,11 @@ +Metadata-Version: 1.1 +Name: mediagoblin-licenses +Version: 0.1.2 +Summary: Customize the licenses for your mediagoblin installation +Home-page: https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses +Author: Sebastian Spaeth +Author-email: Sebastian@SSpaeth.de +License: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+) +Download-URL: https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses/archive-tarball/mediagoblin-licenses-v0.1.2 +Description: UNKNOWN +Platform: UNKNOWN diff --git a/docs/source/build/mediagoblin-licenses/README b/docs/source/build/mediagoblin-licenses/README new file mode 100644 index 00000000..ce52a8c0 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/README @@ -0,0 +1,15 @@ +================ + Custom Licenses +================ + +Enable by configuring all custom licenses in the form of: +license_x=Abbreviation, Full Name, URL to license + +Make sure to only insert one line per license without line breaks. + +E.g. do this into mediagoblin_local.ini: +[[mediagoblin_licenses]] +license_1=Chicken Dance, Chicken Dance License v1.0, https://raw.github.com/supertunaman/cdl/f0ae734f4abce311070ac0c401dbc0230cbc4344/COPYING +license_2=WTFPL, Do What the Fuck Public License v2.0, http://sam.zoy.org/wtfpl/ + +This plugin is licensed under the GNU APGL v3+.
\ No newline at end of file diff --git a/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/README.rst b/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/README.rst new file mode 100644 index 00000000..ce52a8c0 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/README.rst @@ -0,0 +1,15 @@ +================ + Custom Licenses +================ + +Enable by configuring all custom licenses in the form of: +license_x=Abbreviation, Full Name, URL to license + +Make sure to only insert one line per license without line breaks. + +E.g. do this into mediagoblin_local.ini: +[[mediagoblin_licenses]] +license_1=Chicken Dance, Chicken Dance License v1.0, https://raw.github.com/supertunaman/cdl/f0ae734f4abce311070ac0c401dbc0230cbc4344/COPYING +license_2=WTFPL, Do What the Fuck Public License v2.0, http://sam.zoy.org/wtfpl/ + +This plugin is licensed under the GNU APGL v3+.
\ No newline at end of file diff --git a/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/__init__.py b/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/__init__.py new file mode 100644 index 00000000..37f5a390 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/__init__.py @@ -0,0 +1,69 @@ +# 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 <http://www.gnu.org/licenses/>. +from __future__ import unicode_literals + +import logging +from mediagoblin.tools.pluginapi import get_config +from mediagoblin.tools import licenses + +__VERSION__ = '0.1.2' # releases get numbers, post release a "+" appended +_log = logging.getLogger(__name__) + +SORTED_PLUGIN_LICENSES = [] +"""This is the equivalent of MG.tools.licenses.SORTED_LICENSES +that we want to replace""" + + +class CustomLicenses(object): + _setup_plugin_called = 0 + + @classmethod + def setup_plugin(cls): + if cls._setup_plugin_called: + return # Only set up once + cls._setup_plugin_called += 1 + _log.info('Configurable license plugin setting up!') + # Get configured licenses + config = get_config(cls.__module__) + if not config: + _log.warn('There are no licenses configured at all.') + return # Nothing configured, nothing to do... + + for k,v in config.iteritems(): + if not k.lower().startswith('license_'): + continue + (abbrev, name, url) = config.as_list(k) + _log.info("Adding license: {0}".format(abbrev)) + SORTED_PLUGIN_LICENSES.append(licenses.License(abbrev, name, url)) + + # Set the regular license list to our custom ones: + licenses.SORTED_LICENSES = SORTED_PLUGIN_LICENSES + # create dict {url: License,...} to enable fast license lookup by url. + + # The data structure in + # mediagoblin.tools.licenses.SUPPORTED_LICENSES and SORTED_LICENSES + # is really not optimal. What we want there is a "OrderedDict" that + # can give us order AND quick lookup by key at the same time. But as + # that is python >=2.7 and we have to deal with python 2.6, we'll + # live with the data duplication in 2 structures for now. It's not + # like we are going to have hundreds of licenses, fortunately. + licenses.SUPPORTED_LICENSES = dict(((l.uri, l) for l in \ + SORTED_PLUGIN_LICENSES)) + + +hooks = { + 'setup': CustomLicenses.setup_plugin + } diff --git a/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/README.rst b/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/README.rst new file mode 100644 index 00000000..ce52a8c0 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/README.rst @@ -0,0 +1,15 @@ +================ + Custom Licenses +================ + +Enable by configuring all custom licenses in the form of: +license_x=Abbreviation, Full Name, URL to license + +Make sure to only insert one line per license without line breaks. + +E.g. do this into mediagoblin_local.ini: +[[mediagoblin_licenses]] +license_1=Chicken Dance, Chicken Dance License v1.0, https://raw.github.com/supertunaman/cdl/f0ae734f4abce311070ac0c401dbc0230cbc4344/COPYING +license_2=WTFPL, Do What the Fuck Public License v2.0, http://sam.zoy.org/wtfpl/ + +This plugin is licensed under the GNU APGL v3+.
\ No newline at end of file diff --git a/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/__init__.py b/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/__init__.py new file mode 100644 index 00000000..37f5a390 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/__init__.py @@ -0,0 +1,69 @@ +# 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 <http://www.gnu.org/licenses/>. +from __future__ import unicode_literals + +import logging +from mediagoblin.tools.pluginapi import get_config +from mediagoblin.tools import licenses + +__VERSION__ = '0.1.2' # releases get numbers, post release a "+" appended +_log = logging.getLogger(__name__) + +SORTED_PLUGIN_LICENSES = [] +"""This is the equivalent of MG.tools.licenses.SORTED_LICENSES +that we want to replace""" + + +class CustomLicenses(object): + _setup_plugin_called = 0 + + @classmethod + def setup_plugin(cls): + if cls._setup_plugin_called: + return # Only set up once + cls._setup_plugin_called += 1 + _log.info('Configurable license plugin setting up!') + # Get configured licenses + config = get_config(cls.__module__) + if not config: + _log.warn('There are no licenses configured at all.') + return # Nothing configured, nothing to do... + + for k,v in config.iteritems(): + if not k.lower().startswith('license_'): + continue + (abbrev, name, url) = config.as_list(k) + _log.info("Adding license: {0}".format(abbrev)) + SORTED_PLUGIN_LICENSES.append(licenses.License(abbrev, name, url)) + + # Set the regular license list to our custom ones: + licenses.SORTED_LICENSES = SORTED_PLUGIN_LICENSES + # create dict {url: License,...} to enable fast license lookup by url. + + # The data structure in + # mediagoblin.tools.licenses.SUPPORTED_LICENSES and SORTED_LICENSES + # is really not optimal. What we want there is a "OrderedDict" that + # can give us order AND quick lookup by key at the same time. But as + # that is python >=2.7 and we have to deal with python 2.6, we'll + # live with the data duplication in 2 structures for now. It's not + # like we are going to have hundreds of licenses, fortunately. + licenses.SUPPORTED_LICENSES = dict(((l.uri, l) for l in \ + SORTED_PLUGIN_LICENSES)) + + +hooks = { + 'setup': CustomLicenses.setup_plugin + } diff --git a/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/PKG-INFO b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/PKG-INFO new file mode 100644 index 00000000..047efe83 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/PKG-INFO @@ -0,0 +1,11 @@ +Metadata-Version: 1.1 +Name: mediagoblin-licenses +Version: 0.1.2 +Summary: Customize the licenses for your mediagoblin installation +Home-page: https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses +Author: Sebastian Spaeth +Author-email: Sebastian@SSpaeth.de +License: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+) +Download-URL: https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses/archive-tarball/mediagoblin-licenses-v0.1.2 +Description: UNKNOWN +Platform: UNKNOWN diff --git a/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/SOURCES.txt b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/SOURCES.txt new file mode 100644 index 00000000..0e504e97 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/SOURCES.txt @@ -0,0 +1,6 @@ +README +mediagoblin_licenses/__init__.py +pip-egg-info/mediagoblin_licenses.egg-info/PKG-INFO +pip-egg-info/mediagoblin_licenses.egg-info/SOURCES.txt +pip-egg-info/mediagoblin_licenses.egg-info/dependency_links.txt +pip-egg-info/mediagoblin_licenses.egg-info/top_level.txt
\ No newline at end of file diff --git a/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/dependency_links.txt b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/dependency_links.txt new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/top_level.txt b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/top_level.txt new file mode 100644 index 00000000..142877ed --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/top_level.txt @@ -0,0 +1 @@ +mediagoblin_licenses diff --git a/docs/source/build/mediagoblin-licenses/setup.py b/docs/source/build/mediagoblin-licenses/setup.py new file mode 100644 index 00000000..952ba3ce --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/setup.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +from distutils.core import setup +import re + +from sys import version +assert version >= '2.6', 'This package requires python 2.6 at least. Sorry.' + +def get_version(): + """Parse __init__.py for version info, we cannot import it""" + version_re = re.compile(r'\s*__VERSION__\s*=\s*("|\')([\w\.\+]+)(\1)') + with open('mediagoblin_licenses/__init__.py', 'rt') as file: + for line in file: + if version_re.match(line): + return version_re.match(line).group(2) +__VERSION__ = get_version() + + +setup(name='mediagoblin-licenses', + version=__VERSION__, + description='Customize the licenses for your mediagoblin installation', + author='Sebastian Spaeth', + author_email='Sebastian@SSpaeth.de', + url='https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses', + download_url='https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses/archive-tarball/mediagoblin-licenses-v' + __VERSION__, + # http://bugs.python.org/issue13943. Must not be unicode... + packages=['mediagoblin_licenses'], + package_data = {'mediagoblin_licenses': ['README.rst', 'COPYING']}, + license=(b'License :: OSI Approved :: GNU Affero General Public License ' + b'v3 or later (AGPLv3+)') + ) diff --git a/docs/source/build/pip-delete-this-directory.txt b/docs/source/build/pip-delete-this-directory.txt new file mode 100644 index 00000000..c8883ea9 --- /dev/null +++ b/docs/source/build/pip-delete-this-directory.txt @@ -0,0 +1,5 @@ +This file is placed here by pip to indicate the source was put +here by pip. + +Once this package is successfully installed this source code will be +deleted (unless you remove this file). diff --git a/docs/source/plugindocs/trim_whitespace.rst b/docs/source/plugindocs/trim_whitespace.rst new file mode 100644 index 00000000..eb38e0e5 --- /dev/null +++ b/docs/source/plugindocs/trim_whitespace.rst @@ -0,0 +1 @@ +.. include:: ../../../mediagoblin/plugins/trim_whitespace/README.rst diff --git a/docs/source/siteadmin/codebase.rst b/docs/source/siteadmin/codebase.rst index 22f4e18b..73e938e7 100644 --- a/docs/source/siteadmin/codebase.rst +++ b/docs/source/siteadmin/codebase.rst @@ -65,7 +65,7 @@ Software Stack `Paste Script <http://pythonpaste.org/script/>`_: we'll use this for configuring and launching the application - * `WebOb <http://pythonpaste.org/webob/>`_: nice abstraction layer + * `werkzeug <http://werkzeug.pocoo.org/>`_: nice abstraction layer from HTTP requests, responses and WSGI bits * `Beaker <http://beaker.groovie.org/>`_: for handling sessions and diff --git a/docs/source/siteadmin/media-types.rst b/docs/source/siteadmin/media-types.rst index 3b46c1b6..8fbce5e4 100644 --- a/docs/source/siteadmin/media-types.rst +++ b/docs/source/siteadmin/media-types.rst @@ -77,6 +77,13 @@ good/bad/ugly). On Debianoid systems:: gstreamer0.10-ffmpeg +Add ``mediagoblin.media_types.video`` to the ``media_types`` list in your +``mediagoblin_local.ini`` and restart MediaGoblin. + +Run:: + + ./bin/gmg dbupdate + Now you should be able to submit videos, and mediagoblin should transcode them. @@ -117,8 +124,13 @@ Then install ``scikits.audiolab`` for the spectrograms:: ./bin/pip install scikits.audiolab Add ``mediagoblin.media_types.audio`` to the ``media_types`` list in your -``mediagoblin_local.ini`` and restart MediaGoblin. You should now be able to -upload and listen to audio files! +``mediagoblin_local.ini`` and restart MediaGoblin. + +Run:: + + ./bin/gmg dbupdate + +You should now be able to upload and listen to audio files! Ascii art @@ -140,4 +152,28 @@ the list would look like this:: media_types = mediagoblin.media_types.image, mediagoblin.media_types.ascii +Run:: + + ./bin/gmg dbupdate + Now any .txt file you uploaded will be processed as ascii art! + + +STL / 3d model support +====================== + +To enable the "STL" 3d model support plugin, first make sure you have +a recentish `Blender <http://blender.org>`_ installed and available on +your execution path. This feature has been tested with Blender 2.63. +It may work on some earlier versions, but that is not guaranteed (and +is surely not to work prior to Blender 2.5X). + +Add ``mediagoblin.media_types.stl`` to the ``media_types`` list in your +``mediagoblin_local.ini`` and restart MediaGoblin. + +Run:: + + ./bin/gmg dbupdate + +You should now be able to upload .obj and .stl files and MediaGoblin +will be able to present them to your wide audience of admirers! diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst index 3e09078e..9b45f642 100644 --- a/docs/source/siteadmin/relnotes.rst +++ b/docs/source/siteadmin/relnotes.rst @@ -19,16 +19,33 @@ This chapter has important information for releases in it. If you're upgrading from a previous release, please read it carefully, or at least skim over it. +WIP +===== + +**New features** + +**Other changed** + +* Dependency list has been reduced not requireing the "webob" package anymore. + 0.3.2 ===== This will be the last release that is capable of converting from an earlier MongoDB-based MediaGoblin instance to the newer SQL-based system. +**Do this to upgrade** + +1. Make sure to run ``bin/gmg dbupdate`` after upgrading. + **New features** -* TO BE FILLED IN BEFORE RELEASE :-) +* **3d model support!** + + You can now upload STL and OBJ files and display them in + MediaGoblin. Requires a recent-ish Blender; for details see: + :ref:`deploying-chapter` * **trim_whitespace** @@ -37,6 +54,55 @@ MongoDB-based MediaGoblin instance to the newer SQL-based system. See :ref:`core-plugin-section` for plugin documentation +* **A new API!** + + It isn't well documented yet but we do have an API. There is an + `android application in progress <https://gitorious.org/mediagoblin/mediagoblin-android>`_ + which makes use of it, and there are some demo applications between + `automgtic <https://github.com/jwandborg/automgtic>`_, an + automatic media uploader for your desktop + and `OMGMG <https://github.com/jwandborg/omgmg>`_, an example of + a web application hooking up to the API. + + This is a plugin, so you have to enable it in your mediagoblin + config file by adding a section under [plugins] like:: + + [plugins] + [[mediagoblin.plugins.api]] + + Note that the API works but is not nailed down... the way it is + called may change in future releases. + +* **OAuth login support** + + For applications that use OAuth to connect to the API. + + This is a plugin, so you have to enable it in your mediagoblin + config file by adding a section under [plugins] like:: + + [plugins] + [[mediagoblin.plugins.oauth]] + +* **Collections** + + We now have user-curated collections support. These are arbitrary + galleries that are customizable by users. You can add media to + these by clicking on the paperclip icon when logged in and looking + at a media entry. + +* **OpenStreetMap licensing display improvements** + + More accurate display of OSM licensing, and less disruptive: you + click to "expand" the display of said licensing. + + Geolocation is also now on by default. + +* **Miscelaneous visual improvements** + + We've made a number of small visual improvements including newer and + nicer looking thumbnails and improved checkbox placement. + + 0.3.1 ===== diff --git a/mediagoblin/_version.py b/mediagoblin/_version.py index 94ab9f1a..9b7ea279 100644 --- a/mediagoblin/_version.py +++ b/mediagoblin/_version.py @@ -23,4 +23,4 @@ # see http://www.python.org/dev/peps/pep-0386/ -__version__ = "0.3.2.dev" +__version__ = "0.3.2" diff --git a/mediagoblin/app.py b/mediagoblin/app.py index 876ded4e..1a398bcd 100644 --- a/mediagoblin/app.py +++ b/mediagoblin/app.py @@ -96,7 +96,6 @@ class MediaGoblinApp(object): self.url_map = url_map for route in PluginManager().get_routes(): - _log.debug('adding plugin route: {0}'.format(route)) add_route(*route) # set up staticdirector tool @@ -135,9 +134,8 @@ class MediaGoblinApp(object): def call_backend(self, environ, start_response): request = Request(environ) - ## Compatibility webob -> werkzeug + # Compatibility with django, use request.args preferrably request.GET = request.args - request.accept = request.accept_mimetypes ## Routing / controller loading stuff map_adapter = self.url_map.bind_to_environ(request.environ) @@ -193,7 +191,8 @@ class MediaGoblinApp(object): except NotFound as exc: return render_404(request)(environ, start_response) except HTTPException as exc: - # Support legacy webob.exc responses + # exceptions that match() is documented to return: + # MethodNotAllowed, RequestRedirect TODO: need to handle ??? return exc(environ, start_response) view_func = view_functions[endpoint] diff --git a/mediagoblin/auth/lib.py b/mediagoblin/auth/lib.py index c5b046d2..8829995a 100644 --- a/mediagoblin/auth/lib.py +++ b/mediagoblin/auth/lib.py @@ -109,7 +109,7 @@ def send_verification_email(user, request): 'verification_url': EMAIL_VERIFICATION_TEMPLATE.format( host=request.host, uri=request.urlgen('mediagoblin.auth.verify_email'), - userid=unicode(user._id), + userid=unicode(user.id), verification_key=user.verification_key)}) # TODO: There is no error handling in place @@ -144,7 +144,7 @@ def send_fp_verification_email(user, request): 'verification_url': EMAIL_FP_VERIFICATION_TEMPLATE.format( host=request.host, uri=request.urlgen('mediagoblin.auth.verify_forgot_password'), - userid=unicode(user._id), + userid=unicode(user.id), fp_verification_key=user.fp_verification_key)}) # TODO: There is no error handling in place diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py index 5b77c122..b95ea18d 100644 --- a/mediagoblin/auth/views.py +++ b/mediagoblin/auth/views.py @@ -17,8 +17,6 @@ import uuid import datetime -from webob import exc - from mediagoblin import messages from mediagoblin import mg_globals from mediagoblin.tools.response import render_to_response, redirect, render_404 @@ -90,7 +88,7 @@ def register(request): user.save(validate=True) # log the user in - request.session['user_id'] = unicode(user._id) + request.session['user_id'] = unicode(user.id) request.session.save() # send verification email @@ -125,11 +123,11 @@ def login(request): if user and user.check_login(request.form['password']): # set up login in session - request.session['user_id'] = unicode(user._id) + request.session['user_id'] = unicode(user.id) request.session.save() if request.form.get('next'): - return exc.HTTPFound(location=request.form['next']) + return redirect(request, location=request.form['next']) else: return redirect(request, "index") @@ -167,7 +165,7 @@ def verify_email(request): return render_404(request) user = request.db.User.find_one( - {'_id': ObjectId(unicode(request.GET['userid']))}) + {'id': ObjectId(unicode(request.GET['userid']))}) if user and user.verification_key == unicode(request.GET['token']): user.status = u'active' @@ -308,7 +306,7 @@ def verify_forgot_password(request): # check if it's a valid Id try: user = request.db.User.find_one( - {'_id': ObjectId(unicode(formdata_userid))}) + {'id': ObjectId(unicode(formdata_userid))}) except InvalidId: return render_404(request) diff --git a/mediagoblin/db/mixin.py b/mediagoblin/db/mixin.py index 3f395e90..9829bb6e 100644 --- a/mediagoblin/db/mixin.py +++ b/mediagoblin/db/mixin.py @@ -99,14 +99,14 @@ class MediaEntryMixin(object): @property def slug_or_id(self): - return (self.slug or self._id) + return (self.slug or self.id) def url_for_self(self, urlgen, **extra_args): """ Generate an appropriate url for ourselves - Use a slug if we have one, else use our '_id'. + Use a slug if we have one, else use our 'id'. """ uploader = self.get_uploader @@ -208,13 +208,13 @@ class CollectionMixin(object): @property def slug_or_id(self): - return (self.slug or self._id) + return (self.slug or self.id) def url_for_self(self, urlgen, **extra_args): """ Generate an appropriate url for ourselves - Use a slug if we have one, else use our '_id'. + Use a slug if we have one, else use our 'id'. """ creator = self.get_creator diff --git a/mediagoblin/db/sql/base.py b/mediagoblin/db/sql/base.py index ca0c8166..8aa9cc3a 100644 --- a/mediagoblin/db/sql/base.py +++ b/mediagoblin/db/sql/base.py @@ -42,28 +42,15 @@ class GMGQuery(Query): Session = scoped_session(sessionmaker(query_cls=GMGQuery)) -def _fix_query_dict(query_dict): - if '_id' in query_dict: - query_dict['id'] = query_dict.pop('_id') - - class GMGTableBase(object): query = Session.query_property() @classmethod - def find(cls, query_dict=None): - if query_dict is None: - query_dict = {} - - _fix_query_dict(query_dict) + def find(cls, query_dict): return cls.query.filter_by(**query_dict) @classmethod - def find_one(cls, query_dict=None): - if query_dict is None: - query_dict = {} - - _fix_query_dict(query_dict) + def find_one(cls, query_dict): return cls.query.filter_by(**query_dict).first() @classmethod diff --git a/mediagoblin/db/sql/models.py b/mediagoblin/db/sql/models.py index b48c1fbe..4450e38d 100644 --- a/mediagoblin/db/sql/models.py +++ b/mediagoblin/db/sql/models.py @@ -44,18 +44,6 @@ from mediagoblin.db.sql.base import Session from migrate import changeset -class SimpleFieldAlias(object): - """An alias for any field""" - def __init__(self, fieldname): - self.fieldname = fieldname - - def __get__(self, instance, cls): - return getattr(instance, self.fieldname) - - def __set__(self, instance, val): - setattr(instance, self.fieldname, val) - - class User(Base, UserMixin): """ TODO: We should consider moving some rarely used fields @@ -83,8 +71,6 @@ class User(Base, UserMixin): ## TODO # plugin data would be in a separate model - _id = SimpleFieldAlias("id") - def __repr__(self): return '<{0} #{1} {2} {3} "{4}">'.format( self.__class__.__name__, @@ -161,8 +147,6 @@ class MediaEntry(Base, MediaEntryMixin): # media_data # fail_error - _id = SimpleFieldAlias("id") - def get_comments(self, ascending=False): order_col = MediaComment.created if not ascending: @@ -359,8 +343,6 @@ class MediaComment(Base, MediaCommentMixin): get_author = relationship(User) - _id = SimpleFieldAlias("id") - class Collection(Base, CollectionMixin): __tablename__ = "core__collections" @@ -383,8 +365,6 @@ class Collection(Base, CollectionMixin): return CollectionItem.query.filter_by( collection=self.id).order_by(order_col) - _id = SimpleFieldAlias("id") - class CollectionItem(Base, CollectionItemMixin): __tablename__ = "core__collection_items" @@ -400,8 +380,6 @@ class CollectionItem(Base, CollectionItemMixin): get_media_entry = relationship(MediaEntry) - _id = SimpleFieldAlias("id") - __table_args__ = ( UniqueConstraint('collection', 'media_entry'), {}) diff --git a/mediagoblin/decorators.py b/mediagoblin/decorators.py index 90b36771..e45d3272 100644 --- a/mediagoblin/decorators.py +++ b/mediagoblin/decorators.py @@ -17,9 +17,8 @@ from functools import wraps from urlparse import urljoin -from urllib import urlencode - -from webob import exc +from werkzeug.exceptions import Forbidden +from werkzeug.urls import url_quote from mediagoblin.db.util import ObjectId, InvalidId from mediagoblin.db.sql.models import User @@ -43,11 +42,8 @@ def require_active_login(controller): qualified=True), request.url) - return exc.HTTPFound( - location='?'.join([ - request.urlgen('mediagoblin.auth.login'), - urlencode({ - 'next': next_url})])) + return redirect(request, 'mediagoblin.auth.login', + next=url_quote(next_url)) return controller(request, *args, **kwargs) @@ -75,10 +71,10 @@ def user_may_delete_media(controller): @wraps(controller) def wrapper(request, *args, **kwargs): uploader_id = request.db.MediaEntry.find_one( - {'_id': ObjectId(request.matchdict['media'])}).uploader + {'id': ObjectId(request.matchdict['media'])}).uploader if not (request.user.is_admin or - request.user._id == uploader_id): - return exc.HTTPForbidden() + request.user.id == uploader_id): + return Forbidden() return controller(request, *args, **kwargs) @@ -94,8 +90,8 @@ def user_may_alter_collection(controller): creator_id = request.db.User.find_one( {'username': request.matchdict['user']}).id if not (request.user.is_admin or - request.user._id == creator_id): - return exc.HTTPForbidden() + request.user.id == creator_id): + return Forbidden() return controller(request, *args, **kwargs) @@ -134,15 +130,15 @@ def get_user_media_entry(controller): media = request.db.MediaEntry.find_one( {'slug': request.matchdict['media'], 'state': u'processed', - 'uploader': user._id}) + 'uploader': user.id}) # no media via slug? Grab it via ObjectId if not media: try: media = request.db.MediaEntry.find_one( - {'_id': ObjectId(request.matchdict['media']), + {'id': ObjectId(request.matchdict['media']), 'state': u'processed', - 'uploader': user._id}) + 'uploader': user.id}) except InvalidId: return render_404(request) @@ -169,7 +165,7 @@ def get_user_collection(controller): collection = request.db.Collection.find_one( {'slug': request.matchdict['collection'], - 'creator': user._id}) + 'creator': user.id}) # Still no collection? Okay, 404. if not collection: @@ -194,10 +190,10 @@ def get_user_collection_item(controller): collection = request.db.Collection.find_one( {'slug': request.matchdict['collection'], - 'creator': user._id}) + 'creator': user.id}) collection_item = request.db.CollectionItem.find_one( - {'_id': request.matchdict['collection_item'] }) + {'id': request.matchdict['collection_item'] }) # Still no collection item? Okay, 404. if not collection_item: @@ -216,7 +212,7 @@ def get_media_entry_by_id(controller): def wrapper(request, *args, **kwargs): try: media = request.db.MediaEntry.find_one( - {'_id': ObjectId(request.matchdict['media']), + {'id': ObjectId(request.matchdict['media']), 'state': u'processed'}) except InvalidId: return render_404(request) diff --git a/mediagoblin/edit/lib.py b/mediagoblin/edit/lib.py index b4715134..aab537a0 100644 --- a/mediagoblin/edit/lib.py +++ b/mediagoblin/edit/lib.py @@ -17,7 +17,7 @@ def may_edit_media(request, media): """Check, if the request's user may edit the media details""" - if media.uploader == request.user._id: + if media.uploader == request.user.id: return True if request.user.is_admin: return True diff --git a/mediagoblin/edit/views.py b/mediagoblin/edit/views.py index 111f9ae8..8840f36f 100644 --- a/mediagoblin/edit/views.py +++ b/mediagoblin/edit/views.py @@ -14,10 +14,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from webob import exc from cgi import FieldStorage from datetime import datetime +from werkzeug.exceptions import Forbidden from werkzeug.utils import secure_filename from mediagoblin import messages @@ -41,7 +41,7 @@ import mimetypes @require_active_login def edit_media(request, media): if not may_edit_media(request, media): - return exc.HTTPForbidden() + return Forbidden("User may not edit this media") defaults = dict( title=media.title, @@ -75,11 +75,11 @@ def edit_media(request, media): media.save() - return exc.HTTPFound( - location=media.url_for_self(request.urlgen)) + return redirect(request, + location=media.url_for_self(request.urlgen)) if request.user.is_admin \ - and media.uploader != request.user._id \ + and media.uploader != request.user.id \ and request.method != 'POST': messages.add_message( request, messages.WARNING, @@ -130,7 +130,7 @@ def edit_attachments(request, media): attachment_public_filepath \ = mg_globals.public_store.get_unique_filepath( - ['media_entries', unicode(media._id), 'attachment', + ['media_entries', unicode(media.id), 'attachment', public_filename]) attachment_public_file = mg_globals.public_store.get_file( @@ -157,15 +157,15 @@ def edit_attachments(request, media): % (request.form['attachment_name'] or request.files['attachment_file'].filename)) - return exc.HTTPFound( - location=media.url_for_self(request.urlgen)) + return redirect(request, + location=media.url_for_self(request.urlgen)) return render_to_response( request, 'mediagoblin/edit/attachments.html', {'media': media, 'form': form}) else: - return exc.HTTPForbidden() + return Forbidden("Attachments are disabled") @require_active_login @@ -278,7 +278,7 @@ def edit_collection(request, collection): # Make sure there isn't already a Collection with this title existing_collection = request.db.Collection.find_one({ - 'creator': request.user._id, + 'creator': request.user.id, 'title':request.form['title']}) if existing_collection and existing_collection.id != collection.id: @@ -301,7 +301,7 @@ def edit_collection(request, collection): collection=collection.slug) if request.user.is_admin \ - and collection.creator != request.user._id \ + and collection.creator != request.user.id \ and request.method != 'POST': messages.add_message( request, messages.WARNING, diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo Binary files differindex 06dc2263..d8d02ded 100644 --- a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po index e8648171..6bdfacc6 100644 --- a/mediagoblin/i18n/ar/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ar/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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -309,7 +309,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -744,14 +744,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -916,12 +908,12 @@ msgid "" msgstr "هنا ستظهر وسائطك، ولكن يبدو أنك لم تض٠شيئًا بعد." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -981,26 +973,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "ويØÙŠ!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo Binary files differindex 09105662..ae6216cf 100644 --- a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ca/LC_MESSAGES/mediagoblin.po index b93516d8..79f26e8f 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -309,7 +309,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:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "El client {0} ha sigut enregistrat!" @@ -744,14 +744,6 @@ msgstr "Editar" msgid "Delete" msgstr "Esborrar" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -916,12 +908,12 @@ msgid "" msgstr "Aqui és on apareixerà el teu mitjà , però sembla que encara no hi has afegit res." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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 "Sembla que no hi ha cap mitjà aqui encara..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -981,26 +973,26 @@ msgstr "" msgid "Could not read the image file." msgstr "No s'ha pogut llegir l'arxiu d'imatge" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Ups!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo Binary files differindex c511196a..9d9955ce 100644 --- a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/da/LC_MESSAGES/mediagoblin.po index 12466d58..c0677f43 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -309,7 +309,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "Dette felt er nødvendigt for offentlige klienter" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "Klienten {0} er blevet registreret!" @@ -744,14 +744,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -916,12 +908,12 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -981,26 +973,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Hovsa!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo Binary files differindex 793fb975..6374be42 100644 --- a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po index 8b764c1c..d3a56821 100644 --- a/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/de/LC_MESSAGES/mediagoblin.po @@ -20,9 +20,9 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2012-12-03 13:23-0600\n" -"PO-Revision-Date: 2012-12-05 08:17+0000\n" -"Last-Translator: spaetz <sebastian@sspaeth.de>\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" +"Last-Translator: cwebber <cwebber@dustycloud.org>\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" @@ -67,7 +67,7 @@ msgstr "Leider gibt es bereits einen Benutzer mit dieser E-Mail-Adresse." msgid "" "Your email address has been verified. You may now login, edit your profile, " "and submit images!" -msgstr "Deine E-Mail-Adresse wurde hiermit aktiviert. Du kannst dich jetzt anmelden, dein Profil bearbeiten und Media hochladen!" +msgstr "Dein GNU MediaGoblin Konto wurde hiermit aktiviert. Du kannst dich jetzt anmelden, dein Profil bearbeiten und Medien hochladen." #: mediagoblin/auth/views.py:188 msgid "The verification key or user id is incorrect" @@ -223,7 +223,7 @@ msgid "Wrong password" msgstr "Falsches Passwort" #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211 -#: mediagoblin/user_pages/views.py:215 +#: mediagoblin/user_pages/views.py:210 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Du hast bereits eine Sammlung mit Namen \"%s\"!" @@ -249,7 +249,7 @@ msgid "However, old link directory symlink found; removed.\n" msgstr "Trotzdem wurde eine alte Verknüpfung gefunden; sie wurde entfernt\n" #: mediagoblin/media_types/__init__.py:60 -#: mediagoblin/media_types/__init__.py:120 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Entschuldigung, dieser Dateityp wird nicht unterstützt." @@ -319,7 +319,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:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "Client {0} wurde registriert!" @@ -344,43 +344,43 @@ msgstr "JAAA! Geschafft!" msgid "Collection \"%s\" added!" msgstr "Sammlung \"%s\" hinzugefügt!" -#: mediagoblin/templates/mediagoblin/base.html:50 +#: mediagoblin/templates/mediagoblin/base.html:48 msgid "MediaGoblin logo" msgstr "MediaGoblin Logo" -#: mediagoblin/templates/mediagoblin/base.html:56 +#: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" msgstr "<a href=\"%(user_url)s\">%(user_name)s</a>s Konto" -#: mediagoblin/templates/mediagoblin/base.html:62 +#: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" msgstr "abmelden" -#: mediagoblin/templates/mediagoblin/base.html:64 +#: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/user_pages/user.html:151 msgid "Add media" msgstr "Medien hinzufügen" -#: mediagoblin/templates/mediagoblin/base.html:70 +#: mediagoblin/templates/mediagoblin/base.html:68 msgid "Verify your email!" msgstr "Bitte bestätige Deine E-Mail-Adresse!" -#: mediagoblin/templates/mediagoblin/base.html:75 +#: 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:89 +#: mediagoblin/templates/mediagoblin/base.html:87 msgid "" "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "href=\"http://gnu.org/\">GNU</a> project." msgstr "Diese Seite setzt das <a href=\"http://gnu.org/\">GNU</a>-Projekt <a href=\"http://mediagoblin.org/\">MediaGoblin</a> ein." -#: mediagoblin/templates/mediagoblin/base.html:92 +#: mediagoblin/templates/mediagoblin/base.html:90 #, python-format msgid "" "Released under the <a " @@ -619,6 +619,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/stl.html:136 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52 msgid "Download" msgstr "Download" @@ -650,6 +651,56 @@ msgstr "Originaldatei" msgid "WebM file (Vorbis codec)" msgstr "WebM-Datei (Vorbis-Codec)" +#: 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:67 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:73 +#, python-format +msgid "Image for %(media_title)s" +msgstr "Bild für %(media_title)s" + +#: 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 +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 "Objekthöhe" + #: mediagoblin/templates/mediagoblin/media_displays/video.html:40 msgid "" "Sorry, this video will not work because \n" @@ -703,14 +754,6 @@ msgstr "Bearbeiten" msgid "Delete" msgstr "Löschen" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -753,12 +796,6 @@ msgstr "<a href=\"%(user_url)s\">%(username)s</a>s Medien" msgid "â– Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgstr "â– Medien von <a href=\"%(user_url)s\">%(username)s</a>" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:73 -#, python-format -msgid "Image for %(media_title)s" -msgstr "Bild für %(media_title)s" - #: mediagoblin/templates/mediagoblin/user_pages/media.html:102 msgid "Add a comment" msgstr "Einen Kommentar schreiben" @@ -805,7 +842,7 @@ msgstr "Eine neue Sammlung hinzufügen" #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 msgid "" "You can track the state of media being processed for your gallery here." -msgstr "Du kannst hier den Status der Medien verfolgen die sich gerade in Bearbeitung befinden." +msgstr "Du kannst hier den Status der Medien verfolgen, die sich gerade in Bearbeitung befinden." #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 msgid "Your last 10 successful uploads" @@ -881,12 +918,12 @@ msgid "" msgstr "Hier erscheinen deine Medien, sobald du etwas hochgeladen hast." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Scheinbar gibt es hier noch nichts …" -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "(entfernen)" @@ -946,26 +983,26 @@ msgstr "Schlagwörter" msgid "Could not read the image file." msgstr "Die Bilddatei konnte nicht gelesen werden." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Hoppla!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "Ein Fehler trat auf" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "Funktion nicht erlaubt" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" @@ -992,74 +1029,74 @@ msgstr "Notiz anfügen" msgid "commented on your post" msgstr "hat dein Medium kommentiert" -#: mediagoblin/user_pages/views.py:161 +#: mediagoblin/user_pages/views.py:156 msgid "Oops, your comment was empty." msgstr "Hoppla, der Kommentartext fehlte." -#: mediagoblin/user_pages/views.py:167 +#: mediagoblin/user_pages/views.py:162 msgid "Your comment has been posted!" msgstr "Dein Kommentar wurde angenommen!" -#: mediagoblin/user_pages/views.py:235 +#: mediagoblin/user_pages/views.py:230 msgid "You have to select or add a collection" msgstr "Du musst eine Sammlung auswählen oder hinzufügen" -#: mediagoblin/user_pages/views.py:243 +#: mediagoblin/user_pages/views.py:238 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" ist bereits in der Sammlung \"%s\"" -#: mediagoblin/user_pages/views.py:258 +#: mediagoblin/user_pages/views.py:253 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" zur Sammlung \"%s\" hinzugefügt" -#: mediagoblin/user_pages/views.py:266 +#: mediagoblin/user_pages/views.py:261 msgid "Please check your entries and try again." msgstr "Bitte prüfe deinen Einträge und versuche erneut." -#: mediagoblin/user_pages/views.py:297 +#: mediagoblin/user_pages/views.py:292 msgid "" "Some of the files with this entry seem to be missing. Deleting anyway." msgstr "Manche Dateien dieses Eintrags scheinen zu fehlen. Es wird trotzdem gelöscht." -#: mediagoblin/user_pages/views.py:302 +#: mediagoblin/user_pages/views.py:297 msgid "You deleted the media." msgstr "Du hast das Medium gelöscht." -#: mediagoblin/user_pages/views.py:309 +#: mediagoblin/user_pages/views.py:304 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:317 +#: mediagoblin/user_pages/views.py:312 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:379 +#: mediagoblin/user_pages/views.py:370 msgid "You deleted the item from the collection." msgstr "Du hast das Objekt aus der Sammlung gelöscht." -#: mediagoblin/user_pages/views.py:383 +#: mediagoblin/user_pages/views.py:374 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:393 +#: mediagoblin/user_pages/views.py:384 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:426 +#: mediagoblin/user_pages/views.py:417 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Du hast die Sammlung \"%s\" gelöscht" -#: mediagoblin/user_pages/views.py:433 +#: mediagoblin/user_pages/views.py:424 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:443 +#: mediagoblin/user_pages/views.py:434 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 f2d82eff..3ac01f5a 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: 2012-12-07 12:45-0600\n" +"POT-Creation-Date: 2012-12-20 10:11-0600\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -309,7 +309,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -746,14 +746,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -917,12 +909,12 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -982,26 +974,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're " "sure the address is correct, maybe the page you're looking for has been " diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo Binary files differindex b5e6398b..28500ceb 100644 --- a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po index 4bd19dda..3b1dce48 100644 --- a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/eo/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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -309,7 +309,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -744,14 +744,6 @@ msgstr "ÅœanÄi" msgid "Delete" msgstr "Forigi" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -916,12 +908,12 @@ msgid "" msgstr "Äœuste ĉi tie aperos viaj dosieroj, sed vi Åajne ankoraÅ nenion alÅutis." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Ĉi tie Åajne estas ankoraÅ neniuj dosieroj…" -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -981,26 +973,26 @@ msgstr "Markita per" msgid "Could not read the image file." msgstr "Malsukcesis lego de la bildodosiero" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Oj!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo Binary files differindex bbc0efb0..98dbebdd 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po index 903aa2af..e1249591 100644 --- a/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/es/LC_MESSAGES/mediagoblin.po @@ -18,8 +18,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/mediagoblin/language/es/)\n" "MIME-Version: 1.0\n" @@ -202,7 +202,7 @@ msgstr "Estás editando el contenido de otro usuario. Proceder con precaución." #: mediagoblin/edit/views.py:156 #, python-format msgid "You added the attachment %s!" -msgstr "" +msgstr "¡Has añadido el adjunto %s!" #: mediagoblin/edit/views.py:181 msgid "You are editing a user's profile. Proceed with caution." @@ -317,7 +317,7 @@ msgstr "La URI para redireccionar las aplicaciones, este campo es <strong>requer msgid "This field is required for public clients" msgstr "Este campo es requerido para los clientes públicos" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "¡El cliente {0} ha sido registrado!" @@ -349,11 +349,11 @@ msgstr "Logo de MediaGoblin" #: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" -msgstr "" +msgstr "Cuenta de <a href=\"%(user_url)s\">%(user_name)s</a>" #: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" -msgstr "" +msgstr "cerrar sesión" #: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 @@ -388,15 +388,15 @@ msgstr "Publicado bajo la <a href=\"http://www.fsf.org/licensing/licenses/agpl-3 #: mediagoblin/templates/mediagoblin/error.html:24 msgid "Image of goblin stressing out" -msgstr "" +msgstr "Imagen de un goblin estresándose" #: mediagoblin/templates/mediagoblin/root.html:25 msgid "Actions" -msgstr "" +msgstr "Acciones" #: mediagoblin/templates/mediagoblin/root.html:31 msgid "Create new collection" -msgstr "" +msgstr "Crear nueva colección" #: mediagoblin/templates/mediagoblin/root.html:34 msgid "Change account settings" @@ -661,43 +661,43 @@ msgstr "Imágenes para %(media_title)s" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 msgid "Toggle Rotate" -msgstr "" +msgstr "Alternar Rotar" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" -msgstr "" +msgstr "Perspectiva" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 msgid "Front" -msgstr "" +msgstr "Frente" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Top" -msgstr "" +msgstr "Arriba" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" -msgstr "" +msgstr "Lateral" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 msgid "WebGL" -msgstr "" +msgstr "WebGL" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 msgid "Download model" -msgstr "" +msgstr "Descargar modelo" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 msgid "File Format" -msgstr "" +msgstr "Formato de Archivo" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 msgid "Object Height" -msgstr "" +msgstr "Altura del Objeto" #: mediagoblin/templates/mediagoblin/media_displays/video.html:40 msgid "" @@ -752,14 +752,6 @@ msgstr "Editar" msgid "Delete" msgstr "Borrar" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n%(collection_description)s\n</p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -830,7 +822,7 @@ msgstr "<h3>Añadido en</h3>\n <p>%(date)s</p>" #: mediagoblin/templates/mediagoblin/user_pages/media.html:202 msgid "Add media to collection" -msgstr "" +msgstr "Añadir contenido a la colección" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #, python-format @@ -924,14 +916,14 @@ msgid "" msgstr "Aquà es donde estará ubicado tu contenido, pero parece que aún no has agregado nada." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Parece que aún no hay ningún contenido aquÃ..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr "(borrar)" #: mediagoblin/templates/mediagoblin/utils/collections.html:20 #, python-format @@ -989,31 +981,31 @@ msgstr "Marcado con" msgid "Could not read the image file." msgstr "No se pudo leer el archivo de imagen." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "¡Ups!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" -msgstr "" +msgstr "Ha ocurrido un error" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" -msgstr "" +msgstr "Operación no permitida" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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 "¡Lo siento Dave, no puedo permitir que hagas eso!</p><p>Has intentado realizar una operación no permitida. ¿Has vuelto a intentar borrar todas las cuentas de usuario?" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "" +msgstr "Parece que no hay ninguna página en esta dirección. ¡Lo siento!</p><p>Si estás seguro de que la dirección es correcta, quizá han borrado o movido la página que estás buscando." #: mediagoblin/user_pages/forms.py:28 msgid "I am sure I want to delete this" diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo Binary files differindex 155ccd22..ba9aad9b 100644 --- a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fa/LC_MESSAGES/mediagoblin.po index d877209a..44e8b802 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -307,7 +307,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -742,14 +742,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,12 +906,12 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -979,26 +971,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "اوه" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo Binary files differindex fcef90d8..b0106832 100644 --- a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po index 98b5b52f..39480ea9 100644 --- a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po @@ -15,8 +15,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: French (http://www.transifex.com/projects/p/mediagoblin/language/fr/)\n" "MIME-Version: 1.0\n" @@ -314,7 +314,7 @@ msgstr "L'URI de redirection pour l'application, ce champ est <strong>requis</st msgid "This field is required for public clients" msgstr "Ce champ est requis pour les clients publics" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "Le client {0} as été enregistré !" @@ -749,14 +749,6 @@ msgstr "Éditer" msgid "Delete" msgstr "Effacer" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -921,12 +913,12 @@ msgid "" msgstr "C'est là où vos médias apparaîssent, mais vous ne semblez pas avoir encore ajouté quoi que ce soit." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Il ne semble pas y avoir de média là , pour l'instant ..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -986,26 +978,26 @@ msgstr "Taggé avec" msgid "Could not read the image file." msgstr "Impossible de lire l'image." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Zut !" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo Binary files differindex 2db7a9a9..d38d8938 100644 --- a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po index c953cc03..8041742b 100644 --- a/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/he/LC_MESSAGES/mediagoblin.po @@ -3,13 +3,14 @@ # This file is distributed under the same license as the PROJECT project. # # Translators: +# <genghiskhan@gmx.ca>, 2012. # Isratine Citizen <genghiskhan@gmx.ca>, 2012. msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -71,7 +72,7 @@ msgstr "כבר ×ימתת ×ת כתובת הדו×״ל שלך!" #: mediagoblin/auth/views.py:227 msgid "Resent your verification email." -msgstr "שליחה מחודשת של ×ימות הדו×״ל שלך." +msgstr "שלח שוב ×ת דו×״ל ×”×ימות שלך." #: mediagoblin/auth/views.py:263 msgid "" @@ -82,11 +83,11 @@ msgstr "דו×״ל × ×©×œ×— בצירוף הור×ות ×‘× ×•×’×¢ לכיצד × ×™ msgid "" "Could not send password recovery email as your username is inactive or your " "account's email address has not been verified." -msgstr "×œ× × ×™×ª×Ÿ ×”×™×” לשלוח דו×״ל לשחזור סיסמה מ×חר ×•×©× ×”×ž×©×ª×ž×© שלך ××™× ×• פעיל ×ו שכתובת הדו×״ל של ×—×©×‘×•× ×š ×œ× ×ומתה." +msgstr "×œ× ×”×™×” × ×™×ª×Ÿ לשלוח דו×״ל לשחזור סיסמה מ×חר ×•×©× ×”×ž×©×ª×ž×© שלך ××™× ×• פעיל ×ו שכתובת הדו×״ל של ×—×©×‘×•× ×š ×œ× ×ומתה." #: mediagoblin/auth/views.py:285 msgid "Couldn't find someone with that username or email." -msgstr "×œ× × ×™×ª×Ÿ ×”×™×” ×œ×ž×¦×•× ×ž×™×©×”×• ×¢× ×©× ×ž×©×ª×ž×© ×ו דו×״ל ×–×”." +msgstr "×œ× ×”×™×” × ×™×ª×Ÿ ×œ×ž×¦×•× ×ž×™×©×”×• ×¢× ×©× ×ž×©×ª×ž×© ×ו דו×״ל ×–×”." #: mediagoblin/auth/views.py:333 msgid "You can now log in using your new password." @@ -136,7 +137,7 @@ msgstr "×זור הכותרת של כתובת מדיה זו. לרוב ×ין ×”× #: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41 #: mediagoblin/templates/mediagoblin/utils/license.html:20 msgid "License" -msgstr "רישיון" +msgstr "רשיון" #: mediagoblin/edit/forms.py:50 msgid "Bio" @@ -192,7 +193,7 @@ msgstr "×תה עורך מדיה של משתמש ×חר. המשך בזהירות #: mediagoblin/edit/views.py:156 #, python-format msgid "You added the attachment %s!" -msgstr "" +msgstr "הוספת ×ת התצריף %s!" #: mediagoblin/edit/views.py:181 msgid "You are editing a user's profile. Proceed with caution." @@ -226,7 +227,7 @@ msgstr "×תה עורך ×וסף של משתמש ×חר. המשך בזהירות #: mediagoblin/gmg_commands/theme.py:58 msgid "Cannot link theme... no theme set\n" -msgstr "" +msgstr "×œ× × ×™×ª×Ÿ לקשר ×ל מוטיב... ×œ× ×”×•×’×“×¨ מוטיב\n" #: mediagoblin/gmg_commands/theme.py:71 msgid "No asset directory for this theme\n" @@ -307,7 +308,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "שדה ×–×” ×”×™× ×• דרוש עבור לקוחות פומביי×" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "הלקוח {0} × ×¨×©×!" @@ -339,11 +340,11 @@ msgstr "לוגו MediaGoblin" #: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" -msgstr "" +msgstr "החשבון של <a href=\"%(user_url)s\">%(user_name)s</a>" #: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" -msgstr "" +msgstr "×”×ª× ×ª×§×•×ª" #: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 @@ -378,19 +379,19 @@ msgstr "משוחרר תחת הרשיון <a href=\"http://www.fsf.org/licensing/ #: mediagoblin/templates/mediagoblin/error.html:24 msgid "Image of goblin stressing out" -msgstr "" +msgstr "×ª×ž×•× ×” של גובלין מת×מץ יתר על המידה" #: mediagoblin/templates/mediagoblin/root.html:25 msgid "Actions" -msgstr "" +msgstr "פעולות" #: mediagoblin/templates/mediagoblin/root.html:31 msgid "Create new collection" -msgstr "" +msgstr "צור ×וסף חדש" #: mediagoblin/templates/mediagoblin/root.html:34 msgid "Change account settings" -msgstr "×©×™× ×•×™ הגדרות חשבון" +msgstr "×©× ×” הגדרות חשבון" #: mediagoblin/templates/mediagoblin/root.html:38 #: mediagoblin/templates/mediagoblin/root.html:44 @@ -440,7 +441,7 @@ msgstr "המדיה ×”××—×¨×•× ×” ביותר" #: mediagoblin/templates/mediagoblin/admin/panel.html:29 msgid "" "Here you can track the state of media being processed on this instance." -msgstr "×›×× ×‘×™×›×•×œ×ª×š לעקוב ×חר המצב של המדיה שמתעבדת בשרת ×–×”." +msgstr "×›×ן ביכולתך לעקוב ×חר המצב של המדיה שמתעבדת בשרת ×–×”." #: mediagoblin/templates/mediagoblin/admin/panel.html:32 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 @@ -460,7 +461,7 @@ msgstr "העל×ות ×לה × ×›×©×œ×• להתעבד:" #: mediagoblin/templates/mediagoblin/admin/panel.html:90 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 msgid "No failed entries!" -msgstr "" +msgstr "×ין רשומות כושלות!" #: mediagoblin/templates/mediagoblin/admin/panel.html:92 msgid "Last 10 successful uploads" @@ -474,20 +475,20 @@ msgstr "×ין ×¨×™×©×•×ž×™× ×ž×¢×•×‘×“×™×, עדיין!" #: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 msgid "Set your new password" -msgstr "הגדרת סיסמתך החדשה" +msgstr "הגדר ×ת סיסמתך החדשה" #: mediagoblin/templates/mediagoblin/auth/change_fp.html:39 msgid "Set password" -msgstr "הגדרת סיסמה" +msgstr "הגדר סיסמה" #: mediagoblin/templates/mediagoblin/auth/forgot_password.html:23 #: mediagoblin/templates/mediagoblin/auth/forgot_password.html:31 msgid "Recover password" -msgstr "שחזור סיסמה" +msgstr "שחזר סיסמה" #: mediagoblin/templates/mediagoblin/auth/forgot_password.html:34 msgid "Send instructions" -msgstr "שליחת הור×ות" +msgstr "שלח הור×ות" #: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19 #, python-format @@ -501,7 +502,7 @@ msgid "" "\n" "If you think this is an error, just ignore this email and continue being\n" "a happy goblin!" -msgstr "×©×œ×•× %(username)s,\n\nבכדי ×œ×©× ×•×ª ×ת סיסמתך ×צל GNU MediaGoblin, × × ×œ×¤×ª×•×— ×ת הכתובת הב××” \nבתוך דפדפן הרשת שלך:\n\n%(verification_url)s\n\nבמידה ו×תה חושב שמדובר בשגי××”, פשוט ×”×ª×¢×œ× ×ž×Ÿ דו×״ל ×–×” והמשך להיות\nגובלין מ×ושר!" +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!" @@ -537,7 +538,7 @@ msgid "" "your web browser:\n" "\n" "%(verification_url)s" -msgstr "×©×œ×•× %(username)s,\n\nבכדי להפעיל ×ת ×—×©×‘×•× ×š ×צל GNU MediaGoblin, × × ×œ×¤×ª×•×— ×ת הכתובת הב××”\nבתוך דפדפן הרשת שלך:\n\n%(verification_url)s" +msgstr "×©×œ×•× %(username)s,\n\nבכדי להפעיל ×ת ×—×©×‘×•× ×š ×צל GNU MediaGoblin, עליך לפתוח ×ת הכתובת הב××”\nבתוך דפדפן הרשת שלך:\n\n%(verification_url)s" #: mediagoblin/templates/mediagoblin/edit/attachments.html:23 #: mediagoblin/templates/mediagoblin/edit/attachments.html:35 @@ -572,13 +573,13 @@ msgstr "ביטול" #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41 msgid "Save changes" -msgstr "שמירת ×©×™× ×•×™×™×" +msgstr "שמור ×©×™× ×•×™×™×" #: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:35 #, python-format msgid "Editing %(media_title)s" -msgstr "עריכת %(media_title)s" +msgstr "ערוך %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40 @@ -610,11 +611,11 @@ msgstr "מדיה מתויגת ×¢×: %(tag_name)s" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52 msgid "Download" -msgstr "הורדה" +msgstr "הורד" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 msgid "Original" -msgstr "מקורי/ת" +msgstr "מקורית" #: mediagoblin/templates/mediagoblin/media_displays/audio.html:44 msgid "" @@ -655,22 +656,22 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" -msgstr "" +msgstr "× ×§×•×“×ª מבט" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 msgid "Front" -msgstr "" +msgstr "×œ×¤× ×™×" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Top" -msgstr "" +msgstr "ר×ש" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" -msgstr "" +msgstr "צד" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 @@ -683,11 +684,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 msgid "File Format" -msgstr "" +msgstr "פורמט קובץ" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 msgid "Object Height" -msgstr "" +msgstr "גובה ×ובייקט" #: mediagoblin/templates/mediagoblin/media_displays/video.html:40 msgid "" @@ -709,13 +710,13 @@ msgstr "קובץ WebM ‫(640p; VP8/Vorbis)" #: mediagoblin/templates/mediagoblin/submit/collection.html:26 msgid "Add a collection" -msgstr "הוספת ×וסף" +msgstr "הוסף ×וסף" #: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82 msgid "Add" -msgstr "הוספה" +msgstr "הוסף" #: mediagoblin/templates/mediagoblin/submit/start.html:23 #: mediagoblin/templates/mediagoblin/submit/start.html:30 @@ -735,20 +736,12 @@ msgstr "%(collection_title)s מ×ת <a href=\"%(user_url)s\">%(username)s</a>" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media.html:87 msgid "Edit" -msgstr "עריכה" +msgstr "ערוך" #: mediagoblin/templates/mediagoblin/user_pages/collection.html:56 #: mediagoblin/templates/mediagoblin/user_pages/media.html:91 msgid "Delete" -msgstr "מחיקה" - -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" +msgstr "מחק" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 @@ -759,7 +752,7 @@ msgstr "ב×מת למחוק ×ת %(title)s?" #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49 msgid "Delete permanently" -msgstr "מחיקה לצמיתות" +msgstr "מחק לצמיתות" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 #, python-format @@ -768,7 +761,7 @@ msgstr "ב×מת להסיר ×ת %(media_title)s מן %(collection_title)s?" #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53 msgid "Remove" -msgstr "הסרה" +msgstr "הסר" #: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 #, python-format @@ -794,7 +787,7 @@ msgstr "■עיון במדיה מ×ת <a href=\"%(user_url)s\">%(username)s</a> #: mediagoblin/templates/mediagoblin/user_pages/media.html:102 msgid "Add a comment" -msgstr "הוספת תגובה" +msgstr "הוסף תגובה" #: mediagoblin/templates/mediagoblin/user_pages/media.html:109 msgid "" @@ -805,7 +798,7 @@ msgstr "ביכולתך לעשות שימוש בתחביר <a href=\"http://darin #: mediagoblin/templates/mediagoblin/user_pages/media.html:113 msgid "Add this comment" -msgstr "הוספת תגובה זו" +msgstr "הוסף ×ת תגובה זו" #: mediagoblin/templates/mediagoblin/user_pages/media.html:132 msgid "at" @@ -820,12 +813,12 @@ msgstr "<h3>הוסף בת×ריך</h3>\n <p>%(date)s</p>" #: mediagoblin/templates/mediagoblin/user_pages/media.html:202 msgid "Add media to collection" -msgstr "" +msgstr "הוסף מדיה ל×וסף" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #, python-format msgid "Add %(title)s to collection" -msgstr "" +msgstr "הוסף ×ת %(title)s ל×וסף" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51 msgid "+" @@ -833,7 +826,7 @@ msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56 msgid "Add a new collection" -msgstr "הוספת ×וסף חדש" +msgstr "הוסף ×וסף חדש" #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 msgid "" @@ -874,7 +867,7 @@ msgstr "במידה וזה ל×:" #: mediagoblin/templates/mediagoblin/user_pages/user.html:65 msgid "Resend verification email" -msgstr "שליחה מחודשת של ×ימות דו×״ל" +msgstr "שלח דו×״ל ×ימות" #: mediagoblin/templates/mediagoblin/user_pages/user.html:73 msgid "" @@ -896,7 +889,7 @@ msgstr "×”× ×” ×ž×§×•× ×œ×•×ž×¨ ל××—×¨×™× ×ודותייך." #: mediagoblin/templates/mediagoblin/user_pages/user.html:101 #: mediagoblin/templates/mediagoblin/user_pages/user.html:118 msgid "Edit profile" -msgstr "עריכת דיוקן" +msgstr "ערוך דיוקן" #: mediagoblin/templates/mediagoblin/user_pages/user.html:106 msgid "This user hasn't filled in their profile (yet)." @@ -905,7 +898,7 @@ msgstr "משתמש ×–×” ×œ× ×ž×™×œ× ×“×™×•×§×Ÿ (עדיין)." #: mediagoblin/templates/mediagoblin/user_pages/user.html:132 #, python-format msgid "View all of %(username)s's media" -msgstr "הצגת כל המדיה של %(username)s" +msgstr "צפיה בכל המדיה של %(username)s" #: mediagoblin/templates/mediagoblin/user_pages/user.html:145 msgid "" @@ -914,14 +907,14 @@ msgid "" msgstr "×›×ן ×–×” ×”×ž×§×•× ×‘×• המדיה שלך תופיע, ××•×œ× ×œ× × ×¨××” שהוספת משהו עדיין." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr "(הסר)" #: mediagoblin/templates/mediagoblin/utils/collections.html:20 #, python-format @@ -977,33 +970,33 @@ msgstr "מתויגת ×¢×" #: mediagoblin/tools/exif.py:78 msgid "Could not read the image file." -msgstr "×œ× × ×™×ª×Ÿ ×”×™×” ×œ×§×¨×•× ×ת קובץ ×”×ª×ž×•× ×”." +msgstr "×œ× ×”×™×” × ×™×ª×Ÿ ×œ×§×¨×•× ×ת קובץ ×”×ª×ž×•× ×”." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "×ופס!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" -msgstr "" +msgstr "×ירעה שגי××”" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" -msgstr "" +msgstr "פעולה ×œ× ×ž×•×¨×©×™×ª" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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 "צר לי דוד, ×× ×™ ×œ× ×™×›×•×œ להתיר לך לעשות ×–×ת!</p><p>× ×™×¡×™×ª לבצע פעולה ש××™× ×š מורשה לעשות. ×”×× × ×™×¡×™×ª למחוק ×ת כל ×”×—×©×‘×•× ×•×ª של ×”×ž×©×ª×ž×©×™× ×©×•×‘?" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "" +msgstr "×œ× × ×¨××” ×©×§×™×™× ×¢×ž×•×“ בכתובת זו. צר לי!</p><p>×× ×תה בטוח שהכתובת ×”×™× ×” מדויקת, ייתכן שהעמוד ש×תה מחפש כעת הועבר ×ו × ×ž×—×§." #: mediagoblin/user_pages/forms.py:28 msgid "I am sure I want to delete this" @@ -1045,16 +1038,16 @@ msgstr "\"%s\" כבר ×§×™×™× ×‘×וסף \"%s\"" #: mediagoblin/user_pages/views.py:253 #, python-format msgid "\"%s\" added to collection \"%s\"" -msgstr "\"%s\" הוסף ×ל ×”×וסף \"%s\"" +msgstr "\"%s\" התווסף ×ל ×”×וסף \"%s\"" #: mediagoblin/user_pages/views.py:261 msgid "Please check your entries and try again." -msgstr "× × ×œ×‘×“×•×§ ×ת רישומייך ×•×œ× ×¡×•×ª שוב." +msgstr "×× × ×‘×“×•×§ ×ת רשומותיך ×•× ×¡×” שוב." #: mediagoblin/user_pages/views.py:292 msgid "" "Some of the files with this entry seem to be missing. Deleting anyway." -msgstr "× ×¨××” שכמה ×§×‘×¦×™× ×¢× ×¨×™×©×•× ×–×” חסרי×. למחוק בכל ×–×ת" +msgstr "× ×¨××” שכמה ×§×‘×¦×™× ×¢× ×¨×™×©×•× ×–×” חסרי×. מוחק בכל ×–×ת" #: mediagoblin/user_pages/views.py:297 msgid "You deleted the media." diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo Binary files differindex 488d8dd2..32ec1bc2 100644 --- a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ia/LC_MESSAGES/mediagoblin.po index bcb0f925..34f97df5 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -308,7 +308,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -743,14 +743,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,12 +907,12 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -980,26 +972,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo Binary files differindex b2157a19..23f9f1bf 100644 --- a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po index 61ab89e6..04a1f7f6 100644 --- a/mediagoblin/i18n/is_IS/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/is_IS/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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -192,7 +192,7 @@ msgstr "Þú ert að breyta efni annars notanda. Farðu mjög varlega." #: mediagoblin/edit/views.py:156 #, python-format msgid "You added the attachment %s!" -msgstr "" +msgstr "Þú bættir við viðhenginu %s!" #: mediagoblin/edit/views.py:181 msgid "You are editing a user's profile. Proceed with caution." @@ -307,7 +307,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:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "Biðlarinn {0} hefur verið skráður!" @@ -339,11 +339,11 @@ msgstr "MediaGoblin einkennismerkið" #: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" -msgstr "" +msgstr "Notandaaðgangur <a href=\"%(user_url)s\">%(user_name)s</a>" #: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" -msgstr "" +msgstr "útskrá" #: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 @@ -378,15 +378,15 @@ msgstr "Gefið út undir <a href=\"http://www.fsf.org/licensing/licenses/agpl-3. #: mediagoblin/templates/mediagoblin/error.html:24 msgid "Image of goblin stressing out" -msgstr "" +msgstr "Mynd af durt à stresskasti" #: mediagoblin/templates/mediagoblin/root.html:25 msgid "Actions" -msgstr "" +msgstr "Aðgerðir" #: mediagoblin/templates/mediagoblin/root.html:31 msgid "Create new collection" -msgstr "" +msgstr "Búa til nýtt albúm" #: mediagoblin/templates/mediagoblin/root.html:34 msgid "Change account settings" @@ -651,43 +651,43 @@ msgstr "Mynd fyrir %(media_title)s" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 msgid "Toggle Rotate" -msgstr "" +msgstr "Stilla snúning af eða á" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" -msgstr "" +msgstr "Sjónhorf" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 msgid "Front" -msgstr "" +msgstr "Framhlið" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Top" -msgstr "" +msgstr "Toppur" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" -msgstr "" +msgstr "Hlið" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 msgid "WebGL" -msgstr "" +msgstr "WebGL" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 msgid "Download model" -msgstr "" +msgstr "Hala niður lÃkani" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 msgid "File Format" -msgstr "" +msgstr "Skráarsnið" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 msgid "Object Height" -msgstr "" +msgstr "Hæð hlutar" #: mediagoblin/templates/mediagoblin/media_displays/video.html:40 msgid "" @@ -742,14 +742,6 @@ msgstr "Breyta" msgid "Delete" msgstr "Eyða" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -820,7 +812,7 @@ msgstr "<h3>Bætt við:</h3>\n <p>%(date)s</p>" #: mediagoblin/templates/mediagoblin/user_pages/media.html:202 msgid "Add media to collection" -msgstr "" +msgstr "Bæta efni við albúmið" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #, python-format @@ -914,14 +906,14 @@ msgid "" msgstr "Þetta er staðurinn þar sem efnið þitt birtist en þú virðist ekki hafa sent neitt inn ennþá." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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 "Það virðist ekki vera neitt efni hérna ennþá..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr "(fjarlægja)" #: mediagoblin/templates/mediagoblin/utils/collections.html:20 #, python-format @@ -979,31 +971,31 @@ msgstr "Merkt með" msgid "Could not read the image file." msgstr "Gat ekki lesið myndskrána." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "ObbosÃ!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" -msgstr "" +msgstr "Villa kom upp" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" -msgstr "" +msgstr "Aðgerð ekki leyfileg" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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 "Fyrirgefðu DavÃð. Ég get ekki leyft þér að gera þetta!</p></p>Þú hefur reynt að framkvæma aðger sem þú hefur ekki leyfi til. Varstu að reyna að eyða öllum notendunum aftur?" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "" +msgstr "Þvà miður! Það virðist ekki vera nein sÃða á þessari vefslóð.</p><p>Ef þú ert viss um að vefslóðin sé rétt hefur vefsÃðan sem þú ert að leita að kannski verið flutt eða fjarlægð." #: mediagoblin/user_pages/forms.py:28 msgid "I am sure I want to delete this" diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo Binary files differindex cd60d011..dad0aec4 100644 --- a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po index 834c4c49..e91926a1 100644 --- a/mediagoblin/i18n/it/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/it/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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -310,7 +310,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -745,14 +745,6 @@ msgstr "Modifica" msgid "Delete" msgstr "Elimina" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -917,12 +909,12 @@ msgid "" msgstr "Qui è dove appariranno i tuoi files multimediali, ma sembra che tu non abbia ancora aggiunto niente." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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 "Sembra che non ci sia ancora nessun file multimediale qui..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -982,26 +974,26 @@ msgstr "Taggato con" msgid "Could not read the image file." msgstr "Impossibile leggere il file immagine." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Oops!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo Binary files differindex 1b45aff2..1ebdba16 100644 --- a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po index f902893a..abbf5b26 100644 --- a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ja/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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -307,7 +307,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -742,14 +742,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,12 +906,12 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -979,26 +971,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo Binary files differindex 5ffc82dd..e7602e15 100644 --- a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ko_KR/LC_MESSAGES/mediagoblin.po index e6b3cf7a..6a35c0e0 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -307,7 +307,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "ì´ í•ëª©ì€ ê³µê°œ 사용ìžë“¤ì„ 위해 ê¼ í•„ìš” 합니다." -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "ì‚¬ìš©ìž {0}ë‹˜ì´ ë“±ë¡ ë˜ì—ˆìŠµë‹ˆë‹¤!" @@ -742,14 +742,6 @@ msgstr "ìˆ˜ì •" msgid "Delete" msgstr "ì‚ì œ" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,12 +906,12 @@ msgid "" msgstr "ì´ê³³ì— 등ë¡í•œ 미디어가 나타나게 ë©ë‹ˆë‹¤. 하지만 ì•„ì§ ì•„ë¬´ëŸ° 미디어를 등ë¡í•˜ì§€ 않으셨네요." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -979,26 +971,26 @@ msgstr "태그 ì •ë³´" msgid "Could not read the image file." msgstr "ì´ë¯¸ì§€ 파ì¼ì„ ì½ì„ 수 없습니다." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "ì›ìФ!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo Binary files differindex fbe19c51..afa8849c 100644 --- a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nl/LC_MESSAGES/mediagoblin.po index 3abb2b0f..ba2907fb 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -308,7 +308,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -743,14 +743,6 @@ msgstr "Pas aan" msgid "Delete" msgstr "Verwijderen" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,12 +907,12 @@ msgid "" msgstr "Dit is waar je nieuwe media zal verschijnen, maar het lijkt erop dat je nog niets heb toegevoegd." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Het lijkt erop dat er nog geen media is." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -980,26 +972,26 @@ msgstr "Getagged met" msgid "Could not read the image file." msgstr "Kon het afbeeldingsbestand niet lezen." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Oeps!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo Binary files differindex 2953d800..206c906c 100644 --- a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po index 24f876fd..2cfe7f61 100644 --- a/mediagoblin/i18n/nn_NO/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/nn_NO/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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" -"Last-Translator: cwebber <cwebber@dustycloud.org>\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 16:04+0000\n" +"Last-Translator: velmont <odin.omdal@gmail.com>\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" @@ -192,7 +192,7 @@ msgstr "TrÃ¥ varsamt, du endrar nokon andre sine verk." #: mediagoblin/edit/views.py:156 #, python-format msgid "You added the attachment %s!" -msgstr "" +msgstr "La til vedlegg %s." #: mediagoblin/edit/views.py:181 msgid "You are editing a user's profile. Proceed with caution." @@ -307,7 +307,7 @@ msgstr "Omdirigerings-URI-en for programmene. Denne feltet <strong>krevst</stron msgid "This field is required for public clients" msgstr "Dette feltet krevst for opne (public) klientar" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "Klienten {0} er registrert." @@ -339,11 +339,11 @@ msgstr "MediaGoblin" #: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" -msgstr "" +msgstr "<a href=\"%(user_url)s\">%(user_name)s</a> sin konto" #: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" -msgstr "" +msgstr "Logg ut" #: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 @@ -378,15 +378,15 @@ msgstr "Lisensiert med <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0. #: mediagoblin/templates/mediagoblin/error.html:24 msgid "Image of goblin stressing out" -msgstr "" +msgstr "Bilete av stressa goblin" #: mediagoblin/templates/mediagoblin/root.html:25 msgid "Actions" -msgstr "" +msgstr "Handlingar" #: mediagoblin/templates/mediagoblin/root.html:31 msgid "Create new collection" -msgstr "" +msgstr "Lag ny samling" #: mediagoblin/templates/mediagoblin/root.html:34 msgid "Change account settings" @@ -651,43 +651,43 @@ msgstr "Bilete for %(media_title)s" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 msgid "Toggle Rotate" -msgstr "" +msgstr "SlÃ¥ av/pÃ¥ rotering" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" -msgstr "" +msgstr "Perspektiv" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 msgid "Front" -msgstr "" +msgstr "Front" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Top" -msgstr "" +msgstr "Topp" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" -msgstr "" +msgstr "Side" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 msgid "WebGL" -msgstr "" +msgstr "WebGL" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 msgid "Download model" -msgstr "" +msgstr "Last ned modell" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 msgid "File Format" -msgstr "" +msgstr "Filformat" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 msgid "Object Height" -msgstr "" +msgstr "Objekthøgd" #: mediagoblin/templates/mediagoblin/media_displays/video.html:40 msgid "" @@ -742,14 +742,6 @@ msgstr "Endra" msgid "Delete" msgstr "Slett" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -820,7 +812,7 @@ msgstr "<h3>Lagt til</h3>\n <p>%(date)s</p>" #: mediagoblin/templates/mediagoblin/user_pages/media.html:202 msgid "Add media to collection" -msgstr "" +msgstr "Legg til verk til samling" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #, python-format @@ -914,14 +906,14 @@ msgid "" msgstr "Her kjem verka dine." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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 "Ser ikkje ut til at det finst nokon verk her nett no." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr "(fjern)" #: mediagoblin/templates/mediagoblin/utils/collections.html:20 #, python-format @@ -979,31 +971,31 @@ msgstr "Merka med" msgid "Could not read the image file." msgstr "Klarte ikkje lesa biletefila." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Oops." -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" -msgstr "" +msgstr "Noko gjekk gale" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" -msgstr "" +msgstr "Ulovleg operasjon" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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 "Orsak Dave, eg kan ikkje la deg gjera det!<HAL2000></p>\n<p>Du prøvde Ã¥ gjera noko du ikkje har løyve til. Prøvar du Ã¥ sletta alle brukarkonti no igjen?" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "" +msgstr "Ser ikkje ut til Ã¥ finnast noko her. Orsak.</p>\n<p>Dersom du er sikker pÃ¥ at adressa finst, so er ho truleg flytta eller sletta." #: mediagoblin/user_pages/forms.py:28 msgid "I am sure I want to delete this" diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo Binary files differindex cbbed538..64a4d00f 100644 --- a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po index 152d2533..b516065d 100644 --- a/mediagoblin/i18n/pl/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pl/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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -307,7 +307,7 @@ msgstr "Przekierowanie URI dla aplikacji, to pole\n jest <strong>wyma msgid "This field is required for public clients" msgstr "To pole jest wymagane dla klientów publicznych" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "Klient {0} zostaÅ‚ zarejestrowany!" @@ -742,14 +742,6 @@ msgstr "Edytuj" msgid "Delete" msgstr "UsuÅ„" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,12 +906,12 @@ msgid "" msgstr "Tu bÄ™dÄ… widoczne twoje media, ale na razie niczego tu jeszcze nie ma." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Tu nie ma jeszcze żadnych mediów..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -979,26 +971,26 @@ msgstr "Znaczniki:" msgid "Could not read the image file." msgstr "Nie udaÅ‚o siÄ™ odczytać pliku grafiki." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Ups!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo Binary files differindex 4a027c1c..2cad018a 100644 --- a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po index d1d098b8..66a28516 100644 --- a/mediagoblin/i18n/pt_BR/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/pt_BR/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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mediagoblin/language/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -308,7 +308,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -743,14 +743,6 @@ msgstr "Editar" msgid "Delete" msgstr "Apagar" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,12 +907,12 @@ msgid "" msgstr "Aqui é onde sua mÃdia vai aparecer, mas parece que você não adicionou nada ainda." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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 "Aparentemente não há nenhuma mÃdia aqui ainda..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -980,26 +972,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Oops" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo Binary files differindex 07bfd9b2..dc64a04b 100644 --- a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ro/LC_MESSAGES/mediagoblin.po index 364a6017..4929de7a 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: 2012-12-03 13:23-0600\n" -"PO-Revision-Date: 2012-12-04 04:03+0000\n" -"Last-Translator: George Pop <gapop@hotmail.com>\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" +"Last-Translator: cwebber <cwebber@dustycloud.org>\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" @@ -212,7 +212,7 @@ msgid "Wrong password" msgstr "Parolă incorectă" #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211 -#: mediagoblin/user_pages/views.py:215 +#: mediagoblin/user_pages/views.py:210 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "Ai deja o colecÈ›ie numită \"%s\"!" @@ -238,7 +238,7 @@ msgid "However, old link directory symlink found; removed.\n" msgstr "A fost însă găsit un symlink către vechiul folder; s-a È™ters.\n" #: mediagoblin/media_types/__init__.py:60 -#: mediagoblin/media_types/__init__.py:120 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Scuze, nu recunosc acest tip de fiÈ™ier :(" @@ -308,7 +308,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:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "Clientul {0} a fost înregistrat!" @@ -333,43 +333,43 @@ msgstr "Ura! Trimis!" msgid "Collection \"%s\" added!" msgstr "ColecÈ›ia \"%s\" a fost creată!" -#: mediagoblin/templates/mediagoblin/base.html:50 +#: mediagoblin/templates/mediagoblin/base.html:48 msgid "MediaGoblin logo" msgstr "logo MediaGoblin" -#: mediagoblin/templates/mediagoblin/base.html:56 +#: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" msgstr "Contul lui <a href=\"%(user_url)s\">%(user_name)s</a>" -#: mediagoblin/templates/mediagoblin/base.html:62 +#: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" msgstr "IeÈ™ire" -#: mediagoblin/templates/mediagoblin/base.html:64 +#: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/user_pages/user.html:151 msgid "Add media" msgstr "Trimite fiÈ™ier" -#: mediagoblin/templates/mediagoblin/base.html:70 +#: mediagoblin/templates/mediagoblin/base.html:68 msgid "Verify your email!" msgstr "Verifică adresa de e-mail!" -#: mediagoblin/templates/mediagoblin/base.html:75 +#: 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:89 +#: mediagoblin/templates/mediagoblin/base.html:87 msgid "" "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "href=\"http://gnu.org/\">GNU</a> project." msgstr "Construit cu <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un proiect <a href=\"http://gnu.org/\">GNU</a>." -#: mediagoblin/templates/mediagoblin/base.html:92 +#: mediagoblin/templates/mediagoblin/base.html:90 #, python-format msgid "" "Released under the <a " @@ -608,6 +608,7 @@ msgstr "FiÈ™ier etichetat cu tag-urile: %(tag_name)s" #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:136 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52 msgid "Download" msgstr "Download" @@ -639,6 +640,56 @@ msgstr "FiÈ™ierul original" msgid "WebM file (Vorbis codec)" msgstr "FiÈ™ier WebM (codec Vorbis)" +#: 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:67 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:73 +#, python-format +msgid "Image for %(media_title)s" +msgstr "Imagine pentru %(media_title)s" + +#: 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 +msgid "Front" +msgstr "Din față" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 +msgid "Top" +msgstr "De sus" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 +msgid "Side" +msgstr "Lateral" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 +msgid "WebGL" +msgstr "WebGL" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 +msgid "Download model" +msgstr "Descarcă modelul" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 +msgid "File Format" +msgstr "Formatul fiÈ™ierului" + +#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 +msgid "Object Height" +msgstr "ÃŽnălÈ›imea obiectului" + #: mediagoblin/templates/mediagoblin/media_displays/video.html:40 msgid "" "Sorry, this video will not work because \n" @@ -692,14 +743,6 @@ msgstr "Editare" msgid "Delete" msgstr "Șterge" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -742,12 +785,6 @@ msgstr "FiÈ™ierele media ale lui <a href=\"%(user_url)s\">%(username)s</a>" msgid "â– Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgstr "<p>â– FiÈ™ierele media ale lui <a href=\"%(user_url)s\">%(username)s</a></p>" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:73 -#, python-format -msgid "Image for %(media_title)s" -msgstr "Imagine pentru %(media_title)s" - #: mediagoblin/templates/mediagoblin/user_pages/media.html:102 msgid "Add a comment" msgstr "Adaugă un comentariu" @@ -870,12 +907,12 @@ msgid "" msgstr "Aici vor apărea fiÈ™ierele tale media, dar se pare că încă nu ai trimis nimic." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Nu pare să existe niciun fiÈ™ier media deocamdată..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "(È™terge)" @@ -935,26 +972,26 @@ msgstr "Etichete" msgid "Could not read the image file." msgstr "FiÈ™ierul cu imaginea nu a putut fi citit." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Hopa!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "S-a produs o eroare" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "OperaÈ›ia nu este permisă" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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!</p><p>Ai încercat să faci o operaÈ›ie nepermisă. Ai încercat iar să È™tergi toate conturile utilizatorilor?" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" @@ -981,74 +1018,74 @@ msgstr "Adaugă o notiță" msgid "commented on your post" msgstr "a făcut un comentariu la postarea ta" -#: mediagoblin/user_pages/views.py:161 +#: mediagoblin/user_pages/views.py:156 msgid "Oops, your comment was empty." msgstr "Hopa, ai uitat să scrii comentariul." -#: mediagoblin/user_pages/views.py:167 +#: mediagoblin/user_pages/views.py:162 msgid "Your comment has been posted!" msgstr "Comentariul tău a fost trimis!" -#: mediagoblin/user_pages/views.py:235 +#: mediagoblin/user_pages/views.py:230 msgid "You have to select or add a collection" msgstr "Trebuie să alegi sau să creezi o colecÈ›ie" -#: mediagoblin/user_pages/views.py:243 +#: mediagoblin/user_pages/views.py:238 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "\"%s\" este deja în colecÈ›ia \"%s\"" -#: mediagoblin/user_pages/views.py:258 +#: mediagoblin/user_pages/views.py:253 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "\"%s\" a fost adăugat la colecÈ›ia \"%s\"" -#: mediagoblin/user_pages/views.py:266 +#: mediagoblin/user_pages/views.py:261 msgid "Please check your entries and try again." msgstr "Verifică datele È™i încearcă din nou." -#: mediagoblin/user_pages/views.py:297 +#: mediagoblin/user_pages/views.py:292 msgid "" "Some of the files with this entry seem to be missing. Deleting anyway." msgstr "Unele fiÈ™iere din acest entry par să lipsească. Ștergem, totuÈ™i." -#: mediagoblin/user_pages/views.py:302 +#: mediagoblin/user_pages/views.py:297 msgid "You deleted the media." msgstr "Ai È™ters acest fiÈ™ier" -#: mediagoblin/user_pages/views.py:309 +#: mediagoblin/user_pages/views.py:304 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:317 +#: mediagoblin/user_pages/views.py:312 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:379 +#: mediagoblin/user_pages/views.py:370 msgid "You deleted the item from the collection." msgstr "Ai È™ters acest articol din colecÈ›ie." -#: mediagoblin/user_pages/views.py:383 +#: mediagoblin/user_pages/views.py:374 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:393 +#: mediagoblin/user_pages/views.py:384 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:426 +#: mediagoblin/user_pages/views.py:417 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Ai È™ters colecÈ›ia \"%s\"" -#: mediagoblin/user_pages/views.py:433 +#: mediagoblin/user_pages/views.py:424 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:443 +#: mediagoblin/user_pages/views.py:434 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 Binary files differindex 90d2cfda..5cb985ec 100644 --- a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po index 81a64c9f..f7ae7d29 100644 --- a/mediagoblin/i18n/ru/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/ru/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: 2012-12-03 13:23-0600\n" -"PO-Revision-Date: 2012-12-05 12:41+0000\n" -"Last-Translator: aleksejrs <deletesoftware@yandex.ru>\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" +"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -211,7 +211,7 @@ msgid "Wrong password" msgstr "Ðеправильный пароль" #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211 -#: mediagoblin/user_pages/views.py:215 +#: mediagoblin/user_pages/views.py:210 #, python-format msgid "You already have a collection called \"%s\"!" msgstr "У Ð²Ð°Ñ ÑƒÐ¶Ðµ еÑть ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸ÐµÐ¼ «%s»!" @@ -237,7 +237,7 @@ msgid "However, old link directory symlink found; removed.\n" msgstr "Однако найдена (и удалена) ÑÑ‚Ð°Ñ€Ð°Ñ ÑимволичеÑÐºÐ°Ñ ÑÑылка на каталог.\n" #: mediagoblin/media_types/__init__.py:60 -#: mediagoblin/media_types/__init__.py:120 +#: mediagoblin/media_types/__init__.py:101 msgid "Sorry, I don't support that file type :(" msgstr "Увы, Ñ Ð½Ðµ поддерживаю Ñтот тип файлов :(" @@ -307,7 +307,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -332,43 +332,43 @@ msgstr "Ура! Файл загружен!" msgid "Collection \"%s\" added!" msgstr "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Â«%s» добавлена!" -#: mediagoblin/templates/mediagoblin/base.html:50 +#: mediagoblin/templates/mediagoblin/base.html:48 msgid "MediaGoblin logo" msgstr "Символ MediaGoblin" -#: mediagoblin/templates/mediagoblin/base.html:56 +#: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" msgstr "Ð£Ñ‡Ñ‘Ñ‚Ð½Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ <a href=\"%(user_url)s\">%(user_name)s</a>" -#: mediagoblin/templates/mediagoblin/base.html:62 +#: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" msgstr "завершение ÑеанÑа" -#: mediagoblin/templates/mediagoblin/base.html:64 +#: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/user_pages/user.html:151 msgid "Add media" msgstr "Добавить файлы" -#: mediagoblin/templates/mediagoblin/base.html:70 +#: mediagoblin/templates/mediagoblin/base.html:68 msgid "Verify your email!" msgstr "Подтвердите ваш Ð°Ð´Ñ€ÐµÑ Ñлектронной почты!" -#: mediagoblin/templates/mediagoblin/base.html:75 +#: 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:89 +#: mediagoblin/templates/mediagoblin/base.html:87 msgid "" "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "href=\"http://gnu.org/\">GNU</a> project." msgstr "Работает на <a href=\"http://mediagoblin.org\">MediaGoblin</a>, проекте <a href=\"http://gnu.org/\">GNU</a>." -#: mediagoblin/templates/mediagoblin/base.html:92 +#: mediagoblin/templates/mediagoblin/base.html:90 #, python-format msgid "" "Released under the <a " @@ -607,6 +607,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/stl.html:136 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52 msgid "Download" msgstr "Скачать" @@ -638,6 +639,56 @@ msgstr "ИÑходный файл" msgid "WebM file (Vorbis codec)" msgstr "WebMâ€Ñ„айл (кодек — Vorbis)" +#: 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:67 +#: mediagoblin/templates/mediagoblin/user_pages/media.html:73 +#, python-format +msgid "Image for %(media_title)s" +msgstr "Изображение «%(media_title)s»" + +#: 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:40 msgid "" "Sorry, this video will not work because \n" @@ -691,14 +742,6 @@ msgstr "Изменить" msgid "Delete" msgstr "Удалить" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -741,12 +784,6 @@ msgstr "Файлы Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ <a href=\"%(user_url)s\">%(username) msgid "â– Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgstr "■ПроÑмотр файлов Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ <a href=\"%(user_url)s\">%(username)s</a>" -#: mediagoblin/templates/mediagoblin/user_pages/media.html:67 -#: mediagoblin/templates/mediagoblin/user_pages/media.html:73 -#, python-format -msgid "Image for %(media_title)s" -msgstr "Изображение «%(media_title)s»" - #: mediagoblin/templates/mediagoblin/user_pages/media.html:102 msgid "Add a comment" msgstr "Добавить комментарий" @@ -869,12 +906,12 @@ msgid "" msgstr "Ваши файлы поÑвÑÑ‚ÑÑ Ð·Ð´ÐµÑÑŒ, когда вы их добавите." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "(иÑключить)" @@ -934,26 +971,26 @@ msgstr "Метки" msgid "Could not read the image file." msgstr "Ðе удалоÑÑŒ прочитать файл Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÐ¼." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Ой!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "Произошла ошибка" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð½Ðµ позволÑетÑÑ" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" @@ -980,74 +1017,74 @@ msgstr "Примечание" msgid "commented on your post" msgstr "оÑтавил комментарий к вашему файлу" -#: mediagoblin/user_pages/views.py:161 +#: mediagoblin/user_pages/views.py:156 msgid "Oops, your comment was empty." msgstr "Ой, ваш комментарий был пуÑÑ‚." -#: mediagoblin/user_pages/views.py:167 +#: mediagoblin/user_pages/views.py:162 msgid "Your comment has been posted!" msgstr "Ваш комментарий размещён!" -#: mediagoblin/user_pages/views.py:235 +#: mediagoblin/user_pages/views.py:230 msgid "You have to select or add a collection" msgstr "Ðеобходимо выбрать или добавить коллекцию" -#: mediagoblin/user_pages/views.py:243 +#: mediagoblin/user_pages/views.py:238 #, python-format msgid "\"%s\" already in collection \"%s\"" msgstr "«%s» — уже в коллекции «%s»" -#: mediagoblin/user_pages/views.py:258 +#: mediagoblin/user_pages/views.py:253 #, python-format msgid "\"%s\" added to collection \"%s\"" msgstr "«%s» добавлено в коллекцию «%s»" -#: mediagoblin/user_pages/views.py:266 +#: mediagoblin/user_pages/views.py:261 msgid "Please check your entries and try again." msgstr "" -#: mediagoblin/user_pages/views.py:297 +#: mediagoblin/user_pages/views.py:292 msgid "" "Some of the files with this entry seem to be missing. Deleting anyway." msgstr "Ðекоторые файлы от Ñтой запиÑи не обнаружены. Ð’ÑÑ‘ равно удалÑем." -#: mediagoblin/user_pages/views.py:302 +#: mediagoblin/user_pages/views.py:297 msgid "You deleted the media." msgstr "Ð’Ñ‹ удалили файл." -#: mediagoblin/user_pages/views.py:309 +#: mediagoblin/user_pages/views.py:304 msgid "The media was not deleted because you didn't check that you were sure." msgstr "Файл не удалён, так как вы не подтвердили Ñвою уверенноÑть галочкой." -#: mediagoblin/user_pages/views.py:317 +#: mediagoblin/user_pages/views.py:312 msgid "You are about to delete another user's media. Proceed with caution." msgstr "Ð’Ñ‹ на пороге ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° другого пользователÑ. Будьте оÑторожны." -#: mediagoblin/user_pages/views.py:379 +#: mediagoblin/user_pages/views.py:370 msgid "You deleted the item from the collection." msgstr "Ð’Ñ‹ иÑключили файл из коллекции." -#: mediagoblin/user_pages/views.py:383 +#: 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:393 +#: mediagoblin/user_pages/views.py:384 msgid "" "You are about to delete an item from another user's collection. Proceed with" " caution." msgstr "Ð’Ñ‹ на пороге иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° из коллекции другого пользователÑ. Будьте оÑторожны." -#: mediagoblin/user_pages/views.py:426 +#: mediagoblin/user_pages/views.py:417 #, python-format msgid "You deleted the collection \"%s\"" msgstr "Ð’Ñ‹ удалили коллекцию «%s»" -#: mediagoblin/user_pages/views.py:433 +#: mediagoblin/user_pages/views.py:424 msgid "" "The collection was not deleted because you didn't check that you were sure." msgstr "ÐšÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð½Ðµ удалена, так как вы не подтвердили Ñвоё намерение отметкой." -#: mediagoblin/user_pages/views.py:443 +#: mediagoblin/user_pages/views.py:434 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 Binary files differindex 99394357..d84b09c4 100644 --- a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po index e412694f..b866501e 100644 --- a/mediagoblin/i18n/sk/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sk/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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -196,7 +196,7 @@ msgstr "Du er ved at ændre en anden brugers' medier. Pas pÃ¥." #: mediagoblin/edit/views.py:156 #, python-format msgid "You added the attachment %s!" -msgstr "" +msgstr "PrÃloha %s pridaná!" #: mediagoblin/edit/views.py:181 msgid "You are editing a user's profile. Proceed with caution." @@ -311,7 +311,7 @@ msgstr "Presmerovacie URI pre aplikácie, toto pole\nj <strong>požadované</str msgid "This field is required for public clients" msgstr "Dette felt er nødvendigt for offentlige klienter" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "Klienten {0} er blevet registreret!" @@ -343,11 +343,11 @@ msgstr "MediaGoblin logo" #: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" -msgstr "" +msgstr "ÚÄet použÃvateľa <a href=\"%(user_url)s\">%(user_name)s</a>" #: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" -msgstr "" +msgstr "odhlásiÅ¥ sa" #: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 @@ -382,15 +382,15 @@ msgstr "Vydané pod <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.htm #: mediagoblin/templates/mediagoblin/error.html:24 msgid "Image of goblin stressing out" -msgstr "" +msgstr "Obrázok hysterického goblina" #: mediagoblin/templates/mediagoblin/root.html:25 msgid "Actions" -msgstr "" +msgstr "Úkony" #: mediagoblin/templates/mediagoblin/root.html:31 msgid "Create new collection" -msgstr "" +msgstr "VytvoriÅ¥ novú zbierku" #: mediagoblin/templates/mediagoblin/root.html:34 msgid "Change account settings" @@ -655,43 +655,43 @@ msgstr "Obrázok pre %(media_title)s" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 msgid "Toggle Rotate" -msgstr "" +msgstr "Zapnúť rotáciu" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" -msgstr "" +msgstr "PerspektÃva" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 msgid "Front" -msgstr "" +msgstr "ÄŒelo" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Top" -msgstr "" +msgstr "Vrch" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" -msgstr "" +msgstr "Strana" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 msgid "WebGL" -msgstr "" +msgstr "WebGL" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 msgid "Download model" -msgstr "" +msgstr "StiahnuÅ¥ model" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 msgid "File Format" -msgstr "" +msgstr "Súborový formát" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 msgid "Object Height" -msgstr "" +msgstr "Výška objektu" #: mediagoblin/templates/mediagoblin/media_displays/video.html:40 msgid "" @@ -746,14 +746,6 @@ msgstr "UpraviÅ¥" msgid "Delete" msgstr "OdstrániÅ¥" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n%(collection_description)s </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -824,7 +816,7 @@ msgstr "<h3>Pridané</h3>\n <p>%(date)s</p>" #: mediagoblin/templates/mediagoblin/user_pages/media.html:202 msgid "Add media to collection" -msgstr "" +msgstr "PridaÅ¥ výtvory do zbierky" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #, python-format @@ -918,14 +910,14 @@ msgid "" msgstr "VÅ¡etky tvoje výtvory sa objavia práve tu, ale zatiaľ nemáš niÄ pridané." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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 "Najskôr sa tu eÅ¡te nenachádzajú žiadne výtvory..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr "(odstrániÅ¥)" #: mediagoblin/templates/mediagoblin/utils/collections.html:20 #, python-format @@ -983,31 +975,31 @@ msgstr "OznaÄené ako" msgid "Could not read the image file." msgstr "Nebolo možné preÄÃtaÅ¥ obrazový súbor." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Hovsa!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" -msgstr "" +msgstr "Výskyt chyby" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" -msgstr "" +msgstr "Nepovolená operácia" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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 "PrepÃ¡Ä Hocikto, toto nesmieÅ¡!</p><p>Práve si chcel vykonaÅ¥ funkciu, na ktorú nemáš oprávnenie. Opäť si chcel skúsiÅ¥ odstrániÅ¥ vÅ¡etky použÃvateľské úÄty?" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "" +msgstr "Zdá sa, že na tejto adrese sa niÄ nenachádza. PrepáÄ!</p><p>Pokiaľ si si istý, že adresa je správna, možno sa hľadaná stránka presunula inam, prÃpadne zmazala." #: mediagoblin/user_pages/forms.py:28 msgid "I am sure I want to delete this" diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo Binary files differindex 0711332d..1599b039 100644 --- a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sl/LC_MESSAGES/mediagoblin.po index e1d0a754..aa482e0c 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -307,7 +307,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -742,14 +742,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,12 +906,12 @@ msgid "" msgstr "Tu bo prikazana vaÅ¡a vsebina, a trenutno Å¡e niste dodali niÄ." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Videti je, da tu Å¡e ni nobene vsebine ..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -979,26 +971,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Opa!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo Binary files differindex 0cca32cf..64880aed 100644 --- a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sq/LC_MESSAGES/mediagoblin.po index 56fd4849..2911f34e 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/mediagoblin/language/sq/)\n" "MIME-Version: 1.0\n" @@ -193,7 +193,7 @@ msgstr "Po përpunoni media të një tjetër përdoruesi. Hapni sytë." #: mediagoblin/edit/views.py:156 #, python-format msgid "You added the attachment %s!" -msgstr "" +msgstr "Shtuat bashkangjitjen %s!" #: mediagoblin/edit/views.py:181 msgid "You are editing a user's profile. Proceed with caution." @@ -308,7 +308,7 @@ msgstr "URI ridrejtimi për zbatimin, kjo fushë\n është <strong>e msgid "This field is required for public clients" msgstr "Kjo fushë është e domosdoshme për klientë publikë" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "Klienti {0} u regjistrua!" @@ -340,11 +340,11 @@ msgstr "Logoja e MediaGoblin-it" #: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" -msgstr "" +msgstr "Llogaria e <a href=\"%(user_url)s\">%(user_name)s</a>" #: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" -msgstr "" +msgstr "dilni" #: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 @@ -383,11 +383,11 @@ msgstr "" #: mediagoblin/templates/mediagoblin/root.html:25 msgid "Actions" -msgstr "" +msgstr "Veprime" #: mediagoblin/templates/mediagoblin/root.html:31 msgid "Create new collection" -msgstr "" +msgstr "Krijoni koleksion të ri" #: mediagoblin/templates/mediagoblin/root.html:34 msgid "Change account settings" @@ -656,39 +656,39 @@ msgstr "" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" -msgstr "" +msgstr "Perspektivë" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 msgid "Front" -msgstr "" +msgstr "Ball" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Top" -msgstr "" +msgstr "Krye" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" -msgstr "" +msgstr "Anë" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 msgid "WebGL" -msgstr "" +msgstr "WebGL" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 msgid "Download model" -msgstr "" +msgstr "Shkarkojeni modelin" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 msgid "File Format" -msgstr "" +msgstr "Format Kartele" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 msgid "Object Height" -msgstr "" +msgstr "Lartësi Objekti" #: mediagoblin/templates/mediagoblin/media_displays/video.html:40 msgid "" @@ -743,14 +743,6 @@ msgstr "Përpunoni" msgid "Delete" msgstr "Fshije" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -821,7 +813,7 @@ msgstr "<h3>Shtuar më</h3>\n <p>%(date)s</p>" #: mediagoblin/templates/mediagoblin/user_pages/media.html:202 msgid "Add media to collection" -msgstr "" +msgstr "Shtoni koleksion media" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #, python-format @@ -915,14 +907,14 @@ msgid "" msgstr "Media juaj do të shfaqet këtu, por nuk duket të keni shtuar gjë ende." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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 "Nuk duket ende të ketë ndonjë media këtu..." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr "(hiqe)" #: mediagoblin/templates/mediagoblin/utils/collections.html:20 #, python-format @@ -980,31 +972,31 @@ msgstr "Etiketuar me" msgid "Could not read the image file." msgstr "Nuk lexoi dot kartelën e figurës." -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Oooh!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" -msgstr "" +msgstr "Ndodhi një gabim" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" -msgstr "" +msgstr "Veprim i palejuar" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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 "Më ndjeni or trim, nuk ju lë dot ta bëni këtë!</p><p>Provuat të kryeni një funksion që nuk lejohet. Keni provuar prapë të fshini krejt llogaritë e përdoruesve?" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "" +msgstr "Nuk duket se ka ndonjë faqe në këtë adresë. Na ndjeni!</p><p>Nëse jeni i sigurt se kjo adresë është e saktë, ndoshta faqja që po kërkoni është lëvizur ose fshirë." #: mediagoblin/user_pages/forms.py:28 msgid "I am sure I want to delete this" diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo Binary files differindex 8084b3f4..dd67d341 100644 --- a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sr/LC_MESSAGES/mediagoblin.po index 840e9e3f..32e7d3d9 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/mediagoblin/language/sr/)\n" "MIME-Version: 1.0\n" @@ -306,7 +306,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -741,14 +741,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -913,12 +905,12 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -978,26 +970,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo Binary files differindex 435c406b..e4586d50 100644 --- a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po index 939dce36..d288feac 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/mediagoblin/language/sv/)\n" "MIME-Version: 1.0\n" @@ -308,7 +308,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -743,14 +743,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -915,12 +907,12 @@ msgid "" msgstr "Här kommer din media att dyka upp, du verkar inte ha lagt till nÃ¥gonting ännu." #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84 #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70 msgid "There doesn't seem to be any media here yet..." msgstr "Det verkar inte finnas nÃ¥gon media här ännu." -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -980,26 +972,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "Ojoj!" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo Binary files differindex 43de15d1..5009e371 100644 --- a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po index 115728a9..44a7bf44 100644 --- a/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/te/LC_MESSAGES/mediagoblin.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -307,7 +307,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -742,14 +742,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -914,12 +906,12 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -979,26 +971,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo Binary files differindex 854f7b51..7b1c154c 100644 --- a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW.Big5/LC_MESSAGES/mediagoblin.po index 41d97d9c..5a47ef7c 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: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: Chinese (Taiwan) (Big5) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW.Big5/)\n" "MIME-Version: 1.0\n" @@ -306,7 +306,7 @@ msgstr "" msgid "This field is required for public clients" msgstr "" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "" @@ -741,14 +741,6 @@ msgstr "" msgid "Delete" msgstr "" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -913,12 +905,12 @@ msgid "" msgstr "" #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" msgstr "" @@ -978,26 +970,26 @@ msgstr "" msgid "Could not read the image file." msgstr "" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" msgstr "" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" msgstr "" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo Binary files differindex 846b8f70..13346b7c 100644 --- a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po index 0dd3f1be..4a722732 100644 --- a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po @@ -5,12 +5,13 @@ # Translators: # <chc@citi.sinica.edu.tw>, 2011. # Harry Chen <harryhow@gmail.com>, 2011-2012. +# <medicalwei@gmail.com>, 2012. msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" -"POT-Creation-Date: 2012-12-07 12:45-0600\n" -"PO-Revision-Date: 2012-12-07 18:41+0000\n" +"POT-Creation-Date: 2012-12-20 09:18-0600\n" +"PO-Revision-Date: 2012-12-20 15:14+0000\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" @@ -193,7 +194,7 @@ msgstr "您æ£åœ¨ä¿®æ”¹åˆ¥äººçš„媒體,請å°å¿ƒæ“作。" #: mediagoblin/edit/views.py:156 #, python-format msgid "You added the attachment %s!" -msgstr "" +msgstr "æ‚¨åŠ ä¸Šäº†é™„ä»¶ã€Œ%sã€ï¼" #: mediagoblin/edit/views.py:181 msgid "You are editing a user's profile. Proceed with caution." @@ -308,7 +309,7 @@ msgstr "æ¤æ‡‰ç”¨ç¨‹å¼çš„é‡å®šå‘ URI,本欄ä½åœ¨å…¬é–‹é¡žåž‹çš„ OAuth clie msgid "This field is required for public clients" msgstr "本欄ä½åœ¨å…¬é–‹é¡žåž‹çš„ OAuth client 為必填" -#: mediagoblin/plugins/oauth/views.py:59 +#: mediagoblin/plugins/oauth/views.py:60 msgid "The client {0} has been registered!" msgstr "OAuth client {0} 註冊完æˆï¼" @@ -340,11 +341,11 @@ msgstr "MediaGoblin 標誌" #: mediagoblin/templates/mediagoblin/base.html:54 #, python-format msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account" -msgstr "" +msgstr "<a href=\"%(user_url)s\">%(user_name)s</a> 的帳號" #: mediagoblin/templates/mediagoblin/base.html:60 msgid "log out" -msgstr "" +msgstr "登出" #: mediagoblin/templates/mediagoblin/base.html:62 #: mediagoblin/templates/mediagoblin/root.html:28 @@ -379,15 +380,15 @@ msgstr "以 <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL #: mediagoblin/templates/mediagoblin/error.html:24 msgid "Image of goblin stressing out" -msgstr "" +msgstr "滿臉å•號的哥布林" #: mediagoblin/templates/mediagoblin/root.html:25 msgid "Actions" -msgstr "" +msgstr "動作" #: mediagoblin/templates/mediagoblin/root.html:31 msgid "Create new collection" -msgstr "" +msgstr "新增新的è’è—" #: mediagoblin/templates/mediagoblin/root.html:34 msgid "Change account settings" @@ -432,7 +433,7 @@ msgid "" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" " or\n" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" -msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">在這個網站上建立帳號</a>\n 或是\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">在自己的伺æœå™¨ä¸Šå»ºç«‹ MedaiGoblin</a>" +msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">在這個網站上建立帳號</a>\n 或是\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">在自己的伺æœå™¨ä¸Šå»ºç«‹ MediaGoblin</a>" #: mediagoblin/templates/mediagoblin/root.html:67 msgid "Most recent media" @@ -652,43 +653,43 @@ msgstr " %(media_title)s 的照片" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:112 msgid "Toggle Rotate" -msgstr "" +msgstr "åˆ‡æ›æ—‹è½‰" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:113 msgid "Perspective" -msgstr "" +msgstr "視角" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:116 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:117 msgid "Front" -msgstr "" +msgstr "æ£é¢" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:120 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:121 msgid "Top" -msgstr "" +msgstr "é ‚é¢" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:124 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:125 msgid "Side" -msgstr "" +msgstr "å´é¢" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:130 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:131 msgid "WebGL" -msgstr "" +msgstr "WebGL" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:138 msgid "Download model" -msgstr "" +msgstr "下載模型" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:146 msgid "File Format" -msgstr "" +msgstr "æª”æ¡ˆæ ¼å¼" #: mediagoblin/templates/mediagoblin/media_displays/stl.html:148 msgid "Object Height" -msgstr "" +msgstr "物件高度" #: mediagoblin/templates/mediagoblin/media_displays/video.html:40 msgid "" @@ -743,14 +744,6 @@ msgstr "編輯" msgid "Delete" msgstr "刪除" -#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59 -#, python-format -msgid "" -"<p>\n" -" %(collection_description)s\n" -" </p>" -msgstr "<p>\n %(collection_description)s\n </p>" - #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #, python-format @@ -821,7 +814,7 @@ msgstr "<h3>åŠ å…¥æ—¥æœŸ</h3>\n <p>%(date)s</p>" #: mediagoblin/templates/mediagoblin/user_pages/media.html:202 msgid "Add media to collection" -msgstr "" +msgstr "å°‡åª’é«”åŠ å…¥è’è—" #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #, python-format @@ -915,14 +908,14 @@ msgid "" msgstr "æ¤è™•是您的媒體會出ç¾çš„åœ°æ–¹ï¼Œä½†æ˜¯ä¼¼ä¹Žé‚„æ²’æœ‰åŠ å…¥ä»»ä½•æ±è¥¿ã€‚" #: mediagoblin/templates/mediagoblin/user_pages/user.html:157 -#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:86 +#: 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:51 +#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49 msgid "(remove)" -msgstr "" +msgstr " (移除)" #: mediagoblin/templates/mediagoblin/utils/collections.html:20 #, python-format @@ -980,31 +973,31 @@ msgstr "標籤" msgid "Could not read the image file." msgstr "無法讀å–圖片檔案。" -#: mediagoblin/tools/response.py:29 +#: mediagoblin/tools/response.py:30 msgid "Oops!" msgstr "糟糕ï¼" -#: mediagoblin/tools/response.py:30 +#: mediagoblin/tools/response.py:31 msgid "An error occured" -msgstr "" +msgstr "發生錯誤" -#: mediagoblin/tools/response.py:44 +#: mediagoblin/tools/response.py:46 msgid "Operation not allowed" -msgstr "" +msgstr "æ“作ä¸å…許" -#: mediagoblin/tools/response.py:45 +#: mediagoblin/tools/response.py:47 msgid "" "Sorry Dave, I can't let you do that!</p><p>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 "Dave å°ä¸èµ·ï¼Œæˆ‘ä¸èƒ½è®“ä½ é€™æ¨£åšï¼</p><p>您æ£åœ¨è©¦è‘—æ“作ä¸å…許您使用的功能。您打算刪除所有使用者的帳號嗎?" -#: mediagoblin/tools/response.py:52 +#: mediagoblin/tools/response.py:55 msgid "" "There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure" " the address is correct, maybe the page you're looking for has been moved or" " deleted." -msgstr "" +msgstr "ä¸å¥½æ„æ€ï¼Œçœ‹èµ·ä¾†é€™å€‹ç¶²å€ä¸Šæ²’有網é 。</p><p>å¦‚æžœæ‚¨ç¢ºå®šé€™å€‹ç¶²å€æ˜¯æ£ç¢ºçš„,您在尋找的é é¢å¯èƒ½å·²ç¶“移動或是被刪除了。" #: mediagoblin/user_pages/forms.py:28 msgid "I am sure I want to delete this" diff --git a/mediagoblin/meddleware/csrf.py b/mediagoblin/meddleware/csrf.py index 1488e6d9..65db9827 100644 --- a/mediagoblin/meddleware/csrf.py +++ b/mediagoblin/meddleware/csrf.py @@ -17,7 +17,7 @@ import random import logging -from webob.exc import HTTPForbidden +from werkzeug.exceptions import Forbidden from wtforms import Form, HiddenField, validators from mediagoblin import mg_globals @@ -128,8 +128,9 @@ class CsrfMeddleware(BaseMeddleware): if cookie_token is None: # the CSRF cookie must be present in the request - _log.error('CSRF cookie not present') - return HTTPForbidden() + errstr = 'CSRF cookie not present' + _log.error(errstr) + return Forbidden(errstr) # get the form token and confirm it matches form = CsrfForm(request.form) @@ -142,5 +143,6 @@ class CsrfMeddleware(BaseMeddleware): # either the tokens didn't match or the form token wasn't # present; either way, the request is denied - _log.error('CSRF validation failed') - return HTTPForbidden() + errstr = 'CSRF validation failed' + _log.error(errstr) + return Forbidden(errstr) diff --git a/mediagoblin/plugins/api/tools.py b/mediagoblin/plugins/api/tools.py index ecc50364..0ef91127 100644 --- a/mediagoblin/plugins/api/tools.py +++ b/mediagoblin/plugins/api/tools.py @@ -18,9 +18,9 @@ import logging import json from functools import wraps -from webob import exc, Response from urlparse import urljoin - +from werkzeug.exceptions import Forbidden +from werkzeug.wrappers import Response from mediagoblin import mg_globals from mediagoblin.tools.pluginapi import PluginManager from mediagoblin.storage.filestorage import BasicFileStorage @@ -54,23 +54,22 @@ class Auth(object): def json_response(serializable, _disable_cors=False, *args, **kw): ''' - Serializes a json objects and returns a webob.Response object with the + Serializes a json objects and returns a werkzeug Response object with the serialized value as the response body and Content-Type: application/json. :param serializable: A json-serializable object Any extra arguments and keyword arguments are passed to the - webob.Response.__init__ method. + Response.__init__ method. ''' - response = Response(json.dumps(serializable), *args, **kw) - response.headers['Content-Type'] = 'application/json' + response = Response(json.dumps(serializable), *args, content_type='application/json', **kw) if not _disable_cors: cors_headers = { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'POST, GET, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type, X-Requested-With'} - response.headers.update(cors_headers) + (response.headers.set(key, value) for key, value in cors_headers) return response @@ -143,7 +142,7 @@ def api_auth(controller): # If we can't find any authentication methods, we should not let them # pass. if not auth_candidates: - return exc.HTTPForbidden() + return Forbidden() # For now, just select the first one in the list auth = auth_candidates[0] @@ -157,7 +156,7 @@ def api_auth(controller): 'status': 403, 'errors': auth.errors}) - return exc.HTTPForbidden() + return Forbidden() return controller(request, *args, **kw) diff --git a/mediagoblin/plugins/api/views.py b/mediagoblin/plugins/api/views.py index a1b1bcac..8e02d7bd 100644 --- a/mediagoblin/plugins/api/views.py +++ b/mediagoblin/plugins/api/views.py @@ -19,9 +19,10 @@ import logging import uuid from os.path import splitext -from webob import exc, Response -from werkzeug.utils import secure_filename from werkzeug.datastructures import FileStorage +from werkzeug.exceptions import BadRequest, Forbidden +from werkzeug.utils import secure_filename +from werkzeug.wrappers import Response from celery import registry from mediagoblin.db.util import ObjectId @@ -47,13 +48,13 @@ def post_entry(request): if request.method != 'POST': _log.debug('Must POST against post_entry') - return exc.HTTPBadRequest() + return BadRequest() if not 'file' in request.files \ or not isinstance(request.files['file'], FileStorage) \ or not request.files['file'].stream: _log.debug('File field not found') - return exc.HTTPBadRequest() + return BadRequest() media_file = request.files['file'] @@ -108,7 +109,7 @@ def post_entry(request): process_media = registry.tasks[ProcessMedia.name] try: process_media.apply_async( - [unicode(entry._id)], {}, + [unicode(entry.id)], {}, task_id=task_id) except BaseException as e: # The purpose of this section is because when running in "lazy" @@ -119,7 +120,7 @@ def post_entry(request): # # ... not completely the diaper pattern because the # exception is re-raised :) - mark_entry_failed(entry._id, e) + mark_entry_failed(entry.id, e) # re-raise the exception raise @@ -129,12 +130,14 @@ def post_entry(request): @api_auth def api_test(request): if not request.user: - return exc.HTTPForbidden() + return Forbidden() user_data = { 'username': request.user.username, 'email': request.user.email} + # TODO: This is the *only* thing using Response() here, should that + # not simply use json_response()? return Response(json.dumps(user_data)) diff --git a/mediagoblin/plugins/oauth/views.py b/mediagoblin/plugins/oauth/views.py index 643c2783..c7b2a332 100644 --- a/mediagoblin/plugins/oauth/views.py +++ b/mediagoblin/plugins/oauth/views.py @@ -18,7 +18,6 @@ import logging import json -from webob import exc, Response from urllib import urlencode from uuid import uuid4 from datetime import datetime @@ -95,7 +94,7 @@ def authorize_client(request): if not client: _log.error('''No such client id as received from client authorization form.''') - return exc.HTTPBadRequest() + return BadRequest() if form.validate(): relation = OAuthUserClient() @@ -106,11 +105,11 @@ def authorize_client(request): elif form.deny.data: relation.state = u'rejected' else: - return exc.HTTPBadRequest + return BadRequest relation.save() - return exc.HTTPFound(location=form.next.data) + return redirect(request, location=form.next.data) return render_to_response( request, @@ -163,7 +162,7 @@ def authorize(request, client): _log.debug('Redirecting to {0}'.format(redirect_uri)) - return exc.HTTPFound(location=redirect_uri) + return redirect(request, location=redirect_uri) else: # Show prompt to allow client to access data # - on accept: send the user agent back to the redirect_uri with the diff --git a/mediagoblin/processing/__init__.py b/mediagoblin/processing/__init__.py index 6b2d50e2..e2bc1a13 100644 --- a/mediagoblin/processing/__init__.py +++ b/mediagoblin/processing/__init__.py @@ -38,7 +38,7 @@ class ProgressCallback(object): def create_pub_filepath(entry, filename): return mgg.public_store.get_unique_filepath( ['media_entries', - unicode(entry._id), + unicode(entry.id), filename]) @@ -93,7 +93,7 @@ def mark_entry_failed(entry_id, exc): # Looks like yes, so record information about that failure and any # metadata the user might have supplied. atomic_update(mgg.database.MediaEntry, - {'_id': entry_id}, + {'id': entry_id}, {u'state': u'failed', u'fail_error': unicode(exc.exception_path), u'fail_metadata': exc.metadata}) @@ -104,7 +104,7 @@ def mark_entry_failed(entry_id, exc): # metadata (in fact overwrite it if somehow it had previous info # here) atomic_update(mgg.database.MediaEntry, - {'_id': entry_id}, + {'id': entry_id}, {u'state': u'failed', u'fail_error': None, u'fail_metadata': {}}) diff --git a/mediagoblin/processing/task.py b/mediagoblin/processing/task.py index a8bc0f2f..06a26bb7 100644 --- a/mediagoblin/processing/task.py +++ b/mediagoblin/processing/task.py @@ -42,7 +42,7 @@ class ProcessMedia(Task): (for now just process_image...) """ entry = mgg.database.MediaEntry.one( - {'_id': ObjectId(media_id)}) + {'id': ObjectId(media_id)}) # Try to process, and handle expected errors. try: @@ -61,7 +61,7 @@ class ProcessMedia(Task): json_processing_callback(entry) except BaseProcessingFail as exc: - mark_entry_failed(entry._id, exc) + mark_entry_failed(entry.id, exc) json_processing_callback(entry) return @@ -72,7 +72,7 @@ class ProcessMedia(Task): entry.title, exc)) - mark_entry_failed(entry._id, exc) + mark_entry_failed(entry.id, exc) json_processing_callback(entry) except Exception as exc: @@ -80,7 +80,7 @@ class ProcessMedia(Task): + ' processing {0}'.format( entry)) - mark_entry_failed(entry._id, exc) + mark_entry_failed(entry.id, exc) json_processing_callback(entry) raise diff --git a/mediagoblin/submit/views.py b/mediagoblin/submit/views.py index 02026f45..3628fa0d 100644 --- a/mediagoblin/submit/views.py +++ b/mediagoblin/submit/views.py @@ -76,7 +76,7 @@ def submit_start(request): entry.license = unicode(request.form.get('license', "")) or None - entry.uploader = request.user._id + entry.uploader = request.user.id # Process the user's folksonomy "tags" entry.tags = convert_to_tag_list_of_dicts( @@ -121,7 +121,7 @@ def submit_start(request): process_media = registry.tasks[ProcessMedia.name] try: process_media.apply_async( - [unicode(entry._id)], {}, + [unicode(entry.id)], {}, task_id=task_id) except BaseException as exc: # The purpose of this section is because when running in "lazy" @@ -132,7 +132,7 @@ def submit_start(request): # # ... not completely the diaper pattern because the # exception is re-raised :) - mark_entry_failed(entry._id, exc) + mark_entry_failed(entry.id, exc) # re-raise the exception raise @@ -198,12 +198,12 @@ def add_collection(request, media=None): collection.title = unicode(request.form['title']) collection.description = unicode(request.form.get('description')) - collection.creator = request.user._id + collection.creator = request.user.id collection.generate_slug() # Make sure this user isn't duplicating an existing collection existing_collection = request.db.Collection.find_one({ - 'creator': request.user._id, + 'creator': request.user.id, 'title':collection.title}) if existing_collection: diff --git a/mediagoblin/templates/mediagoblin/admin/panel.html b/mediagoblin/templates/mediagoblin/admin/panel.html index d3c6c958..6bcb5c24 100644 --- a/mediagoblin/templates/mediagoblin/admin/panel.html +++ b/mediagoblin/templates/mediagoblin/admin/panel.html @@ -42,7 +42,7 @@ </tr> {% for media_entry in processing_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.get_uploader.username }}</td> <td>{{ media_entry.title }}</td> <td>{{ media_entry.created.strftime("%F %R") }}</td> @@ -72,7 +72,7 @@ </tr> {% for media_entry in failed_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.get_uploader.username }}</td> <td>{{ media_entry.title }}</td> <td>{{ media_entry.created.strftime("%F %R") }}</td> @@ -101,7 +101,7 @@ </tr> {% for media_entry in processed_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.get_uploader.username }}</td> <td><a href="{{ media_entry.url_for_self(request.urlgen) }}">{{ media_entry.title }}</a></td> <td>{{ media_entry.created.strftime("%F %R") }}</td> diff --git a/mediagoblin/templates/mediagoblin/edit/attachments.html b/mediagoblin/templates/mediagoblin/edit/attachments.html index 6e7da0a1..55d446de 100644 --- a/mediagoblin/templates/mediagoblin/edit/attachments.html +++ b/mediagoblin/templates/mediagoblin/edit/attachments.html @@ -28,7 +28,7 @@ {% block mediagoblin_content %} <form action="{{ request.urlgen('mediagoblin.edit.attachments', user= media.get_uploader.username, - media= media._id) }}" + media= media.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box"> <h1> diff --git a/mediagoblin/templates/mediagoblin/edit/edit.html b/mediagoblin/templates/mediagoblin/edit/edit.html index 144184df..1f5b91f7 100644 --- a/mediagoblin/templates/mediagoblin/edit/edit.html +++ b/mediagoblin/templates/mediagoblin/edit/edit.html @@ -29,7 +29,7 @@ <form action="{{ request.urlgen('mediagoblin.edit.edit_media', user= media.get_uploader.username, - media= media._id) }}" + media= media.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box_xl edit_box"> <h1>{% trans media_title=media.title %}Editing {{ media_title }}{% endtrans %}</h1> diff --git a/mediagoblin/templates/mediagoblin/user_pages/collection.html b/mediagoblin/templates/mediagoblin/user_pages/collection.html index f53c164f..f1ab7a42 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/collection.html +++ b/mediagoblin/templates/mediagoblin/user_pages/collection.html @@ -44,7 +44,7 @@ {{ collection_title }} by <a href="{{ user_url }}">{{ username }}</a> {%- endtrans %} </h1> - {% if request.user and (collection.creator == request.user._id or + {% if request.user and (collection.creator == request.user.id or request.user.is_admin) %} {% set edit_url = request.urlgen('mediagoblin.edit.edit_collection', user=collection.get_creator.username, diff --git a/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html b/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html index 9be10321..447201cd 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html +++ b/mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html @@ -24,7 +24,7 @@ <form action="{{ request.urlgen('mediagoblin.user_pages.collection_item_confirm_remove', user=collection_item.in_collection.get_creator.username, collection=collection_item.in_collection.slug, - collection_item=collection_item._id) }}" + collection_item=collection_item.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box"> <h1> diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html index cb06c7ba..11f2a2a1 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media.html @@ -79,15 +79,15 @@ {{ media.title }} </h2> {% if request.user and - (media.uploader == request.user._id or + (media.uploader == request.user.id or request.user.is_admin) %} {% set edit_url = request.urlgen('mediagoblin.edit.edit_media', user= media.get_uploader.username, - media= media._id) %} + media= media.id) %} <a class="button_action" href="{{ edit_url }}">{% trans %}Edit{% endtrans %}</a> {% set delete_url = request.urlgen('mediagoblin.user_pages.media_confirm_delete', user= media.get_uploader.username, - media= media._id) %} + media= media.id) %} <a class="button_action" href="{{ delete_url }}">{% trans %}Delete{% endtrans %}</a> {% endif %} {% autoescape False %} @@ -104,7 +104,7 @@ {% if request.user %} <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', user= media.get_uploader.username, - media=media._id) }}" method="POST" id="form_comment"> + media=media.id) }}" method="POST" id="form_comment"> <p> {% trans %}You can use <a href="http://daringfireball.net/projects/markdown/basics">Markdown</a> for formatting.{% endtrans %} </p> @@ -117,11 +117,11 @@ {% endif %} {% for comment in comments %} {% set comment_author = comment.get_author %} - {% if pagination.active_id == comment._id %} - <div class="comment_wrapper comment_active" id="comment-{{ comment._id }}"> + {% if pagination.active_id == comment.id %} + <div class="comment_wrapper comment_active" id="comment-{{ comment.id }}"> <a name="comment" id="comment"></a> {% else %} - <div class="comment_wrapper" id="comment-{{ comment._id }}"> + <div class="comment_wrapper" id="comment-{{ comment.id }}"> {% endif %} <div class="comment_author"> <img src="{{ request.staticdirect('/images/icon_comment.png') }}" /> @@ -131,7 +131,7 @@ </a> {% trans %}at{% endtrans %} <a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment', - comment = comment._id, + comment = comment.id, user = media.get_uploader.username, media = media.slug_or_id) }}#comment"> {{ comment.created.strftime("%I:%M%p %Y-%m-%d") }} @@ -181,7 +181,7 @@ {% endif %} {% if app_config['allow_attachments'] and request.user - and (media.uploader == request.user._id + and (media.uploader == request.user.id or request.user.is_admin) %} {% if not media.attachment_files|count %} <h3>{% trans %}Attachments{% endtrans %}</h3> @@ -189,7 +189,7 @@ <p> <a href="{{ request.urlgen('mediagoblin.edit.attachments', user=media.get_uploader.username, - media=media._id) }}">{% trans %}Add attachment{% endtrans %}</a> + media=media.id) }}">{% trans %}Add attachment{% endtrans %}</a> </p> {% endif %} @@ -197,7 +197,7 @@ <p> <a type="submit" href="{{ request.urlgen('mediagoblin.user_pages.media_collect', user=media.get_uploader.username, - media=media._id) }}" + media=media.id) }}" class="button_action" title="{% trans %}Add media to collection{% endtrans %}"> <img src="{{ request.staticdirect('/images/icon_collect.png') }}" diff --git a/mediagoblin/templates/mediagoblin/user_pages/media_collect.html b/mediagoblin/templates/mediagoblin/user_pages/media_collect.html index cefe638b..4f35dfa3 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media_collect.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media_collect.html @@ -28,7 +28,7 @@ <form action="{{ request.urlgen('mediagoblin.user_pages.media_collect', user=media.get_uploader.username, - media=media._id) }}" + media=media.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box"> <h1> diff --git a/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html b/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html index a3cf0210..833f500d 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html @@ -23,7 +23,7 @@ <form action="{{ request.urlgen('mediagoblin.user_pages.media_confirm_delete', user=media.get_uploader.username, - media=media._id) }}" + media=media.id) }}" method="POST" enctype="multipart/form-data"> <div class="form_box"> <h1> diff --git a/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html b/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html index e673902b..2a449d45 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html +++ b/mediagoblin/templates/mediagoblin/user_pages/processing_panel.html @@ -41,7 +41,7 @@ </tr> {% for media_entry in processing_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.title }}</td> <td>{{ media_entry.created.strftime("%F %R") }}</td> {% if media_entry.transcoding_progress %} @@ -69,7 +69,7 @@ </tr> {% for media_entry in failed_entries %} <tr> - <td>{{ media_entry._id }}</td> + <td>{{ media_entry.id }}</td> <td>{{ media_entry.title }}</td> <td>{{ media_entry.created.strftime("%F %R") }}</td> {% if media_entry.get_fail_exception() %} @@ -97,7 +97,7 @@ </tr> {% for entry in processed_entries %} <tr> - <td>{{ entry._id }}</td> + <td>{{ entry.id }}</td> <td><a href="{{ entry.url_for_self(request.urlgen) }}">{{ entry.title }}</a></td> <td>{{ entry.created.strftime("%F %R") }}</td> </tr> diff --git a/mediagoblin/templates/mediagoblin/user_pages/user.html b/mediagoblin/templates/mediagoblin/user_pages/user.html index 4f7b1208..65c636b9 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/user.html +++ b/mediagoblin/templates/mediagoblin/user_pages/user.html @@ -90,7 +90,7 @@ </h1> {% if not user.url and not user.bio %} - {% if request.user and (request.user._id == user._id) %} + {% if request.user and (request.user.id == user.id) %} <div class="profile_sidebar empty_space"> <p> {% trans %}Here's a spot to tell others about yourself.{% endtrans %} @@ -112,7 +112,7 @@ <div class="profile_sidebar"> {% include "mediagoblin/utils/profile.html" %} {% if request.user and - (request.user._id == user._id or request.user.is_admin) %} + (request.user.id == user.id or request.user.is_admin) %} <a href="{{ request.urlgen('mediagoblin.edit.profile') }}?username={{ user.username }}"> {%- trans %}Edit profile{% endtrans -%} @@ -139,7 +139,7 @@ {% include "mediagoblin/utils/feed_link.html" %} </div> {% else %} - {% if request.user and (request.user._id == user._id) %} + {% if request.user and (request.user.id == user.id) %} <div class="profile_showcase empty_space"> <p> {% trans -%} diff --git a/mediagoblin/templates/mediagoblin/utils/collection_gallery.html b/mediagoblin/templates/mediagoblin/utils/collection_gallery.html index ab5e46ea..dcc59244 100644 --- a/mediagoblin/templates/mediagoblin/utils/collection_gallery.html +++ b/mediagoblin/templates/mediagoblin/utils/collection_gallery.html @@ -38,7 +38,7 @@ <a href="{{ entry_url }}">{{ item.note }}</a> {% endif %} {% if request.user and - (item.in_collection.creator == request.user._id or + (item.in_collection.creator == request.user.id or request.user.is_admin) %} {%- set remove_url=request.urlgen( 'mediagoblin.user_pages.collection_item_confirm_remove', diff --git a/mediagoblin/tests/test_auth.py b/mediagoblin/tests/test_auth.py index 1b84b435..169b2309 100644 --- a/mediagoblin/tests/test_auth.py +++ b/mediagoblin/tests/test_auth.py @@ -19,9 +19,10 @@ import datetime from nose.tools import assert_equal +from mediagoblin import mg_globals from mediagoblin.auth import lib as auth_lib +from mediagoblin.db.sql.models import User from mediagoblin.tests.tools import setup_fresh_app, fixture_add_user -from mediagoblin import mg_globals from mediagoblin.tools import template, mail @@ -124,7 +125,7 @@ def test_register_views(test_app): u'Invalid email address.'] ## At this point there should be no users in the database ;) - assert not mg_globals.database.User.find().count() + assert not User.query.count() # Successful register # ------------------- @@ -153,7 +154,7 @@ def test_register_views(test_app): ## Make sure user is logged in request = template.TEMPLATE_TEST_CONTEXT[ 'mediagoblin/user_pages/user.html']['request'] - assert request.session['user_id'] == unicode(new_user._id) + assert request.session['user_id'] == unicode(new_user.id) ## Make sure we get email confirmation, and try verifying assert len(mail.EMAIL_TEST_INBOX) == 1 @@ -170,7 +171,7 @@ def test_register_views(test_app): ### user should have these same parameters assert parsed_get_params['userid'] == [ - unicode(new_user._id)] + unicode(new_user.id)] assert parsed_get_params['token'] == [ new_user.verification_key] @@ -178,7 +179,7 @@ def test_register_views(test_app): template.clear_test_template_context() response = test_app.get( "/auth/verify_email/?userid=%s&token=total_bs" % unicode( - new_user._id)) + new_user.id)) response.follow() context = template.TEMPLATE_TEST_CONTEXT[ 'mediagoblin/user_pages/user.html'] @@ -253,7 +254,7 @@ def test_register_views(test_app): # user should have matching parameters new_user = mg_globals.database.User.find_one({'username': u'happygirl'}) - assert parsed_get_params['userid'] == [unicode(new_user._id)] + assert parsed_get_params['userid'] == [unicode(new_user.id)] assert parsed_get_params['token'] == [new_user.fp_verification_key] ### The forgotten password token should be set to expire in ~ 10 days @@ -264,8 +265,8 @@ def test_register_views(test_app): template.clear_test_template_context() response = test_app.get( "/auth/forgot_password/verify/?userid=%s&token=total_bs" % unicode( - new_user._id), status=404) - assert_equal(response.status, '404 Not Found') + new_user.id), status=404) + assert_equal(response.status.split()[0], u'404') # status="404 NOT FOUND" ## Try using an expired token to change password, shouldn't work template.clear_test_template_context() @@ -274,7 +275,7 @@ def test_register_views(test_app): new_user.fp_token_expire = datetime.datetime.now() new_user.save() response = test_app.get("%s?%s" % (path, get_params), status=404) - assert_equal(response.status, '404 Not Found') + assert_equal(response.status.split()[0], u'404') # status="404 NOT FOUND" new_user.fp_token_expire = real_token_expiration new_user.save() @@ -392,7 +393,7 @@ def test_authentication_views(test_app): # Make sure user is in the session context = template.TEMPLATE_TEST_CONTEXT['mediagoblin/root.html'] session = context['request'].session - assert session['user_id'] == unicode(test_user._id) + assert session['user_id'] == unicode(test_user.id) # Successful logout # ----------------- diff --git a/mediagoblin/tests/test_storage.py b/mediagoblin/tests/test_storage.py index 6fc2e57c..61326ae9 100644 --- a/mediagoblin/tests/test_storage.py +++ b/mediagoblin/tests/test_storage.py @@ -18,7 +18,7 @@ import os import tempfile -from nose.tools import assert_raises +from nose.tools import assert_raises, assert_equal, assert_true from werkzeug.utils import secure_filename from mediagoblin import storage @@ -78,9 +78,10 @@ def test_storage_system_from_config(): 'garbage_arg': 'garbage_arg', 'storage_class': 'mediagoblin.tests.test_storage:FakeStorageSystem'}) - assert this_storage.foobie == 'eiboof' - assert this_storage.blech == 'hcelb' - assert this_storage.__class__ is FakeStorageSystem + assert_equal(this_storage.foobie, 'eiboof') + assert_equal(this_storage.blech, 'hcelb') + assert_equal(unicode(this_storage.__class__), + u'mediagoblin.tests.test_storage.FakeStorageSystem') ########################## diff --git a/mediagoblin/tests/test_submission.py b/mediagoblin/tests/test_submission.py index b6fe0015..589ba7ed 100644 --- a/mediagoblin/tests/test_submission.py +++ b/mediagoblin/tests/test_submission.py @@ -184,7 +184,7 @@ class TestSubmission: # --------------------------------------------------- response, request = self.do_post({'confirm': 'y'}, *REQUEST_CONTEXT, do_follow=True, url=delete_url) - self.check_media(request, {'_id': media_id}, 0) + self.check_media(request, {'id': media_id}, 0) self.check_comments(request, media_id, 0) def test_evil_file(self): diff --git a/mediagoblin/tests/test_tests.py b/mediagoblin/tests/test_tests.py index 20832ac7..2228d15a 100644 --- a/mediagoblin/tests/test_tests.py +++ b/mediagoblin/tests/test_tests.py @@ -14,9 +14,9 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from mediagoblin.tests.tools import get_test_app - from mediagoblin import mg_globals +from mediagoblin.tests.tools import get_test_app +from mediagoblin.db.sql.models import User def test_get_test_app_wipes_db(): @@ -24,15 +24,15 @@ def test_get_test_app_wipes_db(): Make sure we get a fresh database on every wipe :) """ get_test_app() - assert mg_globals.database.User.find().count() == 0 + assert User.query.count() == 0 new_user = mg_globals.database.User() new_user.username = u'lolcat' new_user.email = u'lol@cats.example.org' new_user.pw_hash = u'pretend_this_is_a_hash' new_user.save() - assert mg_globals.database.User.find().count() == 1 + assert User.query.count() == 1 get_test_app() - assert mg_globals.database.User.find().count() == 0 + assert User.query.count() == 0 diff --git a/mediagoblin/tests/tools.py b/mediagoblin/tests/tools.py index d3369831..0e923aee 100644 --- a/mediagoblin/tests/tools.py +++ b/mediagoblin/tests/tools.py @@ -78,7 +78,7 @@ class TestingMeddleware(BaseMeddleware): def process_response(self, request, response): # All following tests should be for html only! - if response.content_type != "text/html": + if getattr(response, 'content_type', None) != "text/html": # Get out early return @@ -184,20 +184,20 @@ def assert_db_meets_expected(db, expected): """ Assert a database contains the things we expect it to. - Objects are found via '_id', so you should make sure your document - has an _id. + Objects are found via 'id', so you should make sure your document + has an id. Args: - db: pymongo or mongokit database connection - expected: the data we expect. Formatted like: {'collection_name': [ - {'_id': 'foo', + {'id': 'foo', 'some_field': 'some_value'},]} """ for collection_name, collection_data in expected.iteritems(): collection = db[collection_name] for expected_document in collection_data: - document = collection.find_one({'_id': expected_document['_id']}) + document = collection.find_one({'id': expected_document['id']}) assert document is not None # make sure it exists assert document == expected_document # make sure it matches diff --git a/mediagoblin/tools/pagination.py b/mediagoblin/tools/pagination.py index 50e59070..141d91cc 100644 --- a/mediagoblin/tools/pagination.py +++ b/mediagoblin/tools/pagination.py @@ -41,7 +41,7 @@ class Pagination(object): - per_page: number of objects per page - cursor: db cursor - jump_to_id: ObjectId, sets the page to the page containing the - object with _id == jump_to_id. + object with id == jump_to_id. """ self.page = page self.per_page = per_page @@ -53,7 +53,7 @@ class Pagination(object): cursor = copy.copy(self.cursor) for (doc, increment) in izip(cursor, count(0)): - if doc._id == jump_to_id: + if doc.id == jump_to_id: self.page = 1 + int(floor(increment / self.per_page)) self.active_id = jump_to_id diff --git a/mediagoblin/tools/request.py b/mediagoblin/tools/request.py index ae372c92..66d7ffa3 100644 --- a/mediagoblin/tools/request.py +++ b/mediagoblin/tools/request.py @@ -34,7 +34,7 @@ def setup_user_in_request(request): except InvalidId: user = None else: - user = request.db.User.find_one({'_id': oid}) + user = request.db.User.find_one({'id': oid}) if not user: # Something's wrong... this user doesn't exist? Invalidate diff --git a/mediagoblin/tools/response.py b/mediagoblin/tools/response.py index 81939a77..b02dd6b5 100644 --- a/mediagoblin/tools/response.py +++ b/mediagoblin/tools/response.py @@ -14,11 +14,16 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from webob import Response, exc +import werkzeug.utils +from werkzeug.wrappers import Response as wz_Response from mediagoblin.tools.template import render_template from mediagoblin.tools.translate import (lazy_pass_to_ugettext as _, pass_to_ugettext) +class Response(wz_Response): + """Set default response mimetype to HTML, otherwise we get text/plain""" + default_mimetype = u'text/html' + def render_to_response(request, template, context, status=200): """Much like Django's shortcut.render()""" @@ -57,15 +62,21 @@ def render_404(request): "you're looking for has been moved or deleted.") return render_error(request, 404, err_msg=err_msg) + def redirect(request, *args, **kwargs): - """Returns a HTTPFound(), takes a request and then urlgen params""" + """Redirects to an URL, using urlgen params or location string + + :param querystring: querystring to be appended to the URL + :param location: If the location keyword is given, redirect to the URL + """ + querystring = kwargs.pop('querystring', None) - querystring = None - if kwargs.get('querystring'): - querystring = kwargs.get('querystring') - del kwargs['querystring'] + # Redirect to URL if given by "location=..." + if 'location' in kwargs: + location = kwargs.pop('location') + else: + location = request.urlgen(*args, **kwargs) - return exc.HTTPFound( - location=''.join([ - request.urlgen(*args, **kwargs), - querystring if querystring else ''])) + if querystring: + location += querystring + return werkzeug.utils.redirect(location) diff --git a/mediagoblin/user_pages/lib.py b/mediagoblin/user_pages/lib.py index a4be14c2..8a064a7c 100644 --- a/mediagoblin/user_pages/lib.py +++ b/mediagoblin/user_pages/lib.py @@ -33,7 +33,7 @@ def send_comment_email(user, comment, media, request): comment_url = request.urlgen( 'mediagoblin.user_pages.media_home.view_comment', - comment=comment._id, + comment=comment.id, user=media.get_uploader.username, media=media.slug_or_id, qualified=True) + '#comment' diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py index cbf3f15f..fe4f5dbc 100644 --- a/mediagoblin/user_pages/views.py +++ b/mediagoblin/user_pages/views.py @@ -14,7 +14,6 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. -from webob import exc import logging import datetime @@ -53,7 +52,7 @@ def user_home(request, page): {'user': user}) cursor = request.db.MediaEntry.find( - {'uploader': user._id, + {'uploader': user.id, 'state': u'processed'}).sort('created', DESCENDING) pagination = Pagination(page, cursor) @@ -167,8 +166,7 @@ def media_post_comment(request, media): media_uploader.wants_comment_notification): send_comment_email(media_uploader, comment, media, request) - return exc.HTTPFound( - location=media.url_for_self(request.urlgen)) + return redirect(request, location=media.url_for_self(request.urlgen)) @get_user_media_entry @@ -196,12 +194,12 @@ def media_collect(request, media): collection.description = unicode( request.form.get('collection_description')) - collection.creator = request.user._id + collection.creator = request.user.id collection.generate_slug() # Make sure this user isn't duplicating an existing collection existing_collection = request.db.Collection.find_one({ - 'creator': request.user._id, + 'creator': request.user.id, 'title': collection.title}) if existing_collection: @@ -220,7 +218,7 @@ def media_collect(request, media): # Otherwise, use the collection selected from the drop-down else: collection = request.db.Collection.find_one({ - '_id': request.form.get('collection')}) + 'id': request.form.get('collection')}) collection_item.collection = collection.id # Make sure the user actually selected a collection @@ -302,11 +300,11 @@ def media_confirm_delete(request, media): messages.add_message( request, messages.ERROR, _("The media was not deleted because you didn't check that you were sure.")) - return exc.HTTPFound( - location=media.url_for_self(request.urlgen)) + return redirect(request, + location=media.url_for_self(request.urlgen)) if ((request.user.is_admin and - request.user._id != media.uploader)): + request.user.id != media.uploader)): messages.add_message( request, messages.WARNING, _("You are about to delete another user's media. " @@ -378,7 +376,7 @@ def collection_item_confirm_remove(request, collection_item): collection=collection.slug) if ((request.user.is_admin and - request.user._id != collection_item.in_collection.creator)): + request.user.id != collection_item.in_collection.creator)): messages.add_message( request, messages.WARNING, _("You are about to delete an item from another user's collection. " @@ -428,7 +426,7 @@ def collection_confirm_delete(request, collection): collection=collection.slug) if ((request.user.is_admin and - request.user._id != collection.creator)): + request.user.id != collection.creator)): messages.add_message( request, messages.WARNING, _("You are about to delete another user's collection. " @@ -456,7 +454,7 @@ def atom_feed(request): return render_404(request) cursor = request.db.MediaEntry.find({ - 'uploader': user._id, + 'uploader': user.id, 'state': u'processed'}) \ .sort('created', DESCENDING) \ .limit(ATOM_DEFAULT_NR_OF_UPDATED_ITEMS) @@ -524,7 +522,7 @@ def collection_atom_feed(request): 'slug': request.matchdict['collection']}) cursor = request.db.CollectionItem.find({ - 'collection': collection._id}) \ + 'collection': collection.id}) \ .sort('added', DESCENDING) \ .limit(ATOM_DEFAULT_NR_OF_UPDATED_ITEMS) @@ -601,7 +599,7 @@ def processing_panel(request): # # Make sure we have permission to access this user's panel. Only # admins and this user herself should be able to do so. - if not (user._id == request.user._id + if not (user.id == request.user.id or request.user.is_admin): # No? Let's simply redirect to this user's homepage then. return redirect( @@ -610,16 +608,16 @@ def processing_panel(request): # Get media entries which are in-processing processing_entries = request.db.MediaEntry.find( - {'uploader': user._id, + {'uploader': user.id, 'state': u'processing'}).sort('created', DESCENDING) # Get media entries which have failed to process failed_entries = request.db.MediaEntry.find( - {'uploader': user._id, + {'uploader': user.id, 'state': u'failed'}).sort('created', DESCENDING) processed_entries = request.db.MediaEntry.find( - {'uploader': user._id, + {'uploader': user.id, 'state': u'processed'}).sort('created', DESCENDING).limit(10) # Render to response @@ -44,7 +44,6 @@ setup( 'setuptools', 'PasteScript', 'beaker', - 'webob<=1.2a2,>=1.1', 'wtforms', 'py-bcrypt', 'nose', |