Merge branch 'master' of git://gitorious.org/mediagoblin/mediagoblin

This commit is contained in:
lora 2011-11-19 17:01:40 -06:00
commit 707001950a
126 changed files with 4197 additions and 1188 deletions

2
.gitignore vendored
View File

@ -3,6 +3,8 @@ bin/
develop-eggs/
build/
eggs/
lib/
include/
parts/
.installed.cfg
mediagoblin.egg-info

View File

@ -13,6 +13,7 @@ Thank you!
* Alex Camelio
* Bernhard Keller
* Caleb Forbes Davis V
* Corey Farwell
* Chris Moylan
* Christopher Allan Webber
* Daniel Neel
@ -27,6 +28,7 @@ Thank you!
* Nathan Yergler
* Odin Hørthe Omdal
* Osama Khalid
* Pablo J. Urbano Santos
* Rasmus Larsson
* Sam Kleinman
* Sebastian Spaeth

5
MANIFEST.in Normal file
View File

@ -0,0 +1,5 @@
recursive-include mediagoblin/templates *.html
recursive-include mediagoblin/static *.js *.css *.png *.svg
recursive-include mediagoblin/tests *.ini
recursive-include docs *.rst *.html

View File

@ -48,9 +48,9 @@ copyright = u'2011, Free Software Foundation, Inc and contributors'
# built documents.
#
# The short X.Y version.
version = '0.0.5'
version = '0.1.0'
# The full version, including alpha/beta/rc tags.
release = '0.0.5'
release = '0.1.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -0,0 +1,105 @@
.. _configuration-chapter:
========================
Configuring MediaGoblin
========================
So! You've got MediaGoblin up and running, but you need to adjust
some configuration parameters. Well you've come to the right place!
MediaGoblin's config files
==========================
When configuring MediaGoblin, there are two files you might want to
make local modified versions of, and one extra file that might be
helpful to look at. Let's examine these.
mediagoblin.ini
This is the config file for MediaGoblin, the application. If you want to
tweak settings for MediaGoblin, you'll usually tweak them here.
paste.ini
This is primarily a server configuration file, on the python side
(specifically, on the wsgi side, via `paste deploy
<http://pythonpaste.org/deploy/>`_ / `paste script
<http://pythonpaste.org/script/>`_). It also sets up some
middleware that you can mostly ignore, except to configure
sessions... more on that later. If you are adding a different
python server other than fastcgi / plain http, you might configure
it here. You probably won't need to change this file very much.
There's one more file that you certainly won't change unless you're
making coding contributions to mediagoblin, but which can be useful to
read and reference:
mediagoblin/config_spec.ini
This file is actually a specification for mediagoblin.ini itself, as
a config file! It defines types and defaults. Sometimes it's a
good place to look for documentation... or to find that hidden
option that we didn't tell you about. :)
Making local copies
===================
Let's assume you're doing the virtualenv setup described elsewhere in this
manual, and you need to make local tweaks to the config files. How do you do
that? Let's see.
To make changes to mediagoblin.ini:
cp mediagoblin.ini mediagoblin_local.ini
To make changes to paste.ini:
cp paste.ini paste_local.ini
From here you should be able to make direct adjustments to the files,
and most of the commands described elsewhere in this manual will "notice"
your local config files and use those instead of the non-local version.
(Note that all commands provide a way to pass in a specific config
file also, usually by a -cf flag.)
Common changes
==============
Enabling email notifications
----------------------------
You'll almost certainly want to enable sending emails. By default,
MediaGoblin doesn't really do this... for the sake of developer
convenience, it runs in "email debug mode". Change this:
email_debug_mode = false
You can (and should) change the "from" email address by setting
``email_sender_address``.
Note that you need a mailer daemon running for this to work.
If you have more custom SMTP settings, you also have the following
options at your disposal, which are all optional, and do exactly what
they sound like.
- email_smtp_host
- email_smtp_port
- email_smtp_user
- email_smtp_pass
All other configuration changes
-------------------------------
To be perfectly honest, there are quite a few options and I'm not
going to be able to get to documanting them all in time for 0.1.0.
So here's a cop-out section saying that if you get into trouble, hop
onto IRC and we'll help you out:
#mediagoblin on irc.freenode.net
Celery
======
We should point to another celery-specific section of the document
actually :)

View File

@ -1,16 +1,264 @@
.. _deployment-chapter:
=====================
Deploying MediaGoblin
=====================
=======================
Deploying MediaGoblin
=======================
GNU MediaGoblin is fairly new and so at the time of writing, there
aren't easy package-manager-friendly methods to install MediaGoblin.
However, doing a basic install isn't too complex in and of itself.
Step 1: Write code that can be deployed.
There's an almost infinite way to deploy things... for now, we'll keep
it simple with some assumptions and use a setup that combines
mediagoblin + virtualenv + fastcgi + nginx on a .deb or .rpm based
GNU/Linux distro.
Step 2: ?
Note: these tools are for administrators wanting to deploy a fresh
install. If instead you want to join in as a contributor, see our
`Hacking HOWTO <http://wiki.mediagoblin.org/HackingHowto>`_ instead.
Step 3: Write the deployment guide and profit!
Prepare System
--------------
But seriously, this is a stub since we're not quite there (yet) but if
you want to see where we are now, you can try to run the latest
development version by following the instructions on
`the wiki <http://wiki.mediagoblin.org/>`_.
Dependencies
~~~~~~~~~~~~
MediaGoblin has the following core dependencies:
- Python 2.6 or 2.7
- `python-lxml <http://lxml.de/>`_
- `git <http://git-scm.com/>`_
- `MongoDB <http://www.mongodb.org/>`_
- `Python Imaging Library <http://www.pythonware.com/products/pil/>`_ (PIL)
- `virtualenv <http://www.virtualenv.org/>`_
On a DEB-based system (e.g Debian, gNewSense, Trisquel, Ubuntu, and
derivatives) issue the following command: ::
sudo apt-get install mongodb git-core python python-dev python-lxml python-imaging python-virtualenv
On a RPM-based system (e.g. Fedora, RedHat, and derivatives) issue the
following command: ::
yum install mongodb-server python-paste-deploy python-paste-script git-core python python-devel python-lxml python-imaging python-virtualenv
Configure MongoDB
~~~~~~~~~~~~~~~~~
After installing MongoDB some preliminary database configuration may
be necessary.
Ensure that MongoDB `journaling <http://www.mongodb.org/display/DOCS/Journaling>`_
is enabled. Journaling is enabled by default in version 2.0 and later
64-bit MongoDB instances. Check your deployment, and consider enabling
journaling if you're running 32-bit systems or earlier version.
.. warning::
Running MongoDB without journaling risks general data corruption
and raises the possibility of losing data within a 60-second
window when the server restarts.
MediaGoblin recommends enabling MongoDB's journaling feature by
adding a ``--journal`` flag to the command line or a "``journal:
true``" option to the configuration file.
MongoDB can take a lot of space by default. If you're planning on
running a smaller instance, consider the `scaling down guide
<http://wiki.mediagoblin.org/Scaling_Down>`_ for some appropriate
tradeoffs to conserve space.
Drop Privileges for MediaGoblin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As MediaGoblin does not require special permissions or elevated
access, you should run MediaGoblin under an existing non-root user or
preferably create a dedicated user for the purpose of running
MediaGoblin. Consult your distribution's documentation on how to
create "system account" or dedicated service user. Ensure that it is
not possible to log in to your system with as this user.
You should create a working directory for MediaGoblin. This document
assumes your local git repository will be located at ``/srv/mediagoblin.example.org/mediagoblin/``
for this documentation. Substitute your prefer ed local deployment path
as needed.
This document assumes that all operations are performed as this
user. To drop privileges to this user, run the following command: ::
su - [mediagoblin]``
Where, "``[mediagoblin]`` is the username of the system user that will
run MediaGoblin.
Install MediaGoblin and Virtualenv
----------------------------------
As of |version|, MediaGoblin has a rapid development pace. As a result
the following instructions recommend installing from the ``master``
branch of the git repository. Eventually production deployments will
want to transition to running from more consistent releases.
Issue the following commands, to create and change the working
directory. Modify these commands to reflect your own environment: ::
mkdir -p /srv/mediagoblin.example.org/
cd /srv/mediagoblin.example.org/
Clone the MediaGoblin repository: ::
git clone git://gitorious.org/mediagoblin/mediagoblin.git
And setup the in-package virtualenv: ::
cd mediagoblin
virtualenv . && ./bin/python setup.py develop
.. note::
If you have problems here, consider trying to install virtualenv
with the ``--distribute`` or ``--no-site-packages`` options. If
your system's default Python is in the 3.x series you man need to
run ``virtualenv`` with the ``--python=python2.7`` or
``--python=python2.6`` options.
The above provides an in-package install of ``virtualenv``. While this
is counter to the conventional ``virtualenv`` configuration, it is
more reliable and considerably easier to configure and illustrate. If
you're familiar with Python packaging you may consider deploying with
your preferred the method.
Assuming you are going to deploy with fastcgi, you should also install
flup: ::
./bin/easy_install flup
This concludes the initial configuration of the development
environment. In the future, if at any point you want update your
codebase, you should also run: ::
./bin/python setup.py develop --upgrade && ./bin/gmg migrate.
Deploy MediaGoblin Services
---------------------------
Test the Server
~~~~~~~~~~~~~~~
At this point MediaGoblin should be properly installed. You can
test the deployment with the following command: ::
./lazyserver.sh --server-name=broadcast
You should be able to connect to the machine on port 6543 in your
browser to confirm that the service is operable.
Connect the Webserver to MediaGoblin with FastCGI
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This section describes how to configure MediaGoblin to work via
fastcgi. Our configuration example will use nginx, however, you may
use any webserver of your choice as long as it supports the FastCGI
protocol. If you do not already have a web server, consider nginx, as
the configuration files may be more clear than the
alternatives.
Create a configuration file at
``/srv/mediagoblin.example.org/nginx.conf`` and create a symbolic link
into a directory that will be included in your ``nginx`` configuration
(e.g. "``/etc/nginx/sites-enabled`` or ``/etc/nginx/conf.d``) with
one of the following commands (as the root user:) ::
ln -s /srv/mediagoblin.example.org/nginx.conf /etc/nginx/conf.d/
ln -s /srv/mediagoblin.example.org/nginx.conf /etc/nginx/sites-enabled/
Modify these commands and locations depending on your preferences and
the existing configuration of your nginx instance. The contents of
this ``nginx.conf`` file should be modeled on the following: ::
server {
#################################################
# Stock useful config options, but ignore them :)
#################################################
include /etc/nginx/mime.types;
autoindex off;
default_type application/octet-stream;
sendfile on;
# Gzip
gzip on;
gzip_min_length 1024;
gzip_buffers 4 32k;
gzip_types text/plain text/html application/x-javascript text/javascript text/xml text/css;
#####################################
# Mounting MediaGoblin stuff
# This is the section you should read
#####################################
server_name mediagoblin.example.org www.mediagoblin.example.org;
access_log /var/log/nginx/mediagoblin.example.access.log;
error_log /var/log/nginx/mediagoblin.example.error.log;
# MediaGoblin's stock static files: CSS, JS, etc.
location /mgoblin_static/ {
alias /srv/mediagoblin.example.org/mediagoblin/mediagoblin/static/;
}
# Instance specific media:
location /mgoblin_media/ {
alias /srv/mediagoblin.example.org/mediagoblin/user_dev/media/public/;
}
# Mounting MediaGoblin itself via fastcgi.
location / {
fastcgi_pass 127.0.0.1:26543;
include /etc/nginx/fastcgi_params;
# our understanding vs nginx's handling of script_name vs
# path_info don't match :)
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param SCRIPT_NAME "";
}
}
Now, nginx instance is configured to serve the MediaGoblin
application. Perform a quick test to ensure that this configuration
works. Restart nginx so it picks up your changes, with a command that
resembles one of the following (as the root user:) ::
sudo /etc/init.d/nginx restart
sudo /etc/rc.d/nginx restart
Now start MediaGoblin. Use the following command sequence as an
example: ::
cd /srv/mediagoblin.example.org/mediagoblin/
./lazyserver.sh --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543
Visit the site you've set up in your browser by visiting
<http://mediagobilin.example.org>. You should see MediaGoblin!
Production MediaGoblin Deployments with Paste
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The instance configured with ``lazyserver`` is not ideal for a
production MediaGoblin deployment. Ideally, you should be able to use
a a control script (i.e. init script.) to launch and restart the
MediaGoblin process.
Use the following command as the basis for such a script: ::
CELERY_ALWAYS_EAGER=true \
/srv/mediagoblin.example.org/mediagoblin/bin/paster serve \
/srv/mediagoblin.example.org/mediagoblin/paste.ini \
--pid-file=/tmp/mediagoblin.pid \
--server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543 \
.. note::
The above configuration places MediaGoblin in "always eager" mode
with Celery. This is fine for development and smaller
deployments. However, if you're getting into the really large
deployment category, consider reading the section of this manual on
Celery.

View File

@ -14,6 +14,7 @@ Table of Contents:
foreword
about
deploying
configuration
help
theming
codebase

View File

@ -18,13 +18,24 @@
if [ "$1" = "-h" ]
then
echo "$0 [-h] [-c paste.ini] ARGS_to_paster"
echo "$0 [-h] [-c paste.ini] [ARGS_to_paster ...]"
echo ""
echo " For example:"
echo " $0 -c fcgi.ini port_number=23371"
echo " $0 -c fcgi.ini port_number=23371"
echo " or: $0 --server-name=fcgi"
echo ""
echo " The configfile defaults to paste_local.ini,"
echo " if that is readable, otherwise paste.ini."
exit 1
fi
PASTE_INI=paste.ini
if [ -r paste_local.ini ]
then
PASTE_INI=paste_local.ini
fi
if [ "$1" = "-c" ]
then
PASTE_INI="$2"
@ -32,6 +43,8 @@ then
shift
fi
echo "Using paste config: $PASTE_INI"
if [ -f ./bin/paster ]; then
echo "Using ./bin/paster";
export PASTER="./bin/paster";

View File

@ -1,3 +1,6 @@
# If you want to make changes to this file, first copy it to
# mediagoblin_local.ini, then make the changes there.
[mediagoblin]
direct_remote_path = /mgoblin_static/
email_sender_address = "notice@mediagoblin.example.org"

View File

@ -14,4 +14,4 @@
# 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/>.
__version__ = "0.0.5"
__version__ = "0.1.0"

View File

@ -94,7 +94,7 @@ class MediaGoblinApp(object):
# object.
#######################################################
setup_globals(app = self)
setup_globals(app=self)
# Workbench *currently* only used by celery, so this only
# matters in always eager mode :)
@ -104,7 +104,6 @@ class MediaGoblinApp(object):
self.middleware = [common.import_component(m)(self)
for m in middleware.ENABLED_MIDDLEWARE]
def __call__(self, environ, start_response):
request = Request(environ)
@ -118,6 +117,17 @@ class MediaGoblinApp(object):
path_info = request.path_info
route_match = self.routing.match(path_info)
# By using fcgi, mediagoblin can run under a base path
# like /mediagoblin/. request.path_info contains the
# path inside mediagoblin. If the something needs the
# full path of the current page, that should include
# the basepath.
# Note: urlgen and routes are fine!
request.full_path = environ["SCRIPT_NAME"] + request.path_info
# python-routes uses SCRIPT_NAME. So let's use that too.
# The other option would be:
# request.full_path = environ["SCRIPT_URL"]
## Attach utilities to the request object
request.matchdict = route_match
request.urlgen = routes.URLGenerator(self.routing, environ)
@ -167,6 +177,16 @@ class MediaGoblinApp(object):
def paste_app_factory(global_config, **app_config):
mgoblin_app = MediaGoblinApp(app_config['config'])
configs = app_config['config'].split()
mediagoblin_config = None
for config in configs:
if os.path.exists(config) and os.access(config, os.R_OK):
mediagoblin_config = config
break
if not mediagoblin_config:
raise IOError("Usable mediagoblin config not found.")
mgoblin_app = MediaGoblinApp(mediagoblin_config)
return mgoblin_app

View File

@ -59,9 +59,10 @@ class ForgotPassForm(wtforms.Form):
'Username or email',
[wtforms.validators.Required()])
def validate_username(form,field):
if not (re.match(r'^\w+$',field.data) or
re.match(r'^.+@[^.].*\.[a-z]{2,10}$',field.data, re.IGNORECASE)):
def validate_username(form, field):
if not (re.match(r'^\w+$', field.data) or
re.match(r'^.+@[^.].*\.[a-z]{2,10}$', field.data,
re.IGNORECASE)):
raise wtforms.ValidationError(u'Incorrect input')
@ -82,4 +83,3 @@ class ChangePassForm(wtforms.Form):
token = wtforms.HiddenField(
'',
[wtforms.validators.Required()])

View File

@ -94,6 +94,7 @@ EMAIL_VERIFICATION_TEMPLATE = (
u"http://{host}{uri}?"
u"userid={userid}&token={verification_key}")
def send_verification_email(user, request):
"""
Send the verification email to users to activate their accounts.
@ -108,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
@ -128,6 +129,7 @@ EMAIL_FP_VERIFICATION_TEMPLATE = (
u"http://{host}{uri}?"
u"userid={userid}&token={fp_verification_key}")
def send_fp_verification_email(user, request):
"""
Send the verification email to users to change their password.
@ -142,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
@ -151,4 +153,3 @@ def send_fp_verification_email(user, request):
[user['email']],
'GNU MediaGoblin - Change forgotten password!',
rendered_email)

View File

@ -33,7 +33,8 @@ auth_routes = [
controller='mediagoblin.views:simple_template_render'),
Route('mediagoblin.auth.forgot_password', '/forgot_password/',
controller='mediagoblin.auth.views:forgot_password'),
Route('mediagoblin.auth.verify_forgot_password', '/forgot_password/verify/',
Route('mediagoblin.auth.verify_forgot_password',
'/forgot_password/verify/',
controller='mediagoblin.auth.views:verify_forgot_password'),
Route('mediagoblin.auth.fp_changed_success',
'/forgot_password/changed_success/',

View File

@ -87,7 +87,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
@ -122,7 +122,7 @@ def login(request):
if user and user.check_login(request.POST['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.POST.get('next'):
@ -160,7 +160,7 @@ def verify_email(request):
you are lucky :)
"""
# If we don't have userid and token parameters, we can't do anything; 404
if not request.GET.has_key('userid') or not request.GET.has_key('token'):
if not 'userid' in request.GET or not 'token' in request.GET:
return render_404(request)
user = request.db.User.find_one(
@ -253,8 +253,7 @@ def forgot_password(request):
request, 'mediagoblin.user_pages.user_home',
user=user['username'])
# do not reveal whether or not there is a matching user, just move along
# do not reveal whether or not there is a matching user
return redirect(request, 'mediagoblin.auth.fp_email_sent')
return render_to_response(
@ -328,6 +327,6 @@ def _process_for_token(request):
formdata = {
'vars': formdata_vars,
'has_userid_and_token':
formdata_vars.has_key('userid') and formdata_vars.has_key('token')}
'userid' in formdata_vars and 'token' in formdata_vars}
return formdata

View File

@ -1,4 +1,7 @@
[mediagoblin]
# HTML title of the pages
html_title = string(default="GNU MediaGoblin")
# database stuff
db_host = string()
db_name = string(default="mediagoblin")
@ -27,6 +30,9 @@ allow_registration = boolean(default=True)
tags_delimiter = string(default=",")
tags_max_length = integer(default=50)
# Whether comments are ascending or descending
comments_ascending = boolean(default=True)
# By default not set, but you might want something like:
# "%(here)s/user_dev/templates/"
local_templates = string()
@ -42,7 +48,7 @@ celery_setup_elsewhere = boolean(default=False)
allow_attachments = boolean(default=False)
# Cookie stuff
csrf_cookie_name = string(default='mediagoblin_nonce')
csrf_cookie_name = string(default='mediagoblin_csrftoken')
[storage:publicstore]
storage_class = string(default="mediagoblin.storage.filestorage:BasicFileStorage")

View File

@ -23,7 +23,7 @@ Database Abstraction/Wrapper Layer
pymongo. Read beow for why, but note that nobody is actually doing
this and there's no proof that we'll ever support more than
MongoDB... it would be a huge amount of work to do so.
If you really want to prove that possible, jump on IRC and talk to
us about making such a branch. In the meanwhile, it doesn't hurt to
have things as they are... if it ever makes it hard for us to

View File

@ -93,8 +93,9 @@ MEDIAENTRY_INDEXES = {
('created', DESCENDING)]},
'state_uploader_tags_created': {
# Indexing on processed?, media uploader, associated tags, and timestamp
# Used for showing media items matching a tag search, most recent first.
# Indexing on processed?, media uploader, associated tags, and
# timestamp Used for showing media items matching a tag
# search, most recent first.
'index': [('state', ASCENDING),
('uploader', ASCENDING),
('tags.slug', DESCENDING),

View File

@ -18,6 +18,17 @@ from mediagoblin.db.util import RegisterMigration
from mediagoblin.tools.text import cleaned_markdown_conversion
def add_table_field(db, table_name, field_name, default_value):
"""
Add a new field to the table/collection named table_name.
The field will have the name field_name and the value default_value
"""
db[table_name].update(
{field_name: {'$exists': False}},
{'$set': {field_name: default_value}},
multi=True)
# Please see mediagoblin/tests/test_migrations.py for some examples of
# basic migrations.
@ -70,11 +81,7 @@ def mediaentry_add_queued_task_id(database):
"""
Add the 'queued_task_id' field for entries that don't have it.
"""
collection = database['media_entries']
collection.update(
{'queued_task_id': {'$exists': False}},
{'$set': {'queued_task_id': None}},
multi=True)
add_table_field(database, 'media_entries', 'queued_task_id', None)
@RegisterMigration(5)
@ -82,16 +89,8 @@ def mediaentry_add_fail_error_and_metadata(database):
"""
Add 'fail_error' and 'fail_metadata' fields to media entries
"""
collection = database['media_entries']
collection.update(
{'fail_error': {'$exists': False}},
{'$set': {'fail_error': None}},
multi=True)
collection.update(
{'fail_metadata': {'$exists': False}},
{'$set': {'fail_metadata': {}}},
multi=True)
add_table_field(database, 'media_entries', 'fail_error', None)
add_table_field(database, 'media_entries', 'fail_metadata', {})
@RegisterMigration(6)
@ -99,11 +98,5 @@ def user_add_forgot_password_token_and_expires(database):
"""
Add token and expiration fields to help recover forgotten passwords
"""
database['users'].update(
{'fp_verification_key': {'$exists': False}},
{'$set': {'fp_verification_key': None}},
multi=True)
database['users'].update(
{'fp_token_expire': {'$exists': False}},
{'$set': {'fp_token_expire': None}},
multi=True)
add_table_field(database, 'users', 'fp_verification_key', None)
add_table_field(database, 'users', 'fp_token_expire', None)

View File

@ -14,7 +14,8 @@
# 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/>.
import datetime, uuid
import datetime
import uuid
from mongokit import Document
@ -62,22 +63,23 @@ class User(Document):
- bio_html: biography of the user converted to proper HTML.
"""
__collection__ = 'users'
use_dot_notation = True
structure = {
'username': unicode,
'email': unicode,
'created': datetime.datetime,
'plugin_data': dict, # plugins can dump stuff here.
'plugin_data': dict, # plugins can dump stuff here.
'pw_hash': unicode,
'email_verified': bool,
'status': unicode,
'verification_key': unicode,
'is_admin': bool,
'url' : unicode,
'bio' : unicode, # May contain markdown
'bio_html': unicode, # May contain plaintext, or HTML
'fp_verification_key': unicode, # forgotten password verification key
'fp_token_expire': datetime.datetime
'url': unicode,
'bio': unicode, # May contain markdown
'bio_html': unicode, # May contain plaintext, or HTML
'fp_verification_key': unicode, # forgotten password verification key
'fp_token_expire': datetime.datetime,
}
required_fields = ['username', 'created', 'pw_hash', 'email']
@ -172,21 +174,22 @@ class MediaEntry(Document):
critical to this piece of media but may be usefully relevant to people
viewing the work. (currently unused.)
- fail_error: path to the exception raised
- fail_metadata:
- fail_error: path to the exception raised
- fail_metadata:
"""
__collection__ = 'media_entries'
use_dot_notation = True
structure = {
'uploader': ObjectId,
'title': unicode,
'slug': unicode,
'created': datetime.datetime,
'description': unicode, # May contain markdown/up
'description_html': unicode, # May contain plaintext, or HTML
'description': unicode, # May contain markdown/up
'description_html': unicode, # May contain plaintext, or HTML
'media_type': unicode,
'media_data': dict, # extra data relevant to this media_type
'plugin_data': dict, # plugins can dump stuff here.
'media_data': dict, # extra data relevant to this media_type
'plugin_data': dict, # plugins can dump stuff here.
'tags': [dict],
'state': unicode,
@ -214,11 +217,17 @@ class MediaEntry(Document):
'created': datetime.datetime.utcnow,
'state': u'unprocessed'}
def get_comments(self):
def get_comments(self, ascending=False):
if ascending:
order = ASCENDING
else:
order = DESCENDING
return self.db.MediaComment.find({
'media_entry': self['_id']}).sort('created', DESCENDING)
'media_entry': self._id}).sort('created', order)
def get_display_media(self, media_map, fetch_order=common.DISPLAY_IMAGE_FETCHING_ORDER):
def get_display_media(self, media_map,
fetch_order=common.DISPLAY_IMAGE_FETCHING_ORDER):
"""
Find the best media for display.
@ -246,7 +255,7 @@ class MediaEntry(Document):
{'slug': self['slug']})
if duplicate:
self['slug'] = "%s-%s" % (self['_id'], self['slug'])
self['slug'] = "%s-%s" % (self._id, self['slug'])
def url_for_self(self, urlgen):
"""
@ -265,13 +274,13 @@ class MediaEntry(Document):
return urlgen(
'mediagoblin.user_pages.media_home',
user=uploader['username'],
media=unicode(self['_id']))
media=unicode(self._id))
def url_to_prev(self, urlgen):
"""
Provide a url to the previous entry from this user, if there is one
"""
cursor = self.db.MediaEntry.find({'_id' : {"$gt": self['_id']},
cursor = self.db.MediaEntry.find({'_id': {"$gt": self._id},
'uploader': self['uploader'],
'state': 'processed'}).sort(
'_id', ASCENDING).limit(1)
@ -284,7 +293,7 @@ class MediaEntry(Document):
"""
Provide a url to the next entry from this user, if there is one
"""
cursor = self.db.MediaEntry.find({'_id' : {"$lt": self['_id']},
cursor = self.db.MediaEntry.find({'_id': {"$lt": self._id},
'uploader': self['uploader'],
'state': 'processed'}).sort(
'_id', DESCENDING).limit(1)
@ -319,6 +328,7 @@ class MediaComment(Document):
"""
__collection__ = 'media_comments'
use_dot_notation = True
structure = {
'media_entry': ObjectId,
@ -351,4 +361,3 @@ def register_models(connection):
Register all models in REGISTER_MODELS with this connection.
"""
connection.register(REGISTER_MODELS)

View File

@ -29,7 +29,7 @@ def connect_database_from_config(app_config, use_pymongo=False):
port = app_config.get('db_port')
if port:
port = asint(port)
if use_pymongo:
connection = pymongo.Connection(
app_config.get('db_host'), port)

View File

@ -118,11 +118,12 @@ def remove_deprecated_indexes(database, deprecated_indexes=DEPRECATED_INDEXES):
#################
# The default migration registry...
#
#
# Don't set this yourself! RegisterMigration will automatically fill
# this with stuff via decorating methods in migrations.py
class MissingCurrentMigration(Exception): pass
class MissingCurrentMigration(Exception):
pass
MIGRATIONS = {}
@ -147,7 +148,7 @@ class RegisterMigration(object):
"""
def __init__(self, migration_number, migration_registry=MIGRATIONS):
assert migration_number > 0, "Migration number must be > 0!"
assert not migration_registry.has_key(migration_number), \
assert migration_number not in migration_registry, \
"Duplicate migration numbers detected! That's not allowed!"
self.migration_number = migration_number

View File

@ -45,7 +45,7 @@ def require_active_login(controller):
return exc.HTTPFound(
location="%s?next=%s" % (
request.urlgen("mediagoblin.auth.login"),
request.path_info))
request.full_path))
return controller(request, *args, **kwargs)
@ -60,7 +60,7 @@ def user_may_delete_media(controller):
uploader = request.db.MediaEntry.find_one(
{'slug': request.matchdict['media'] }).uploader()
if not (request.user['is_admin'] or
request.user['_id'] == uploader['_id']):
request.user._id == uploader._id):
return exc.HTTPForbidden()
return controller(request, *args, **kwargs)
@ -98,7 +98,7 @@ def get_user_media_entry(controller):
media = request.db.MediaEntry.find_one(
{'slug': request.matchdict['media'],
'state': 'processed',
'uploader': user['_id']})
'uploader': user._id})
# no media via slug? Grab it via ObjectId
if not media:
@ -106,7 +106,7 @@ def get_user_media_entry(controller):
media = request.db.MediaEntry.find_one(
{'_id': ObjectId(request.matchdict['media']),
'state': 'processed',
'uploader': user['_id']})
'uploader': user._id})
except InvalidId:
return render_404(request)
@ -118,6 +118,7 @@ def get_user_media_entry(controller):
return _make_safe(wrapper, controller)
def get_media_entry_by_id(controller):
"""
Pass in a MediaEntry based off of a url component
@ -137,4 +138,3 @@ def get_media_entry_by_id(controller):
return controller(request, media=media, *args, **kwargs)
return _make_safe(wrapper, controller)

View File

@ -13,5 +13,3 @@
#
# 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/>.

View File

@ -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

View File

@ -57,7 +57,7 @@ def edit_media(request, media):
existing_user_slug_entries = request.db.MediaEntry.find(
{'slug': request.POST['slug'],
'uploader': media['uploader'],
'_id': {'$ne': media['_id']}}).count()
'_id': {'$ne': media._id}}).count()
if existing_user_slug_entries:
form.slug.errors.append(
@ -78,7 +78,7 @@ def edit_media(request, media):
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,
@ -104,7 +104,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',
secure_filename(request.POST['attachment_file'].filename)])
attachment_public_file = mg_globals.public_store.get_file(
@ -120,7 +120,7 @@ def edit_attachments(request, media):
name=request.POST['attachment_name'] \
or request.POST['attachment_file'].filename,
filepath=attachment_public_filepath,
created=datetime.utcnow()
created=datetime.utcnow(),
))
media.save()
@ -170,7 +170,7 @@ def edit_profile(request):
messages.add_message(request,
messages.SUCCESS,
'Profile edited!')
_("Profile edited!"))
return redirect(request,
'mediagoblin.user_pages.user_home',
user=edit_username)

View File

@ -15,6 +15,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import argparse
import os
from mediagoblin.tools.common import import_component
@ -28,7 +29,7 @@ SUBCOMMAND_MAP = {
'setup': 'mediagoblin.gmg_commands.migrate:migrate_parser_setup',
'func': 'mediagoblin.gmg_commands.migrate:migrate',
'help': 'Apply all unapplied bulk migrations to the database'},
'adduser':{
'adduser': {
'setup': 'mediagoblin.gmg_commands.users:adduser_parser_setup',
'func': 'mediagoblin.gmg_commands.users:adduser',
'help': 'Creates an user'},
@ -58,10 +59,16 @@ SUBCOMMAND_MAP = {
def main_cli():
parser = argparse.ArgumentParser(
description='GNU MediaGoblin utilities.')
parser.add_argument(
'-cf', '--conf_file', default=None,
help=(
"Config file used to set up environment. "
"Default to mediagoblin_local.ini if readable, "
"otherwise mediagoblin.ini"))
subparsers = parser.add_subparsers(help='sub-command help')
for command_name, command_struct in SUBCOMMAND_MAP.iteritems():
if command_struct.has_key('help'):
if 'help' in command_struct:
subparser = subparsers.add_parser(
command_name, help=command_struct['help'])
else:
@ -75,9 +82,15 @@ def main_cli():
subparser.set_defaults(func=exec_func)
args = parser.parse_args()
if args.conf_file is None:
if os.path.exists('mediagoblin_local.ini') \
and os.access('mediagoblin_local.ini', os.R_OK):
args.conf_file = 'mediagoblin_local.ini'
else:
args.conf_file = 'mediagoblin.ini'
args.func(args)
if __name__ == '__main__':
main_cli()

View File

@ -16,7 +16,6 @@
from mediagoblin import mg_globals
from mediagoblin.db.open import setup_connection_and_db_from_config
from mediagoblin.init.config import read_mediagoblin_config
from mediagoblin.storage.filestorage import BasicFileStorage
from mediagoblin.init import setup_storage, setup_global_and_app_config
@ -39,9 +38,6 @@ def import_export_parse_setup(subparser):
# TODO: Add default
subparser.add_argument(
'tar_file')
subparser.add_argument(
'-cf', '--conf_file', default='mediagoblin.ini',
help='Config file used to set up environment')
subparser.add_argument(
'--mongodump_path', default='mongodump',
help='mongodump binary')
@ -91,7 +87,7 @@ def _import_database(db, args):
args.mongorestore_path,
'-d', db.name,
os.path.join(args._cache_path['database'], db.name)])
p.wait()
_log.info('...Database imported')
@ -212,7 +208,7 @@ def _export_media(db, args):
for entry in db.media_entries.find():
for name, path in entry['media_files'].items():
_log.info('Exporting {0} - {1}'.format(
_log.info(u'Exporting {0} - {1}'.format(
entry['title'],
name))
@ -229,7 +225,8 @@ def env_export(args):
'''
if args.cache_path:
if os.path.exists(args.cache_path):
_log.error('The cache directory must not exist before you run this script')
_log.error('The cache directory must not exist '
'before you run this script')
_log.error('Cache directory: {0}'.format(args.cache_path))
return False
@ -245,7 +242,7 @@ def env_export(args):
globa_config, app_config = setup_global_and_app_config(args.conf_file)
setup_storage()
connection, db = setup_connection_and_db_from_config(
app_config, use_pymongo=True)

View File

@ -25,9 +25,7 @@ from mediagoblin.db import migrations
def migrate_parser_setup(subparser):
subparser.add_argument(
'-cf', '--conf_file', default='mediagoblin.ini',
help="Config file used to set up environment")
pass
def _print_started_migration(migration_number, migration_func):
@ -55,13 +53,13 @@ def migrate(args):
for collection, index_name in removed_indexes:
print "Removed index '%s' in collection '%s'" % (
index_name, collection)
# Migrate
print "\n== Applying migrations... =="
migration_manager.migrate_new(
pre_callback=_print_started_migration,
post_callback=_print_finished_migration)
# Add new indexes
print "\n== Adding new indexes... =="
new_indexes = db_util.add_new_indexes(db)

View File

@ -22,9 +22,7 @@ from mediagoblin.gmg_commands import util as commands_util
def shell_parser_setup(subparser):
subparser.add_argument(
'-cf', '--conf_file', default='mediagoblin.ini',
help="Config file used to set up environment")
pass
SHELL_BANNER = """\

View File

@ -29,9 +29,6 @@ def adduser_parser_setup(subparser):
subparser.add_argument(
'email',
help="Email to recieve notifications")
subparser.add_argument(
'-cf', '--conf_file', default='mediagoblin.ini',
help="Config file used to set up environment")
def adduser(args):
@ -41,7 +38,7 @@ def adduser(args):
db = mg_globals.database
users_with_username = \
db.User.find({
'username': args.username.lower()
'username': args.username.lower(),
}).count()
if users_with_username:
@ -64,9 +61,6 @@ def makeadmin_parser_setup(subparser):
subparser.add_argument(
'username',
help="Username to give admin level")
subparser.add_argument(
'-cf', '--conf_file', default='mediagoblin.ini',
help="Config file used to set up environment")
def makeadmin(args):
@ -74,7 +68,7 @@ def makeadmin(args):
db = mg_globals.database
user = db.User.one({'username':unicode(args.username.lower())})
user = db.User.one({'username': unicode(args.username.lower())})
if user:
user['is_admin'] = True
user.save()
@ -90,9 +84,6 @@ def changepw_parser_setup(subparser):
subparser.add_argument(
'password',
help="Your NEW supersecret word to login")
subparser.add_argument(
'-cf', '--conf_file', default='mediagoblin.ini',
help="Config file used to set up environment")
def changepw(args):
@ -100,11 +91,10 @@ def changepw(args):
db = mg_globals.database
user = db.User.one({'username':unicode(args.username.lower())})
user = db.User.one({'username': unicode(args.username.lower())})
if user:
user['pw_hash'] = auth_lib.bcrypt_gen_password_hash(args.password)
user.save()
print 'Password successfully changed'
else:
print 'The user doesn\'t exist'

View File

@ -30,6 +30,10 @@ def wipe(args):
print ""
print "Running this will destroy your mediagoblin database,"
print "remove all your media files in user_dev/, etc."
print ""
print "ALSO: This command is currently a hack and will only remove"
print " things properly on the default setup! If you've customized"
print " your mediagoblin configs, it won't work (for now)."
drop_it = raw_input(
'Are you **SURE** you want to destroy your environment? '
@ -48,4 +52,4 @@ def wipe(args):
print "nixing %s...." % directory
shutil.rmtree(directory)
print "removed all your stuff! okay, now re-run ./bin/buildout"
print "removed all your stuff!"

View File

@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@ -45,19 +45,19 @@ msgstr "اكتبها مرة أخرى هنا للتأكد من عدم وجود أ
msgid "Email address"
msgstr "عنوان البريد الإلكتروني"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "عفوًا، التسجيل غير متاح هنا."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "عذرًا، لقد اختار مستخدم آخر هذا الاسم."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "عفوًا، هذا العنوان البريدي مستخدم."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -65,60 +65,64 @@ msgstr ""
"تم التحقق من بريدك الإلكتروني. يمكنك الآن الولوج، وتحرير ملفك الشخصي، ونشر "
"الصور!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "مفتاح التحقق أو معرف المستخدم خاطئ"
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "أعدنا إرسال رسالة التحقق."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
"تعذر إرسال رسالة استعادة كلمة السر لأن اسم المستخدم معطل أو لأننا لم نتحقق "
"من بريدك الإلكتروني."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "العنوان"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "الوسوم"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr ""
msgstr "المسار"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr ""
msgstr "لا يمكن ترك المسار فارغًا"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
"الجزء الذي يمثل عنوان الملف في المسار. لا حاجة إلى تغيير محتوى هذه الخانة "
"عادةً."
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "السيرة"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "الموقع الإلكتروني"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
msgstr "يوجد ملف آخر بهذا المسار لدى هذى المستخدم."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
msgstr "أنت تحرّر وسائط مستخدم آخر. كن حذرًا أثناء العملية."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr ""
msgstr "أنت تحرّر ملف مستخدم آخر. كن حذرًا أثناء العملية."
#: mediagoblin/process_media/errors.py:44
msgid "Invalid file given for media type."
@ -130,23 +134,23 @@ msgstr "الملف"
#: mediagoblin/submit/forms.py:30
msgid "Description of this work"
msgstr ""
msgstr "وصف هذا العمل."
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "يجب أن تضع ملفًا."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "لا يبدو أن هذا الملف صورة!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "يا سلام! نُشرَت!"
#: mediagoblin/templates/mediagoblin/404.html:21
msgid "Oops!"
msgstr ""
msgstr "ويحي!"
#: mediagoblin/templates/mediagoblin/404.html:24
msgid "There doesn't seem to be a page at this address. Sorry!"
@ -161,7 +165,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:32
msgid "Image of 404 goblin stressing out"
msgstr ""
msgstr "صورة قزم مرتبك"
#: mediagoblin/templates/mediagoblin/base.html:22
msgid "GNU MediaGoblin"
@ -180,8 +184,8 @@ msgid "verify your email!"
msgstr "أكّد بريدك"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "لِج"
@ -246,27 +250,30 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">أنشئ حسابًا مجانيًا</a>\n"
" أو\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">ركّب ميدياغوبلن على خادومك الخاص</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
msgstr "أحدث الوسائط"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
msgstr "أدخل كلمة سرك الجديدة"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
msgstr "أدخل اسم المستخدم أو بريدك الإلكتروني"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
msgstr "لقد غُيرت كلمة سرك. جرّب الولوج الآن."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
msgstr "تفقد بريدك الإلكتروني. لقد أرسلنا رسالة بها وصلة لتغيير كلمة سرك."
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -281,32 +288,39 @@ msgid ""
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
"مرحبًا يا %(username)s،\n"
"\n"
"إن أردت تغيير كلمة سرك في غنو ميدياغوبلن فافتح الوصلة التالية في متصفحك:\n"
"\n"
"%(verification_url)s\n"
"\n"
"إن كنت ترى أن هذه الرسالة وصلتك خطأً فتجاهلها واستمتع بحياتك!"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "فشل الولوج!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "ألا تملك حسابًا بعد؟"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "أنشئ حسابًا هنا!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
msgstr "أنسيت كلمة سرك؟"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
msgstr "غيّرها!"
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "أنشئ حسابًا!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "أنشئ"
@ -355,7 +369,7 @@ msgstr "الوسائط الموسومة ب‍"
msgid "Submit yer media"
msgstr "انشر وسائطك"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "أرسل"
@ -372,11 +386,11 @@ msgstr "عذرًا، تعذر العثور على مستخدم بهذا الاس
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
msgid "Really delete %(title)s?"
msgstr ""
msgstr "أتود حقًا حذف %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50
msgid "Delete Permanently"
msgstr ""
msgstr "احذف نهائيًا"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:22
msgid "Media processing panel"
@ -385,19 +399,19 @@ msgstr "لوحة معالجة الوسائط"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:25
msgid ""
"You can track the state of media being processed for your gallery here."
msgstr ""
msgstr "يمكنك متابعة عملية معالجة وسائط معرضك من هنا."
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:28
msgid "Media in-processing"
msgstr ""
msgstr "توجد وسائط تحت المعالجة"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:46
msgid "No media in-processing"
msgstr ""
msgstr "لا توجد وسائط تحت المعالجة"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:50
msgid "These uploads failed to process:"
msgstr ""
msgstr "فشلت معالجة هذه الملفات:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
@ -452,7 +466,7 @@ msgstr "حرِّر الملف الشخصي"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "This user hasn't filled in their profile (yet)."
msgstr ""
msgstr "لم يعبئ هذا العضو بيانات ملفه بعد."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:122
#, python-format
@ -483,11 +497,11 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/utils/pagination.html:40
msgid "Newer"
msgstr ""
msgstr "الأحدث"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:46
msgid "Older"
msgstr ""
msgstr "الأقدم"
#: mediagoblin/user_pages/forms.py:24
msgid "Comment"
@ -495,10 +509,18 @@ msgstr "علِّق"
#: mediagoblin/user_pages/forms.py:30
msgid "I am sure I want to delete this"
msgstr "أنا متأكد من رغبتي بحذف هذا العمل"
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""
msgstr "أنت على وشك حذف وسائط مستخدم آخر. كن حذرًا أثناء العملية."

Binary file not shown.

View File

@ -0,0 +1,520 @@
# Translations template for PROJECT.
# Copyright (C) 2011 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
# <devaleitzer@aim.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+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"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: mediagoblin/auth/forms.py:25 mediagoblin/auth/forms.py:49
msgid "Username"
msgstr "Nom d'usuari"
#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:53
msgid "Password"
msgstr "Contrasenya"
#: mediagoblin/auth/forms.py:35
msgid "Passwords must match."
msgstr "Les contrasenyes han de coincidir"
#: mediagoblin/auth/forms.py:37
msgid "Confirm password"
msgstr "Confirmeu la contrasenya"
#: mediagoblin/auth/forms.py:39
msgid "Type it again here to make sure there are no spelling mistakes."
msgstr ""
#: mediagoblin/auth/forms.py:42
msgid "Email address"
msgstr "Adreça electrònica"
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Ho sentim, el registre està desactivat en aquest cas."
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Lamentablement aquest usuari ja existeix."
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Disculpeu, aquesta adreça electrònica ja s'està utilitzant."
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
msgstr ""
"Ja s'ha verificat la vostra adreça electrònica. Ara podeu entrar, editar el "
"vostre perfil i penjar imatge!"
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr ""
"La clau de verificació o la identificació de l'usuari no són correctes."
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Torna'm a enviar el correu de verificació"
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Títol"
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Etiquetes"
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr ""
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr ""
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Biografia"
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Lloc web"
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Esteu editant fitxers d'un altre usuari. Aneu amb compte."
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Esteu editant el perfil d'un usuari. Aneu amb compte"
#: mediagoblin/process_media/errors.py:44
msgid "Invalid file given for media type."
msgstr "Aquest tipus de fitxer no és vàlid."
#: mediagoblin/submit/forms.py:25
msgid "File"
msgstr "Fitxer"
#: mediagoblin/submit/forms.py:30
msgid "Description of this work"
msgstr ""
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Heu d'escollir un fitxer."
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "El fitxer no és una imatge"
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Visca! S'ha enviat!"
#: mediagoblin/templates/mediagoblin/404.html:21
msgid "Oops!"
msgstr "Ups!"
#: mediagoblin/templates/mediagoblin/404.html:24
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Sembla que no hi ha cap pàgina en aquesta adreça. Ho sentim."
#: mediagoblin/templates/mediagoblin/404.html:26
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr ""
"Si esteu convençut que l'adreça és correcta, pot ser que la pàgina que "
"cerqueu s'hagi canviat d'ubicació o s'hagi eliminat."
#: mediagoblin/templates/mediagoblin/404.html:32
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:22
msgid "GNU MediaGoblin"
msgstr "GNU MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:47
msgid "MediaGoblin logo"
msgstr "Logo de mediagoblin"
#: mediagoblin/templates/mediagoblin/base.html:52
msgid "Submit media"
msgstr "Envia fitxers"
#: mediagoblin/templates/mediagoblin/base.html:63
msgid "verify your email!"
msgstr "verifiqueu el correu electrònic"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Entra"
#: mediagoblin/templates/mediagoblin/base.html:89
msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
msgstr "Ei, fanàtic multimèdia! MediaGoblin és..."
#: mediagoblin/templates/mediagoblin/root.html:29
msgid "The perfect place for your media!"
msgstr "El lloc fitxer pels teus fitxers!"
#: mediagoblin/templates/mediagoblin/root.html:30
msgid ""
"A place for people to collaborate and show off original and derived "
"creations!"
msgstr ""
"Un lloc en el qual les persones poden col·laborar i mostrar les seves "
"creacions originals o obres derivades."
#: mediagoblin/templates/mediagoblin/root.html:31
msgid ""
"Free, as in freedom. (Were a <a href=\"http://gnu.org\">GNU</a> project, "
"after all.)"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32
msgid ""
"Aiming to make the world a better place through decentralization and "
"(eventually, coming soon!) federation!"
msgstr ""
"Amb l'objectiu de fer del món un lloc millor a través de la "
"descentralització i (eventualment, aviat disponible!) La federació!"
#: mediagoblin/templates/mediagoblin/root.html:33
msgid ""
"Built for extensibility. (Multiple media types coming soon to the software,"
" including video support!)"
msgstr ""
"Construït per l'ampliació. (Múltiples tipus de fitxers en breu amb el "
"programari, incloent el suport de vídeo!)"
#: mediagoblin/templates/mediagoblin/root.html:34
msgid ""
"Powered by people like you. (<a "
"href=\"http://mediagoblin.org/pages/join.html\">You can help us improve this"
" software!</a>)"
msgstr ""
"Desenvolupat per persones com vostè. ( <a "
"href=\"http://mediagoblin.org/pages/join.html\"> Podeu ajudar a millorar "
"aquest programari!</a> )"
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
msgid ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Create a free account</a>\n"
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
msgid ""
"Hi %(username)s,\n"
"\n"
"to change your GNU MediaGoblin password, open the following URL in \n"
"your web browser:\n"
"\n"
"%(verification_url)s\n"
"\n"
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Inici de sessió ha fallat!"
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Encara no teniu un compte?"
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Creeu-ne un aquí!"
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "Creeu un compte!"
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Crea"
#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19
#, python-format
msgid ""
"Hi %(username)s,\n"
"\n"
"to activate your GNU MediaGoblin account, open the following URL in\n"
"your web browser:\n"
"\n"
"%(verification_url)s"
msgstr ""
"Hi %(username)s,\n"
"\n"
"to activate your GNU MediaGoblin account, open the following URL in\n"
"your web browser:\n"
"\n"
"%(verification_url)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:29
#, python-format
msgid "Editing %(media_title)s"
msgstr "Edició %(media_title)s "
#: mediagoblin/templates/mediagoblin/edit/edit.html:36
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Cancel·la"
#: mediagoblin/templates/mediagoblin/edit/edit.html:37
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35
msgid "Save changes"
msgstr "Desa els canvis"
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29
#, python-format
msgid "Editing %(username)s's profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/listings/tag.html:31
msgid "Media tagged with:"
msgstr "Etiquetat amb:"
#: mediagoblin/templates/mediagoblin/submit/start.html:26
msgid "Submit yer media"
msgstr "Envieu els vostres fitxers"
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Envia"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32
#, python-format
msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media"
msgstr "<a href=\"%(user_url)s\">%(username)s</a>'s media"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:52
#: mediagoblin/templates/mediagoblin/user_pages/user.html:32
msgid "Sorry, no such user found."
msgstr "Lamentablement no s'ha trobat l'usuari que cercàveu."
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
msgid "Really delete %(title)s?"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50
msgid "Delete Permanently"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:22
msgid "Media processing panel"
msgstr "Quadre de processament de fitxers"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:25
msgid ""
"You can track the state of media being processed for your gallery here."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:28
msgid "Media in-processing"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:46
msgid "No media in-processing"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:50
msgid "These uploads failed to process:"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
msgid "Email verification needed"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:42
msgid "Almost done! Your account still needs to be activated."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:47
msgid ""
"An email should arrive in a few moments with instructions on how to do so."
msgstr "Us hauria d'arribar un correu amb les instruccions per a fer-ho."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:51
msgid "In case it doesn't:"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:54
msgid "Resend verification email"
msgstr "Torna'm a enviar el correu de verificació"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:62
msgid ""
"Someone has registered an account with this username, but it still has to be"
" activated."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:68
#, python-format
msgid ""
"If you are that person but you've lost your verification email, you can <a "
"href=\"%(login_url)s\">log in</a> and resend it."
msgstr ""
"Si siu aqeust usuari però heu perdut el correu de verificació, podeu <a "
"href=\"%(login_url)s\">entrar</a> i tornar-lo a enviar."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:78
#, python-format
msgid "%(username)s's profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:85
msgid "Here's a spot to tell others about yourself."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:90
#: mediagoblin/templates/mediagoblin/user_pages/user.html:108
msgid "Edit profile"
msgstr "Edita el perfil"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "This user hasn't filled in their profile (yet)."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:122
#, python-format
msgid "View all of %(username)s's media"
msgstr "View all of %(username)s's media"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:135
msgid ""
"This is where your media will appear, but you don't seem to have added "
"anything yet."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:141
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:147
msgid "There doesn't seem to be any media here yet..."
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23
msgid "Atom feed"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/pagination.html:40
msgid "Newer"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/pagination.html:46
msgid "Older"
msgstr ""
#: mediagoblin/user_pages/forms.py:24
msgid "Comment"
msgstr "Comentari"
#: mediagoblin/user_pages/forms.py:30
msgid "I am sure I want to delete this"
msgstr ""
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""

View File

@ -7,6 +7,7 @@
# <cwebber@dustycloud.org>, 2011.
# Elrond <elrond+mediagoblin.org@samba-tng.org>, 2011.
# Jan-Christoph Borchardt <JanCBorchardt@fsfe.org>, 2011.
# <kyoo@kyoo.ch>, 2011.
# <mediagoblin.org@samba-tng.org>, 2011.
# Rafael Maguiña <rafael.maguina@gmail.com>, 2011.
# Vinzenz Vietzke <vinz@fedoraproject.org>, 2011.
@ -14,9 +15,9 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 15:18+0000\n"
"Last-Translator: piratenpanda <benjamin@lebsanft.org>\n"
"Language-Team: German (http://www.transifex.net/projects/p/mediagoblin/team/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -49,19 +50,19 @@ msgstr "Hier nochmal eintragen, um Tippfehler zu verhindern."
msgid "Email address"
msgstr "Email-Adresse"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Registrierung ist auf dieser Instanz leider deaktiviert."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Leider gibt es bereits einen Benutzer mit diesem Namen."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Tut und Leid, aber diese Email-Adresse wird bereits verwendet."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -69,60 +70,62 @@ msgstr ""
"Deine Email-Adresse wurde bestätigt. Du kannst dich nun anmelden, Dein "
"Profil bearbeiten und Bilder hochladen!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "Der Bestätigungssschlüssel oder die Nutzernummer ist falsch."
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Bestätigungs-Email wurde erneut versandt."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
"Konnte Email zur Wiederherstellung des Passworts nicht senden, weil dein "
"Benutzername inaktiv oder deine Email-Adresse noch nicht verifiziert ist."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Titel"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Markierungen"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Kurztitel"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "Bitte gib einen Kurztitel ein"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
"Der Titelteil der Medienadresse. Normalerweise muss hier nichts geändert "
"werden."
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Biographie"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Webseite"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "Diesen Kurztitel hast du bereits vergeben."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Du bearbeitest die Medien eines Anderen. Bitte sei vorsichtig."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Du bearbeitest das Profil eines Anderen. Bitte sei vorsichtig."
@ -138,15 +141,15 @@ msgstr "Datei"
msgid "Description of this work"
msgstr "Beschreibung des Werkes"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Du musst eine Datei angeben."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Diese Datei scheint kein Bild zu sein!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Yeeeaaah! Geschafft!"
@ -187,8 +190,8 @@ msgid "verify your email!"
msgstr "Bitte bestätige deine Email-Adresse!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Anmelden"
@ -202,7 +205,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr ""
msgstr "Entdecke"
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
@ -256,7 +259,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
msgstr "Neugierig dich uns anzuschließen?"
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
@ -265,27 +268,32 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Gratis ein Konto einrichten</a>\n"
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">MediaGoblin auf deinem eigenen Server einrichten</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
msgstr "Neuste Medien"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
msgstr "Neues Passwort eingeben"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
msgstr "Benutzername oder Email-Adresse eingeben"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
msgstr "Dein Passwort wurde geändert. Versuche dich jetzt einzuloggen."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
"Prüfe deinen Posteingang. Wir haben dir eine Email mit einem Link geschickt,"
" mit dem du dein Passwort ändern kannst."
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -300,32 +308,39 @@ msgid ""
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
"Hi %(username)s,\n"
"\n"
"um dein GNU MediaGoblin Passwort zu ändern, öffne folgende URL in deinem Webbrowser:\n"
"\n"
"%(verification_url)s\n"
"\n"
"Wenn du denkst, dass das ein Fehler ist, ignoriere einfach diese Email und bleib ein glücklicher Goblin!"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Anmeldevorgang fehlgeschlagen!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Hast du noch kein Konto?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Registriere dich!"
msgstr "Registriere dich hier!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
msgstr "Passwort vergessen?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
msgstr "Wechsle es!"
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "Neues Konto registrieren!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Registrieren"
@ -363,7 +378,7 @@ msgstr "Änderungen speichern"
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29
#, python-format
msgid "Editing %(username)s's profile"
msgstr "%(username)ss Profil barbeiten"
msgstr "%(username)ss Profil bearbeiten"
#: mediagoblin/templates/mediagoblin/listings/tag.html:31
msgid "Media tagged with:"
@ -373,7 +388,7 @@ msgstr "Medien markiert mit:"
msgid "Submit yer media"
msgstr "Medien hochladen"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Bestätigen"
@ -417,7 +432,7 @@ msgstr "Keine Medien in Bearbeitung"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:50
msgid "These uploads failed to process:"
msgstr "Die folgenden Uploads sind fehlgeschlagen"
msgstr "Die folgenden Uploads sind fehlgeschlagen:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
@ -522,7 +537,15 @@ msgstr "Kommentar"
msgid "I am sure I want to delete this"
msgstr "Ja, wirklich löschen"
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr "Leere Kommentare sind nicht erlaubt."
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr "Kommentar hinzugefügt!"
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Du versuchst Medien eines anderen Nutzers zu löschen. Sei vorsichtig."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\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"
@ -41,75 +41,75 @@ msgstr ""
msgid "Email address"
msgstr ""
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr ""
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr ""
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr ""
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your "
"profile, and submit images!"
msgstr ""
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr ""
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr ""
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or "
"your account's email address has not been verified."
msgstr ""
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr ""
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr ""
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr ""
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr ""
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid "The title part of this media's URL. You usually don't need to change this."
msgstr ""
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr ""
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr ""
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr ""
@ -125,15 +125,15 @@ msgstr ""
msgid "Description of this work"
msgstr ""
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr ""
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr ""
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr ""
@ -172,8 +172,8 @@ msgid "verify your email!"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr ""
@ -245,11 +245,11 @@ msgstr ""
msgid "Most recent media"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
@ -275,23 +275,23 @@ msgid ""
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
@ -299,7 +299,7 @@ msgstr ""
msgid "Create an account!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr ""
@ -342,7 +342,7 @@ msgstr ""
msgid "Submit yer media"
msgstr ""
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr ""
@ -480,7 +480,15 @@ msgstr ""
msgid "I am sure I want to delete this"
msgstr ""
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""

View File

@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@ -45,19 +45,19 @@ msgstr "Retajpu ĝin por certigi, ke ne okazis mistajpoj."
msgid "Email address"
msgstr "Retpoŝtadreso"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Bedaŭrinde, registrado estas malaktivigita en tiu ĉi instalaĵo."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Bedaŭrinde, uzanto kun tiu nomo jam ekzistas."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Tiu retpoŝtadreso jam estas uzata."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -65,60 +65,62 @@ msgstr ""
"Via retpoŝtadreso estas konfirmita. Vi povas nun ensaluti, redakti vian "
"profilon, kaj alŝuti bildojn!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "La kontrol-kodo aŭ la uzantonomo ne estas korekta"
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Resendi vian kontrol-mesaĝon."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
"Ni ne povas sendi pasvortsavan retleteron, ĉar aŭ via konto estas neaktiva, "
"aŭ ĝia retpoŝtadreso ne estis konfirmita."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Titolo"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Etikedoj"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "La distingiga adresparto"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "La distingiga adresparto ne povas esti malplena"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
"La parto de la dosieradreso, bazita sur la dosiertitolo. Ordinare ne necesas"
" ĝin ŝanĝi."
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Bio"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Retejo"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "Ĉi tiu uzanto jam havas dosieron kun tiu distingiga adresparto."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Vi priredaktas dosieron de alia uzanto. Agu singardeme."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Vi redaktas profilon de alia uzanto. Agu singardeme."
@ -134,15 +136,15 @@ msgstr "Dosiero"
msgid "Description of this work"
msgstr "Priskribo de ĉi tiu verko"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Vi devas provizi dosieron."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "La dosiero ŝajnas ne esti bildo!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Hura! Alŝutitas!"
@ -183,8 +185,8 @@ msgid "verify your email!"
msgstr "konfirmu vian retpoŝtadreson! "
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Ensaluti"
@ -250,7 +252,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
msgstr "Ĉu vi deziregas aliĝi nin?"
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
@ -259,27 +261,32 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Kreu senpagan"
" konton</a>⏎ aŭ⏎ <a class=\"header_submit\" "
"href=\"http://wiki.mediagoblin.org/HackingHowto\">Kreu senpagan konton</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr "Plej nove aldonitaj dosieroj"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr "Enigu vian novan pasvorton"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr "Enigu vian salutnomon aŭ retpoŝtadreson"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
msgstr "Via pasvorto estis ŝanĝita. Nun provu ensaluti."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
"Kontrolu vian retleterujon. Ni sendis retleteron kun retadreso por ŝanĝo de "
"via pasvorto."
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -302,23 +309,23 @@ msgstr ""
"\n"
"Se vi pensas, ke ĉi tiu retletero estas sendita erare, simple ignoru ĝin kaj plu restu feliĉa koboldo!"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Ensaluto malsukcesis!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Ĉu ankoraŭ sen konto?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Kreu ĝin ĉi tie!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr "Ĉu vi forgesis vian pasvorton?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr "Ŝanĝu ĝin!"
@ -326,7 +333,7 @@ msgstr "Ŝanĝu ĝin!"
msgid "Create an account!"
msgstr "Kreu konton!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Krei"
@ -374,7 +381,7 @@ msgstr "Dosieroj markitaj per:"
msgid "Submit yer media"
msgstr "Alŝutu vian aŭd-vid-dosieron"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Alŝuti"
@ -522,7 +529,15 @@ msgstr "Komento"
msgid "I am sure I want to delete this"
msgstr "Mi estas certa, ke mi volas forigi ĉi tion"
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Vi estas forigonta dosieron de alia uzanto. Estu singardema."

View File

@ -3,17 +3,19 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
# <deletesoftware@yandex.ru>, 2011.
# <ekenbrand@hotmail.com>, 2011.
# <jacobo@gnu.org>, 2011.
# Javier Di Mauro <javierdimauro@gmail.com>, 2011.
# <juangsub@gmail.com>, 2011.
# <juanma@kde.org.ar>, 2011.
# Mario Rodriguez <msrodriguez00@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/mediagoblin/team/es/)\n"
"MIME-Version: 1.0\n"
@ -25,7 +27,7 @@ msgstr ""
#: mediagoblin/auth/forms.py:25 mediagoblin/auth/forms.py:49
msgid "Username"
msgstr "Nombre de Usuario"
msgstr "Nombre de usuario"
#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:53
msgid "Password"
@ -48,19 +50,19 @@ msgstr ""
msgid "Email address"
msgstr "Dirección de correo electrónico"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Lo sentimos, la registración está deshabilitado en este momento."
msgstr "Lo sentimos, el registro está deshabilitado en este momento."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Lo sentimos, ya existe un usuario con ese nombre."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Lo sentimos, esa dirección de correo electrónico ya ha sido tomada."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -68,16 +70,16 @@ msgstr ""
"Tu dirección de correo electrónico ha sido verificada. ¡Ahora puedes "
"ingresar, editar tu perfil, y enviar imágenes!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr ""
"La clave de verificación o la identificación de usuario son incorrectas"
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Se reenvió tu correo electrónico de verificación."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
@ -86,46 +88,46 @@ msgstr ""
"porque su nombre de usuario está inactivo o la dirección de su cuenta de "
"correo electrónico no ha sido verificada."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Título"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Etiquetas"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Ficha"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "La ficha no puede estar vacía"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
"La parte del título de la URL de este contenido. Normalmente no necesitas "
"cambiar esto."
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Bio"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Sitio web"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "Una entrada con esa ficha ya existe para este usuario."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Estás editando el contenido de otro usuario. Proceder con precaución."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Estás editando un perfil de usuario. Proceder con precaución."
@ -141,15 +143,15 @@ msgstr "Archivo"
msgid "Description of this work"
msgstr "Descripción de esta obra"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Debes proporcionar un archivo."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "¡El archivo no parece ser una imagen!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "¡Woohoo! ¡Enviado!"
@ -187,11 +189,11 @@ msgstr "Enviar contenido"
#: mediagoblin/templates/mediagoblin/base.html:63
msgid "verify your email!"
msgstr "Verifica tu correo electrónico!"
msgstr "¡Verifica tu correo electrónico!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Conectarse"
@ -209,18 +211,18 @@ msgstr "Explorar"
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
msgstr "Hola, amante de los contenidos! MediaGoblin es ..."
msgstr "¡Hola, amante de los contenidos! MediaGoblin es ..."
#: mediagoblin/templates/mediagoblin/root.html:29
msgid "The perfect place for your media!"
msgstr "El lugar ideal para tus contenidos!"
msgstr "¡El lugar ideal para tus contenidos!"
#: mediagoblin/templates/mediagoblin/root.html:30
msgid ""
"A place for people to collaborate and show off original and derived "
"creations!"
msgstr ""
"Un lugar para colaborar y exhibir tus creaciones orignales y derivadas!"
"¡Un lugar para colaborar y exhibir tus creaciones originales y derivadas!"
#: mediagoblin/templates/mediagoblin/root.html:31
msgid ""
@ -243,8 +245,8 @@ msgid ""
"Built for extensibility. (Multiple media types coming soon to the software,"
" including video support!)"
msgstr ""
"Pensado para la ser extensible. (Prontamente soporte para multiples "
"formatos, incluyendo video!)"
"Pensado para ser extensible. (Prontamente soporte para multiples formatos, "
"incluyendo video!)"
#: mediagoblin/templates/mediagoblin/root.html:34
msgid ""
@ -258,7 +260,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr "Te emociona trabajar con nosotros?"
msgstr "Te gustaría unirte a nosotros?"
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
@ -267,27 +269,33 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Crea una "
"cuenta gratuita</a> o <a class=\"header_submit\" "
"href=\"http://wiki.mediagoblin.org/HackingHowto\">Establece MediaGoblin en "
"tu propio servidor</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr "El contenido más reciente"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr "Ingrese su nueva contraseña"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr "Introduzca su nombre de usuario o correo electrónico"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
msgstr "Se cambió tu contraseña. Intenta iniciar sesión ahora."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
"Revisa tu bandeja de entrada. Te enviamos un correo electrónico con una URL "
"para cambiar tu contraseña."
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -302,28 +310,28 @@ msgid ""
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
"Hola %(username)s , para cambiar su contraseña de GNU MediaGoblin, abra lal "
"Hola %(username)s , para cambiar su contraseña de GNU MediaGoblin, abra la "
"siguiente URL en su navegador: %(verification_url)s Si usted piensa que "
"esto es un error, simplemente ignore este mensaje y siga siendo un duende "
"feliz!"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Falló el inicio de sesión!"
msgstr "¡Falló el inicio de sesión!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "¿No tienes una cuenta?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "¡Crea una aquí!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr "¿Olvidaste tu contraseña?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr "Cambiarlo!"
@ -331,7 +339,7 @@ msgstr "Cambiarlo!"
msgid "Create an account!"
msgstr "¡Crea una cuenta!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Crear"
@ -379,7 +387,7 @@ msgstr "Contenido etiquetado con:"
msgid "Submit yer media"
msgstr "Envía tu contenido"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Enviar"
@ -415,7 +423,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:28
msgid "Media in-processing"
msgstr "Contenido siendo procesado"
msgstr "Procesando contenido"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:46
msgid "No media in-processing"
@ -428,7 +436,7 @@ msgstr "Estos archivos no pudieron ser procesados:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
msgid "Email verification needed"
msgstr "Correo electrónico de verificación necesario"
msgstr "Es necesario un correo electrónico de verificación"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:42
msgid "Almost done! Your account still needs to be activated."
@ -455,7 +463,7 @@ msgid ""
" activated."
msgstr ""
"Alguien ya registró una cuenta con ese nombre de usuario, pero todavía no "
"fué activada."
"fue activada."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:68
#, python-format
@ -473,7 +481,7 @@ msgstr "Perfil de %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:85
msgid "Here's a spot to tell others about yourself."
msgstr "Aquí hay un lugar para que le cuentes a los demás sobre tí"
msgstr "Aquí hay un lugar para que le cuentes a los demás sobre tí."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:90
#: mediagoblin/templates/mediagoblin/user_pages/user.html:108
@ -528,7 +536,15 @@ msgstr "Comentario"
msgid "I am sure I want to delete this"
msgstr "Estoy seguro de que quiero borrar esto"
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""
"Estás a punto de eliminar un contenido de otro usuario. Proceder con "

View File

@ -3,6 +3,7 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
# <chesuidayeur@yahoo.fr>, 2011.
# <joehillen@gmail.com>, 2011.
# <marktraceur@gmail.com>, 2011.
# <maxineb@members.fsf.org>, 2011.
@ -12,9 +13,9 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-04 10:05+0000\n"
"Last-Translator: chesuidayeur <chesuidayeur@yahoo.fr>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -42,26 +43,26 @@ msgstr "Confirmer le mot de passe"
#: mediagoblin/auth/forms.py:39
msgid "Type it again here to make sure there are no spelling mistakes."
msgstr ""
"Tapez-le à nouveau ici pour vous assurer qu'il n'ya pas de fautes "
"Tapez-le à nouveau ici pour vous assurer qu'il n'y a pas de fautes "
"d'orthographe."
#: mediagoblin/auth/forms.py:42
msgid "Email address"
msgstr "Adresse e-mail"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "L'inscription n'est pas activée sur ce serveur, désolé."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Un utilisateur existe déjà avec ce nom, désolé."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Désolé, cette adresse courriel a déjà été prise."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -69,60 +70,64 @@ msgstr ""
"Votre adresse e-mail a bien été vérifiée. Vous pouvez maintenant vous "
"identifier, modifier votre profil, et soumettre des images !"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "La clé de vérification ou le nom d'utilisateur est incorrect."
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "E-mail de vérification renvoyé."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
"Impossible d'envoyer un email de récupération de mot de passe : votre compte"
" est inactif ou bien l'email de votre compte n'a pas été vérifiée."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Titre"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Tags"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Légende"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "La légende ne peut pas être laissée vide."
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
"Le nom de ce media dans l'URL. Vous n'avez normalement pas besoin de le "
"changer"
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Bio"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Site web"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "Une entrée existe déjà pour cet utilisateur avec la même légende."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
"Vous vous apprêtez à modifier le média d'un autre utilisateur. Veuillez "
"prendre garde."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr ""
"Vous vous apprêtez à modifier le profil d'un utilisateur. Veuillez prendre "
@ -130,7 +135,7 @@ msgstr ""
#: mediagoblin/process_media/errors.py:44
msgid "Invalid file given for media type."
msgstr "Invalide fichier donné pour le type de média."
msgstr "Le fichier envoyé ne correspond pas au type de média."
#: mediagoblin/submit/forms.py:25
msgid "File"
@ -138,17 +143,17 @@ msgstr "Fichier"
#: mediagoblin/submit/forms.py:30
msgid "Description of this work"
msgstr ""
msgstr "Descriptif pour ce travail"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Il vous faut fournir un fichier."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Ce fichier ne semble pas être une image !"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Youhou, c'est envoyé !"
@ -158,7 +163,7 @@ msgstr "Zut!"
#: mediagoblin/templates/mediagoblin/404.html:24
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Il ne semble pas être une page à cette adresse. Désolé!"
msgstr "Il ne semble pas y avoir de page à cette adresse. Désolé !"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid ""
@ -166,11 +171,11 @@ msgid ""
" been moved or deleted."
msgstr ""
"Si vous êtes sûr que l'adresse est correcte, peut-être la page que vous "
"recherchez a été déplacé ou supprimé."
"recherchez a été déplacée ou supprimée."
#: mediagoblin/templates/mediagoblin/404.html:32
msgid "Image of 404 goblin stressing out"
msgstr "Image de 404 gobelin stresser"
msgstr "Image de 404 gobelin angoissé"
#: mediagoblin/templates/mediagoblin/base.html:22
msgid "GNU MediaGoblin"
@ -189,8 +194,8 @@ msgid "verify your email!"
msgstr "vérifiez votre adresse e-mail !"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "S'identifier"
@ -199,12 +204,12 @@ msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project"
msgstr ""
"Propulsé par <a href=\"http://mediagoblin.org\">MediaGoblin</a> , un <a "
"href=\"http://gnu.org/\">GNU</a> de projet"
"Propulsé par <a href=\"http://mediagoblin.org\">MediaGoblin</a> , un projet "
"<a href=\"http://gnu.org/\">GNU</a>"
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr ""
msgstr "Explorer"
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
@ -219,15 +224,15 @@ msgid ""
"A place for people to collaborate and show off original and derived "
"creations!"
msgstr ""
"Un lieu pour les personnes de collaborer et de montrer des créations "
"originales et dérivées!"
"Un espace de création collaboratif : montrez vos œuvres, originales ou "
"dérivées !"
#: mediagoblin/templates/mediagoblin/root.html:31
msgid ""
"Free, as in freedom. (Were a <a href=\"http://gnu.org\">GNU</a> project, "
"after all.)"
msgstr ""
"Logiciel libre. (Nous sommes une <a href=\"http://gnu.org\">GNU</a> projet, "
"Logiciel libre. (Nous sommes un projet <a href=\"http://gnu.org\">GNU</a> "
"après tout.)"
#: mediagoblin/templates/mediagoblin/root.html:32
@ -235,8 +240,8 @@ msgid ""
"Aiming to make the world a better place through decentralization and "
"(eventually, coming soon!) federation!"
msgstr ""
"Visant à rendre le monde meilleur grâce à la décentralisation et "
"(éventuellement, venir bientôt!) fédération!"
"Une tentative de rendre le monde meilleur grâce à la décentralisation et "
"terme, et pour bientôt !) la fédération !"
#: mediagoblin/templates/mediagoblin/root.html:33
msgid ""
@ -258,7 +263,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
msgstr "Envi de vous joindre à nous ?"
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
@ -267,27 +272,33 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Créez gratuitement en compte</a>\n"
" ou\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Installez MediaGoblin sur votre propre serveur</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
msgstr "Tout derniers media"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
msgstr "Entrez un nouveau mot de passe"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
msgstr "Entrez votre nom d'utilisateur ou votre email"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
"Votre mot de passe a été changé. Essayez maintenant de vous identifier."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
"Verifiez votre boîte de réception. Nous vous avons envoyé un email avec une "
"URL vous permettant de changer votre mot de passe."
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -302,32 +313,41 @@ msgid ""
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
"Bonjour %(username)s,\n"
"\n"
"Pour changer votre mot de passe GNU MediaGoblin, ouvrez l'URL suivante dans \n"
"votre navigateur internet :\n"
"\n"
"%(verification_url)s\n"
"\n"
"Si vous pensez qu'il s'agit d'une erreur, ignorez simplement cet email et restez\n"
"un goblin heureux !"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Connexion a échoué!"
msgstr "La connexion a échoué!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Pas encore de compte?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Créez-en un ici!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
msgstr "Vous avez oublié votre mot de passe ?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
msgstr "Changez-le !"
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "Créer un compte!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Créer"
@ -375,7 +395,7 @@ msgstr "Média comportant les tags suivants :"
msgid "Submit yer media"
msgstr "Soumettez ce média"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Soumettre"
@ -396,7 +416,7 @@ msgstr "Voulez-vous vraiment supprimer %(title)s ?"
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50
msgid "Delete Permanently"
msgstr ""
msgstr "Supprimer définitivement"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:22
msgid "Media processing panel"
@ -419,7 +439,7 @@ msgstr "Aucun média en transformation"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:50
msgid "These uploads failed to process:"
msgstr "Ces ajouts n'etaient pas processé:"
msgstr "Le traitement de ces ajouts a échoué :"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
@ -428,7 +448,7 @@ msgstr "Vérification d'email nécessaire"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:42
msgid "Almost done! Your account still needs to be activated."
msgstr "Presque fini! Votre compte a encore besoin d'être activé."
msgstr "Presque fini ! Votre compte a encore besoin d'être activé."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:47
msgid ""
@ -479,7 +499,7 @@ msgstr "Modifier le profil"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "This user hasn't filled in their profile (yet)."
msgstr "Cet utilisateur n'a pas rempli leur profil (encore)."
msgstr "Cet utilisateur n'a pas (encore) rempli son profil."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:122
#, python-format
@ -491,8 +511,8 @@ msgid ""
"This is where your media will appear, but you don't seem to have added "
"anything yet."
msgstr ""
"C'est là où vos médias apparaît, mais vous ne semblez pas avoir quoi que ce "
"soit encore ajouté."
"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:141
msgid "Add media"
@ -500,11 +520,11 @@ msgstr "Ajouter des médias"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:147
msgid "There doesn't seem to be any media here yet..."
msgstr "Il ne semble pas être un média encore là ..."
msgstr "Il ne semble pas y avoir de média là, pour l'instant ..."
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon"
msgstr "icon de flux"
msgstr "icone de flux"
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23
msgid "Atom feed"
@ -512,11 +532,11 @@ msgstr "flux Atom"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:40
msgid "Newer"
msgstr ""
msgstr "Nouveaux"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:46
msgid "Older"
msgstr ""
msgstr "Anciens"
#: mediagoblin/user_pages/forms.py:24
msgid "Comment"
@ -524,9 +544,17 @@ msgstr "Commentaire"
#: mediagoblin/user_pages/forms.py:30
msgid "I am sure I want to delete this"
msgstr ""
msgstr "Je suis sûr de vouloir supprimer cela"
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr "Les commentaires vides ne sont pas autorisés."
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr "Votre commentaire a été posté !"
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""
"Vous êtes sur le point de supprimer des médias d'un autre utilisateur. "

Binary file not shown.

View File

@ -0,0 +1,498 @@
# Translations template for PROJECT.
# Copyright (C) 2011 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
# Emilio Sepúlveda <djfunkinmixer@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+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"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
"Language: ia\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: mediagoblin/auth/forms.py:25 mediagoblin/auth/forms.py:49
msgid "Username"
msgstr "Nomine de usator"
#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:53
msgid "Password"
msgstr "Contrasigno"
#: mediagoblin/auth/forms.py:35
msgid "Passwords must match."
msgstr ""
#: mediagoblin/auth/forms.py:37
msgid "Confirm password"
msgstr ""
#: mediagoblin/auth/forms.py:39
msgid "Type it again here to make sure there are no spelling mistakes."
msgstr ""
#: mediagoblin/auth/forms.py:42
msgid "Email address"
msgstr "Adresse de e-posta"
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr ""
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr ""
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr ""
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
msgstr ""
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr ""
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr ""
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Titulo"
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr ""
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr ""
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr ""
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr ""
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Sito web"
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr ""
#: mediagoblin/process_media/errors.py:44
msgid "Invalid file given for media type."
msgstr ""
#: mediagoblin/submit/forms.py:25
msgid "File"
msgstr ""
#: mediagoblin/submit/forms.py:30
msgid "Description of this work"
msgstr ""
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr ""
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr ""
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:21
msgid "Oops!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:26
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:32
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:22
msgid "GNU MediaGoblin"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:47
msgid "MediaGoblin logo"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:52
msgid "Submit media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:63
msgid "verify your email!"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Initiar session"
#: mediagoblin/templates/mediagoblin/base.html:89
msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29
msgid "The perfect place for your media!"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:30
msgid ""
"A place for people to collaborate and show off original and derived "
"creations!"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid ""
"Free, as in freedom. (Were a <a href=\"http://gnu.org\">GNU</a> project, "
"after all.)"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32
msgid ""
"Aiming to make the world a better place through decentralization and "
"(eventually, coming soon!) federation!"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:33
msgid ""
"Built for extensibility. (Multiple media types coming soon to the software,"
" including video support!)"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid ""
"Powered by people like you. (<a "
"href=\"http://mediagoblin.org/pages/join.html\">You can help us improve this"
" software!</a>)"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
msgid ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Create a free account</a>\n"
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
msgid ""
"Hi %(username)s,\n"
"\n"
"to change your GNU MediaGoblin password, open the following URL in \n"
"your web browser:\n"
"\n"
"%(verification_url)s\n"
"\n"
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "Crear un conto!"
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19
#, python-format
msgid ""
"Hi %(username)s,\n"
"\n"
"to activate your GNU MediaGoblin account, open the following URL in\n"
"your web browser:\n"
"\n"
"%(verification_url)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:29
#, python-format
msgid "Editing %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:36
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Cancellar"
#: mediagoblin/templates/mediagoblin/edit/edit.html:37
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35
msgid "Save changes"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29
#, python-format
msgid "Editing %(username)s's profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/listings/tag.html:31
msgid "Media tagged with:"
msgstr ""
#: mediagoblin/templates/mediagoblin/submit/start.html:26
msgid "Submit yer media"
msgstr ""
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32
#, python-format
msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:52
#: mediagoblin/templates/mediagoblin/user_pages/user.html:32
msgid "Sorry, no such user found."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
msgid "Really delete %(title)s?"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50
msgid "Delete Permanently"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:22
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:25
msgid ""
"You can track the state of media being processed for your gallery here."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:28
msgid "Media in-processing"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:46
msgid "No media in-processing"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:50
msgid "These uploads failed to process:"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
msgid "Email verification needed"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:42
msgid "Almost done! Your account still needs to be activated."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:47
msgid ""
"An email should arrive in a few moments with instructions on how to do so."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:51
msgid "In case it doesn't:"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:54
msgid "Resend verification email"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:62
msgid ""
"Someone has registered an account with this username, but it still has to be"
" activated."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:68
#, python-format
msgid ""
"If you are that person but you've lost your verification email, you can <a "
"href=\"%(login_url)s\">log in</a> and resend it."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:78
#, python-format
msgid "%(username)s's profile"
msgstr "Profilo de %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:85
msgid "Here's a spot to tell others about yourself."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:90
#: mediagoblin/templates/mediagoblin/user_pages/user.html:108
msgid "Edit profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "This user hasn't filled in their profile (yet)."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:122
#, python-format
msgid "View all of %(username)s's media"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:135
msgid ""
"This is where your media will appear, but you don't seem to have added "
"anything yet."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:141
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:147
msgid "There doesn't seem to be any media here yet..."
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23
msgid "Atom feed"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/pagination.html:40
msgid "Newer"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/pagination.html:46
msgid "Older"
msgstr ""
#: mediagoblin/user_pages/forms.py:24
msgid "Comment"
msgstr "Commento"
#: mediagoblin/user_pages/forms.py:30
msgid "I am sure I want to delete this"
msgstr ""
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@ -43,19 +43,19 @@ msgstr "Scrivilo ancora qui per assicurarti che non ci siano errori"
msgid "Email address"
msgstr "Indirizzo email"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Spiacente, registrazione è disabilitata su questa istanza"
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Spiacente, esiste già un utente con quel nome"
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Spiacente, quell'indirizzo email è già stato preso."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -63,60 +63,60 @@ msgstr ""
"Il tuo indirizzo email è stato verificato. Puoi ora fare login, modificare "
"il tuo profilo, e inserire immagini!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "La chiave di verifica o l'id utente è sbagliato"
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Rispedisci email di verifica"
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Titolo"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Tags"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr ""
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr ""
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Bio"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Sito web"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
"Stai modificando documenti multimediale di un altro utente. Procedi con "
"attenzione."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Stai modificando il profilo di un utente. Procedi con attenzione."
@ -132,15 +132,15 @@ msgstr "Documento"
msgid "Description of this work"
msgstr "Descrizione di questo lavoro"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Devi specificare un documento."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Il documento non sembra essere un'immagine!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Evviva! "
@ -181,8 +181,8 @@ msgid "verify your email!"
msgstr "verifica il tuo indirizzo email!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Accedi"
@ -261,11 +261,11 @@ msgstr ""
msgid "Most recent media"
msgstr "Documenti multimediali più recenti"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr "Inserisci la tua nuova password"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr "Inserisci il tuo nome utente o email"
@ -292,23 +292,23 @@ msgid ""
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Accesso fallito!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Non hai ancora un account?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Creane uno qui!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr "Hai dimenticato la password?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
@ -316,7 +316,7 @@ msgstr ""
msgid "Create an account!"
msgstr "Crea un account!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Crea"
@ -364,7 +364,7 @@ msgstr "Media taggata con:"
msgid "Submit yer media"
msgstr "Inoltra documento multimediale"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Conferma"
@ -511,7 +511,15 @@ msgstr "Commento"
msgid "I am sure I want to delete this"
msgstr "Sono sicuro di volerlo cancellare"
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""
"Stai cancellando un documento multimediale di un altro utente. Procedi con "

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@ -43,76 +43,76 @@ msgstr ""
msgid "Email address"
msgstr "メールアドレス"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "申し訳ありませんが、このインスタンスで登録は無効になっています。"
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "申し訳ありませんが、その名前を持つユーザーがすでに存在しています。"
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr ""
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
msgstr "メアドが確認されています。これで、ログインしてプロファイルを編集し、画像を提出することができます!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "検証キーまたはユーザーIDが間違っています"
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "検証メールを再送しました。"
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "タイトル"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "タグ"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "スラグ"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "スラグは必要です。"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "自己紹介"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "URL"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "そのスラグを持つエントリは、このユーザーは既に存在します。"
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "あなたは、他のユーザーのメディアを編集しています。ご注意ください。"
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "あなたは、他のユーザーのプロファイルを編集しています。ご注意ください。"
@ -128,15 +128,15 @@ msgstr "ファイル"
msgid "Description of this work"
msgstr ""
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "ファイルを提供する必要があります。"
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "ファイルが画像ではないようです!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "投稿終了!"
@ -175,8 +175,8 @@ msgid "verify your email!"
msgstr "メアドを確認してください!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "ログイン"
@ -245,11 +245,11 @@ msgstr ""
msgid "Most recent media"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
@ -276,23 +276,23 @@ msgid ""
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "まだアカウントを持っていませんか?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "ここで作成!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
@ -300,7 +300,7 @@ msgstr ""
msgid "Create an account!"
msgstr "アカウントを作成!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr ""
@ -348,7 +348,7 @@ msgstr "タグ付けされたコンテンツ:"
msgid "Submit yer media"
msgstr "コンテンツを投稿"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "送信"
@ -488,7 +488,15 @@ msgstr ""
msgid "I am sure I want to delete this"
msgstr ""
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@ -43,19 +43,19 @@ msgstr ""
msgid "Email address"
msgstr "E-mail adres"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Sorry, registratie is uitgeschakeld op deze instantie."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Sorry, er bestaat al een gebruiker met die naam."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Sorry, dat e-mailadres is al ingenomen."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -63,60 +63,60 @@ msgstr ""
"Uw e-mailadres is geverifieerd. U kunt nu inloggen, uw profiel bewerken, en "
"afbeeldingen toevoegen!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "De verificatie sleutel of gebruikers-ID is onjuist"
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Verificatie e-mail opnieuw opgestuurd."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Titel"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Etiket"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr ""
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr ""
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Bio"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Website"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
"U bent de media van een andere gebruiker aan het aanpassen. Ga voorzichtig "
"te werk."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr ""
"U bent een gebruikersprofiel aan het aanpassen. Ga voorzichtig te werk."
@ -133,15 +133,15 @@ msgstr "Bestand"
msgid "Description of this work"
msgstr ""
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "U moet een bestand aangeven."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Het lijkt erop dat dit bestand geen afbeelding is!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Mooizo! Toegevoegd!"
@ -180,8 +180,8 @@ msgid "verify your email!"
msgstr "Controleer uw e-mail!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Inloggen"
@ -250,11 +250,11 @@ msgstr ""
msgid "Most recent media"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
@ -281,23 +281,23 @@ msgid ""
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Heeft u nog geen account?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Maak er hier een!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
@ -305,7 +305,7 @@ msgstr ""
msgid "Create an account!"
msgstr "Maak een account aan!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr ""
@ -350,7 +350,7 @@ msgstr "Media met het etiket:"
msgid "Submit yer media"
msgstr "Voeg media toe"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Voeg toe"
@ -494,7 +494,15 @@ msgstr "Commentaar"
msgid "I am sure I want to delete this"
msgstr ""
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@ -37,86 +37,87 @@ msgstr "Gjenta passord"
#: mediagoblin/auth/forms.py:39
msgid "Type it again here to make sure there are no spelling mistakes."
msgstr ""
msgstr "Skriv passordet omatt for å unngå stavefeil."
#: mediagoblin/auth/forms.py:42
msgid "Email address"
msgstr "E-postadresse"
msgstr "Epost"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Registrering er slege av. Orsak."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Ein konto med dette brukarnamnet finst allereide."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Den epostadressa er allereide teken."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
msgstr ""
"E-postadressa di, og dimed kontoen din er stadfesta. Du kan no logga inn, "
"endra profilen din og lasta opp filer."
"Kontoen din er stadfesta. Du kan no logga inn, endra profilen din og lasta "
"opp filer."
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "Stadfestingsnykelen eller brukar-ID-en din er feil."
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Send ein ny stadfestingsepost."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
"Kunne ikkje senda epost. Brukarnamnet ditt er inaktivt eller uverifisert."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Tittel"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Merkelappar"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Adressetittel"
msgstr "Nettnamn"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "Adressetittelen kan ikkje vera tom"
msgstr "Nettnamnet kan ikkje vera tomt"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
msgstr "Nettnamnet (adressetittel) for mediefila di. Trengst ikkje endrast."
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Presentasjon"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Heimeside"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "Eit innlegg med denne adressetittelen finst allereie."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Ver forsiktig, du redigerer ein annan konto sitt innlegg."
msgstr "Trå varsamt, du endrar nokon andre sine mediefiler."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Ver forsiktig, du redigerer ein annan konto sin profil."
msgstr "Trå varsamt, du endrar nokon andre sin profil."
#: mediagoblin/process_media/errors.py:44
msgid "Invalid file given for media type."
@ -128,17 +129,17 @@ msgstr "Fil"
#: mediagoblin/submit/forms.py:30
msgid "Description of this work"
msgstr ""
msgstr "Skildring av mediefila"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Du må velja ei fil."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Fila verkar ikkje å vera ei gyldig biletefil."
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Johoo! Opplasta!"
@ -148,18 +149,19 @@ msgstr "Oops."
#: mediagoblin/templates/mediagoblin/404.html:24
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Det ser ikkje ut til å vera noko her..."
msgstr "Det ser ikkje ut til å vera noko her... Orsak."
#: mediagoblin/templates/mediagoblin/404.html:26
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr ""
"Er du sikker på at adressa er korrekt, så er ho truleg flytta eller sletta."
"Er du sikker på at adressa er korrekt, so er sida truleg flytta eller "
"sletta."
#: mediagoblin/templates/mediagoblin/404.html:32
msgid "Image of 404 goblin stressing out"
msgstr "Bilete av stressa 404-troll."
msgstr "Bilete av stressa 404-tusse."
#: mediagoblin/templates/mediagoblin/base.html:22
msgid "GNU MediaGoblin"
@ -178,8 +180,8 @@ msgid "verify your email!"
msgstr "Stadfest epostadressa di"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Logg inn"
@ -188,10 +190,12 @@ msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project"
msgstr ""
"Drive av <a href=\"http://mediagoblin.org\">MediaGoblin</a>, eit <a "
"href=\"http://gnu.org/\">GNU</a>-prosjekt"
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr ""
msgstr "Utforsk"
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
@ -220,8 +224,9 @@ msgid ""
"Aiming to make the world a better place through decentralization and "
"(eventually, coming soon!) federation!"
msgstr ""
"Arbeidar for å gjera verda ein betre stad gjennom desentralisering (til "
"slutt, kjem snart!) federering."
"Arbeidar for å gjera verda ein betre stad gjennom desentralisering og (til "
"slutt, kjem snart!) federering, enkelt forklart deling og sending av "
"mediefiler og kommentarar over fleire nettstader."
#: mediagoblin/templates/mediagoblin/root.html:33
msgid ""
@ -241,7 +246,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
msgstr "Lyst til å bli med oss?"
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
@ -250,27 +255,33 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Opprett ein "
"gratis konto</a> eller <a class=\"header_submit\" "
"href=\"http://wiki.mediagoblin.org/HackingHowto\">installer MediaGoblin på "
"eigen tenar</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
msgstr "Nyaste mediefiler"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
msgstr "Fyll inn passord"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
msgstr "Fyll inn brukarnamn eller epost"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
msgstr "Passordet endra. Prøv å logga inn no."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
"Sjekk innboksen din. Me har sendt deg ein epost med ei netadresse for "
"passordendring."
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -285,32 +296,39 @@ msgid ""
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
"Hei %(username)s,\n"
"\n"
"for å endra MediaGoblin-passordet ditt, opna fylgjande URL i ein netlesar:\n"
"\n"
" <%(verification_url)s>\n"
"\n"
"Dersom du mistenkjer dette er eit misstak, ignorer eposten og hald fram med å vera ein glad goblin!"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Innlogging feila"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Har du ingen konto?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Lag ein!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
msgstr "Gløymd passordet?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
msgstr "Endra"
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "Lag ein konto."
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Opprett"
@ -326,19 +344,19 @@ msgid ""
msgstr ""
"Hei %(username)s,\n"
"\n"
"opna den følgjande adressa i netlesaren din for å aktivera kontoen din:\n"
"opna fylgjande netadresse i netlesaren din for å aktivera kontoen din:\n"
"\n"
"%(verification_url)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:29
#, python-format
msgid "Editing %(media_title)s"
msgstr "Redigerer %(media_title)s"
msgstr "Endrar %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:36
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Avbryt"
msgstr "Bryt av"
#: mediagoblin/templates/mediagoblin/edit/edit.html:37
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35
@ -348,7 +366,7 @@ msgstr "Lagra"
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29
#, python-format
msgid "Editing %(username)s's profile"
msgstr "Redigerar profilen til %(username)s"
msgstr "Endrar profilen til %(username)s"
#: mediagoblin/templates/mediagoblin/listings/tag.html:31
msgid "Media tagged with:"
@ -358,14 +376,14 @@ msgstr "Merkelappar:"
msgid "Submit yer media"
msgstr "Last opp"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Send"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32
#, python-format
msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media"
msgstr "<a href=\"%(user_url)s\">%(username)s</a> sin mediafiler"
msgstr "<a href=\"%(user_url)s\">%(username)s</a> sine mediefiler"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:52
#: mediagoblin/templates/mediagoblin/user_pages/user.html:32
@ -375,11 +393,11 @@ msgstr "Fann ingen slik brukar"
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
msgid "Really delete %(title)s?"
msgstr ""
msgstr "Vil du verkeleg sletta %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50
msgid "Delete Permanently"
msgstr ""
msgstr "Slett permament"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:22
msgid "Media processing panel"
@ -400,7 +418,7 @@ msgstr "Ingen media under handsaming"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:50
msgid "These uploads failed to process:"
msgstr "Klarte ikkje handsame desse opplasta filene:"
msgstr "Klarte ikkje handsama desse opplasta filene:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
@ -460,21 +478,21 @@ msgstr "Brukaren har ikkje fylt ut profilen sin (enno)."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:122
#, python-format
msgid "View all of %(username)s's media"
msgstr "Sjå all media frå %(username)s"
msgstr "Sjå alle %(username)s sine mediefiler"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:135
msgid ""
"This is where your media will appear, but you don't seem to have added "
"anything yet."
msgstr "Her kjem mediet ditt. Ser ikkje ut til at du har lagt til noko."
msgstr "Her kjem mediefilene dine. Ser ikkje ut til at du har lagt til noko."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:141
msgid "Add media"
msgstr "Legg til media"
msgstr "Legg til mediefiler"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:147
msgid "There doesn't seem to be any media here yet..."
msgstr "Ser ikkje ut til at det finst noko media her nett no."
msgstr "Ser ikkje ut til at det finst nokon mediefiler her nett no."
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon"
@ -486,11 +504,11 @@ msgstr "Atom-kjelde"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:40
msgid "Newer"
msgstr ""
msgstr "Nyare"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:46
msgid "Older"
msgstr ""
msgstr "Eldre"
#: mediagoblin/user_pages/forms.py:24
msgid "Comment"
@ -498,10 +516,19 @@ msgstr "Innspel"
#: mediagoblin/user_pages/forms.py:30
msgid "I am sure I want to delete this"
msgstr "Eg er sikker eg vil sletta dette"
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""
"Du er i ferd med å sletta ein annan brukar sine mediefiler. Trå varsamt."

View File

@ -4,12 +4,13 @@
#
# Translators:
# <snd.noise@gmail.com>, 2011.
# ufa <ufa@technotroll.org>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Portuguese (Brazilian) (http://www.transifex.net/projects/p/mediagoblin/team/pt_BR/)\n"
"MIME-Version: 1.0\n"
@ -38,24 +39,25 @@ msgstr "Confirmar senha"
#: mediagoblin/auth/forms.py:39
msgid "Type it again here to make sure there are no spelling mistakes."
msgstr ""
"Digite novamente aqui para ter certeza que não houve erros de digitação"
#: mediagoblin/auth/forms.py:42
msgid "Email address"
msgstr "Endereço de email"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Desculpa, o registro está desativado neste momento."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Desculpe, um usuário com este nome já existe."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr ""
msgstr "Desculpe, esse endereço de email já está em uso."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -63,64 +65,67 @@ msgstr ""
"O seu endereço de e-mail foi verificado. Você pode agora fazer login, editar"
" seu perfil, e enviar imagens!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "A chave de verificação ou nome usuário estão incorretos."
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "O email de verificação foi reenviado."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
"Não foi possível enviar o email de recuperação de senha, pois seu nome de "
"usuário está inativo ou o email da sua conta não foi confirmado."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Título"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Tags"
msgstr "Etiquetas"
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Arquivo"
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "O arquivo não pode estar vazio"
#: mediagoblin/edit/forms.py:33
msgid "Slug"
msgstr ""
#: mediagoblin/edit/forms.py:34
msgid "The slug can't be empty"
msgstr ""
#: mediagoblin/edit/forms.py:35
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
"A parte título da URL dessa mídia. Geralmente não é necessário alterar isso."
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Biográfia"
msgstr "Biografia"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Website"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
msgstr "Uma entrada com esse arquivo já existe para esse usuário"
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
msgstr "Você está editando a mídia de outro usuário. Tenha cuidado."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr ""
msgstr "Você está editando um perfil de usuário. Tenha cuidado."
#: mediagoblin/process_media/errors.py:44
msgid "Invalid file given for media type."
msgstr ""
msgstr "Arquivo inválido para esse tipo de mídia"
#: mediagoblin/submit/forms.py:25
msgid "File"
@ -128,37 +133,39 @@ msgstr "Arquivo"
#: mediagoblin/submit/forms.py:30
msgid "Description of this work"
msgstr ""
msgstr "Descrição desse trabalho"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Você deve fornecer um arquivo."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "O arquivo não parece ser uma imagem!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Eba! Enviado!"
#: mediagoblin/templates/mediagoblin/404.html:21
msgid "Oops!"
msgstr ""
msgstr "Oops"
#: mediagoblin/templates/mediagoblin/404.html:24
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
msgstr "Aparentemente não existe uma página com esse endereço. Desculpe!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr ""
"Se você está certo de que o endereço está correto, talvez a página que "
"esteja procurando tenha sido apagada ou mudou de endereço"
#: mediagoblin/templates/mediagoblin/404.html:32
msgid "Image of 404 goblin stressing out"
msgstr ""
msgstr "Imagem do goblin 404 aparecendo"
#: mediagoblin/templates/mediagoblin/base.html:22
msgid "GNU MediaGoblin"
@ -166,7 +173,7 @@ msgstr "GNU MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:47
msgid "MediaGoblin logo"
msgstr ""
msgstr "Logo MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:52
msgid "Submit media"
@ -177,8 +184,8 @@ msgid "verify your email!"
msgstr "Verifique seu email!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Entrar"
@ -187,42 +194,52 @@ msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project"
msgstr ""
"Desenvolvido por <a href=\"http://mediagoblin.org\">MediaGoblin</a>, um "
"projeto <a href=\"http://gnu.org/\">GNU</a>"
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr ""
msgstr "Explorar"
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
msgstr ""
msgstr "Olá amante de mídias. MediaGoblin é..."
#: mediagoblin/templates/mediagoblin/root.html:29
msgid "The perfect place for your media!"
msgstr ""
msgstr "O lugar perfeito para sua mídia!"
#: mediagoblin/templates/mediagoblin/root.html:30
msgid ""
"A place for people to collaborate and show off original and derived "
"creations!"
msgstr ""
"Um lugar para as pessoas colaborarem e mostrarem suas criações originais e "
"derivadas!"
#: mediagoblin/templates/mediagoblin/root.html:31
msgid ""
"Free, as in freedom. (Were a <a href=\"http://gnu.org\">GNU</a> project, "
"after all.)"
msgstr ""
"Livre como a liberdade. (Afinal, somos um projeto <a "
"href=\"http://gnu.org\">GNU</a>)"
#: mediagoblin/templates/mediagoblin/root.html:32
msgid ""
"Aiming to make the world a better place through decentralization and "
"(eventually, coming soon!) federation!"
msgstr ""
"Com o objetivo de fazer um mundo melhor através da descentralização e "
"(eventualmente, em breve) federação!"
#: mediagoblin/templates/mediagoblin/root.html:33
msgid ""
"Built for extensibility. (Multiple media types coming soon to the software,"
" including video support!)"
msgstr ""
"Construído para extensibilidade. (Múltiplos tipos de mídia em breve, "
"incluindo suporte a vídeo) "
#: mediagoblin/templates/mediagoblin/root.html:34
msgid ""
@ -230,10 +247,13 @@ msgid ""
"href=\"http://mediagoblin.org/pages/join.html\">You can help us improve this"
" software!</a>)"
msgstr ""
"Desenvolvido por pessoas como você. (<a "
"href=\"http://mediagoblin.org/pages/join.html\">Você pode ajudar a melhorar "
"esse software</a>)"
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
msgstr "Animado para juntar-se a nós?"
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
@ -242,27 +262,32 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\"> Crie uma conta grátis </a>\n"
" ou <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Configure seu próprio servidor MediaGoblin</a>\n"
" "
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
msgstr "Mídia mais recente"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
msgstr "Digite sua nova senha"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
msgstr "Digite seu nome de usuário ou email"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
msgstr "Sua senha foi alterada. Tente entrar agora."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
"Verifique sua caixa de entrada. Mandamos um email com a URL para troca da "
"senha"
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -277,34 +302,42 @@ msgid ""
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
"Olá %(username)s,\n"
"\n"
"para alterar sua senha do GNU MediaGoblin, abra a seguinte URL\n"
"no seu navegador web:\n"
"\n"
"%(verification_url)s\n"
"\n"
"Se você acha que isso é um erro, desconsidere esse email e continue sendo um goblin feliz"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr ""
msgstr "Autenticação falhou"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Ainda não tem conta?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Crie uma aqui!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
msgstr "Esqueceu sua senha?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
msgstr "Altere-a"
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "Criar uma conta!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr ""
msgstr "Criar"
#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19
#, python-format
@ -344,69 +377,70 @@ msgstr "Editando perfil de %(username)s"
#: mediagoblin/templates/mediagoblin/listings/tag.html:31
msgid "Media tagged with:"
msgstr ""
msgstr "Mídia marcada como:"
#: mediagoblin/templates/mediagoblin/submit/start.html:26
msgid "Submit yer media"
msgstr "Envie sua mídia"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Enviar"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32
#, python-format
msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media"
msgstr ""
msgstr "Mídia de <a href=\"%(user_url)s\"> %(username)s </a> "
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:52
#: mediagoblin/templates/mediagoblin/user_pages/user.html:32
msgid "Sorry, no such user found."
msgstr "Desculpe, tal usuário não encontrado."
msgstr "Desculpe, esse usuário não foi encontrado."
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
msgid "Really delete %(title)s?"
msgstr ""
msgstr "Realmente apagar %(title)s ?"
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50
msgid "Delete Permanently"
msgstr ""
msgstr "Apagar permanentemente"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:22
msgid "Media processing panel"
msgstr ""
msgstr "Painel de processamento de mídia"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:25
msgid ""
"You can track the state of media being processed for your gallery here."
msgstr ""
"Você pode verificar como a mídia esta sendo processada para sua galeria aqui"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:28
msgid "Media in-processing"
msgstr ""
msgstr "Mídia em processo"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:46
msgid "No media in-processing"
msgstr ""
msgstr "Nenhuma mídia em processo"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:50
msgid "These uploads failed to process:"
msgstr ""
msgstr "Esses envios não foram processados:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
msgid "Email verification needed"
msgstr ""
msgstr "Verificação de email necessária"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:42
msgid "Almost done! Your account still needs to be activated."
msgstr ""
msgstr "Quase pronto! Sua conta ainda precisa ser ativada"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:47
msgid ""
"An email should arrive in a few moments with instructions on how to do so."
msgstr "Receberá um email com instruções de como fazer."
msgstr "Um email deve chegar em instantes com instruções de como fazê-lo."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:51
msgid "In case it doesn't:"
@ -421,6 +455,8 @@ msgid ""
"Someone has registered an account with this username, but it still has to be"
" activated."
msgstr ""
"Alguém registrou uma conta com esse nome de usuário, mas ainda precisa ser "
"ativada."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:68
#, python-format
@ -438,7 +474,7 @@ msgstr "Perfil de %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:85
msgid "Here's a spot to tell others about yourself."
msgstr ""
msgstr "Aqui é o lugar onde você fala de si para os outros."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:90
#: mediagoblin/templates/mediagoblin/user_pages/user.html:108
@ -447,53 +483,63 @@ msgstr "Editar perfil"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "This user hasn't filled in their profile (yet)."
msgstr ""
msgstr "Esse usuário não preencheu seu perfil (ainda)."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:122
#, python-format
msgid "View all of %(username)s's media"
msgstr ""
msgstr "Ver todas as mídias de %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:135
msgid ""
"This is where your media will appear, but you don't seem to have added "
"anything yet."
msgstr ""
"Aqui é onde sua mídia vai aparecer, mas parece que você não adicionou nada "
"ainda."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:141
msgid "Add media"
msgstr ""
msgstr "Adicionar mídia"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:147
msgid "There doesn't seem to be any media here yet..."
msgstr ""
msgstr "Aparentemente não há nenhuma mídia aqui ainda..."
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon"
msgstr ""
msgstr "ícone feed"
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23
msgid "Atom feed"
msgstr ""
msgstr "Atom feed"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:40
msgid "Newer"
msgstr ""
msgstr "Mais novo"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:46
msgid "Older"
msgstr ""
msgstr "Mais velho"
#: mediagoblin/user_pages/forms.py:24
msgid "Comment"
msgstr ""
msgstr "Comentário"
#: mediagoblin/user_pages/forms.py:30
msgid "I am sure I want to delete this"
msgstr "Eu tenho certeza de que quero pagar isso"
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""
msgstr "Você vai apagar uma mídia de outro usuário. Tenha cuidado."

View File

@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 20:49+0000\n"
"Last-Translator: gap <gapop@hotmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -43,19 +43,19 @@ msgstr "Introdu parola din nou pentru verificare."
msgid "Email address"
msgstr "Adresa de e-mail"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Ne pare rău, dar înscrierile sunt dezactivate pe acest server."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Ne pare rău, există deja un utilizator cu același nume."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Ne pare rău, această adresă de e-mail este deja rezervată."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -63,15 +63,15 @@ msgstr ""
"Adresa ta de e-mail a fost confirmată. Poți să te autentifici, să îți "
"completezi profilul și să trimiți imagini!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "Cheie de verificare sau user ID incorect."
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "E-mail-ul de verificare a fost retrimis."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
@ -79,47 +79,47 @@ msgstr ""
"E-mailul pentru recuperarea parolei nu a putut fi trimis deoarece contul tău"
" e inactiv sau adresa ta de e-mail nu a fost confirmată."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Titlu"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Etichete"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Identificator"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "Identificatorul nu poate să lipsească"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
"Partea din adresa acestui fișier corespunzătoare titlului. De regulă nu "
"trebuie modificată."
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Biografie"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Sit Web"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
"Există deja un entry cu același identificator pentru acest utilizator."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Editezi fișierul unui alt utilizator. Se recomandă prudență."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Editezi profilul unui utilizator. Se recomandă prudență."
@ -135,15 +135,15 @@ msgstr "Fișier"
msgid "Description of this work"
msgstr "Descrierea acestui fișier"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Trebuie să selectezi un fișier."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Fișierul nu pare a fi o imagine!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Gata, trimis!"
@ -160,8 +160,8 @@ msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr ""
"Dacă ești sigur că adresa este corectă, poate că pagina pe care o cauți a "
"fost mutată sau ștearsă."
"Dacă ești sigur că adresa e corectă, poate că pagina pe care o cauți a fost "
"mutată sau ștearsă."
#: mediagoblin/templates/mediagoblin/404.html:32
msgid "Image of 404 goblin stressing out"
@ -184,8 +184,8 @@ msgid "verify your email!"
msgstr "verifică e-mail-ul!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Autentificare"
@ -261,27 +261,32 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Creează gratuit un cont</a>\n"
" sau\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">instalează MediaGoblin pe serverul tău</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr "Cele mai recente fișiere"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr "Introdu noua parolă"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr "Introdu numele de utilizator sau adresa de e-mail"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
msgstr "Parola a fost schimbată. Încearcă să te autentifici acum."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
"Verifică-ți căsuța de e-mail. Ți-am trimis un mesaj cu link-ul pentru "
"schimbarea parolei."
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -298,29 +303,29 @@ msgid ""
msgstr ""
"Bună, %(username)s\n"
"\n"
"Pentru a modifica parola ta la GNU MediaGoblin, accesează adresa următoare:\n"
"Pentru a schimba parola ta la GNU MediaGoblin, accesează adresa următoare:\n"
"\n"
"%(verification_url)s\n"
"\n"
"Dacă ai primit acest mesaj din greșeală, ignoră-l și fii mai departe un elf fericit!"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Autentificare eșuată!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Nu ai un cont?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Creează-l aici!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr "Ai uitat parola?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr "Schimb-o!"
@ -328,7 +333,7 @@ msgstr "Schimb-o!"
msgid "Create an account!"
msgstr "Creează un cont!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Creează"
@ -376,7 +381,7 @@ msgstr "Etichete:"
msgid "Submit yer media"
msgstr "Trimite fișierele tale media"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Trimite"
@ -432,11 +437,11 @@ msgstr "Aproape gata! Mai trebuie doar să activezi contul."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:47
msgid ""
"An email should arrive in a few moments with instructions on how to do so."
msgstr "Vei primi în scurt timp un mesaj prin e-mail cu instrucțiuni."
msgstr "Vei primi în scurt timp un e-mail cu instrucțiuni."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:51
msgid "In case it doesn't:"
msgstr "Dacă nu primești mesajul:"
msgstr "Dacă nu-l primești:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:54
msgid "Resend verification email"
@ -522,7 +527,15 @@ msgstr "Scrie un comentariu"
msgid "I am sure I want to delete this"
msgstr "Sunt sigur că doresc să șterg"
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr "Comentariul trebuie să aibă un conținut."
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr "Comentariul a fost transmis."
#: mediagoblin/user_pages/views.py:181
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ă "

View File

@ -8,9 +8,9 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-04 11:13+0000\n"
"Last-Translator: aleksejrs <deletesoftware@yandex.ru>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -43,19 +43,19 @@ msgstr "Наберите его ещё раз здесь, чтобы избеж
msgid "Email address"
msgstr "Адрес электронной почты"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Извините, на этом разделе регистрация запрещена."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Извините, пользователь с этим именем уже зарегистрирован."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Извините, этот адрес электронной почты уже занят."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -63,61 +63,64 @@ msgstr ""
"Адрес вашей электронной потвержден. Вы теперь можете войти и начать "
"редактировать свой профиль и загружать новые изображения!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "Неверный ключ проверки или идентификатор пользователя"
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Переслать сообщение с подтверждением аккаунта."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
"Мы не можем отправить сообщение для восстановления пароля, потому что ваша "
"учётная запись неактивна, либо указанный в ней адрес электронной почты не "
"был подтверждён."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Название"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Метки"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Отличительная часть адреса"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "Отличительная часть адреса необходима"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
"Часть адреса этого файла, производная от его названия. Её обычно не нужно "
"изменять."
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Биография"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Сайт"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
"У этого пользователя уже есть файл с такой отличительной частью адреса."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Вы редактируете файлы другого пользователя. Будьте осторожны."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Вы редактируете профиль пользователя. Будьте осторожны."
@ -133,15 +136,15 @@ msgstr "Файл"
msgid "Description of this work"
msgstr "Описание этого произведения"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Вы должны загрузить файл."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Файл, похоже, не является картинкой!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Ура! Файл загружен!"
@ -180,8 +183,8 @@ msgid "verify your email!"
msgstr "подтвердите ваш адрес электронной почты!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Войти"
@ -190,6 +193,8 @@ 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/root.html:24
msgid "Explore"
@ -259,11 +264,11 @@ msgstr ""
msgid "Most recent media"
msgstr "Самые новые файлы"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr "Введите свой новый пароль"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr "Введите Ваше имя пользователя или адрес электронной почты"
@ -290,23 +295,23 @@ msgid ""
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Авторизация неуспешна!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Ещё нету аккаунта?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Создайте здесь!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr "Забыли свой пароль?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr "Смените его!"
@ -314,7 +319,7 @@ msgstr "Смените его!"
msgid "Create an account!"
msgstr "Создать аккаунт!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Создать"
@ -362,7 +367,7 @@ msgstr "Файлы с меткой:"
msgid "Submit yer media"
msgstr "Загрузить файл(ы)"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Подтвердить"
@ -429,7 +434,8 @@ msgstr "А если нет, то:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:54
msgid "Resend verification email"
msgstr "Повторно отправить подверждение на адрес электронной почты"
msgstr ""
"Повторно отправить сообщение для подверждения адреса электронной почты"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:62
msgid ""
@ -507,7 +513,15 @@ msgstr "Комментарий"
msgid "I am sure I want to delete this"
msgstr "Я уверен, что хочу удалить это"
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr "Empty comments are not allowed."
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Вы на пороге удаления файла другого пользователя. Будьте осторожны."

Binary file not shown.

View File

@ -0,0 +1,541 @@
# Translations template for PROJECT.
# Copyright (C) 2011 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
# <zatroch.martin@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+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"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
"Language: sk\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
#: mediagoblin/auth/forms.py:25 mediagoblin/auth/forms.py:49
msgid "Username"
msgstr "Prihlasovacie meno"
#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:53
msgid "Password"
msgstr "Heslo"
#: mediagoblin/auth/forms.py:35
msgid "Passwords must match."
msgstr "Heslá sa musia zhodovať."
#: mediagoblin/auth/forms.py:37
msgid "Confirm password"
msgstr "Potvrdiť heslo"
#: mediagoblin/auth/forms.py:39
msgid "Type it again here to make sure there are no spelling mistakes."
msgstr "Prepíš ho sem opätovne kvôli uisteniu, že nedošlo k preklepu."
#: mediagoblin/auth/forms.py:42
msgid "Email address"
msgstr "E-mailová adresa"
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Prepáč, registrácia na tejto inštancii nie je povolená."
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Prepáč, rovnaké prihlasovacie meno už niekto používa."
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Prepáč, daná e-mailová adresa už bola pri registrácii využitá."
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
msgstr ""
"Tvoja e-mailová adresa bola úspešne overená. Môžeš sa hneď prihlásiť, "
"upraviť svoj profil a vkladať výtvory! "
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "Nesprávny overovací kľúč alebo používateľské ID"
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Opätovne zaslať overovaciu správu."
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
"Nebolo ti možné zaslať správu ohľadom obnovy hesla, nakoľko je tvoje "
"používateľské meno buď neaktívne alebo e-mailová adresa účtu neoverená."
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Nadpis"
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Štítky"
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Unikátna časť adresy"
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "Unikátna časť adresy musí byť vyplnená"
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr "Titulná časť URL odkazu média. Zvyčajne to meniť nemusíš."
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Bio"
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Webstránka"
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "Položku s rovnakou unikátnou časťou adresy už niekde máš."
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Upravuješ médiá niekoho iného. Pristupuj opatrne."
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Upravuješ používateľský profil. Pristupuj opatrne."
#: mediagoblin/process_media/errors.py:44
msgid "Invalid file given for media type."
msgstr "Odovzdaný nesprávny súbor pre daný typ média."
#: mediagoblin/submit/forms.py:25
msgid "File"
msgstr "Súbor"
#: mediagoblin/submit/forms.py:30
msgid "Description of this work"
msgstr "Charakteristika diela"
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Poskytni súbor."
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Súbor najskôr nie je obrázkom!"
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Juchú! Úspešne vložené!"
#: mediagoblin/templates/mediagoblin/404.html:21
msgid "Oops!"
msgstr "Ajaj!"
#: mediagoblin/templates/mediagoblin/404.html:24
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Na danej adrese sa stránka zrejme nenachádza. Prepáč!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr ""
"Ak vieš s istotou, že adresa je správna, tak najskôr bola hľadaná stánka "
"presunutá alebo zmazaná."
#: mediagoblin/templates/mediagoblin/404.html:32
msgid "Image of 404 goblin stressing out"
msgstr "Obrázok stresujúceho goblina pri chybovom kóde č. 404"
#: mediagoblin/templates/mediagoblin/base.html:22
msgid "GNU MediaGoblin"
msgstr "GNU MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:47
msgid "MediaGoblin logo"
msgstr "MediaGoblin logo"
#: mediagoblin/templates/mediagoblin/base.html:52
msgid "Submit media"
msgstr "Vložiť výtvor"
#: mediagoblin/templates/mediagoblin/base.html:63
msgid "verify your email!"
msgstr "over si svoj e-mail!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Prihlásenie"
#: mediagoblin/templates/mediagoblin/base.html:89
msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project"
msgstr ""
"Poháňa nás <a href=\"http://mediagoblin.org\">MediaGoblin</a>, súčasť "
"projektu <a href=\"http://gnu.org/\">GNU</a>"
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr "Preskúmať"
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
msgstr "Vitaj medzi nami, kreatívne stvorenie! MediaGoblin je..."
#: mediagoblin/templates/mediagoblin/root.html:29
msgid "The perfect place for your media!"
msgstr "Parádne miesto pre tvoje výtvory!"
#: mediagoblin/templates/mediagoblin/root.html:30
msgid ""
"A place for people to collaborate and show off original and derived "
"creations!"
msgstr ""
"Miesto pre ľudí, vhodné na spoluprácu a vystavovanie tak originálnych, ako "
"aj odvodených kreácií!"
#: mediagoblin/templates/mediagoblin/root.html:31
msgid ""
"Free, as in freedom. (Were a <a href=\"http://gnu.org\">GNU</a> project, "
"after all.)"
msgstr ""
"Voľné, vo význame slobody. (Koniec-koncov, sme predsa <a "
"href=\"http://gnu.org\">GNU</a> projekt.)"
#: mediagoblin/templates/mediagoblin/root.html:32
msgid ""
"Aiming to make the world a better place through decentralization and "
"(eventually, coming soon!) federation!"
msgstr ""
"Zo snahou spraviť svet lepším miestom vďaka decentralizácii a (eventuálne, "
"už čoskoro!) federácii!"
#: mediagoblin/templates/mediagoblin/root.html:33
msgid ""
"Built for extensibility. (Multiple media types coming soon to the software,"
" including video support!)"
msgstr ""
"S dôrazom na rozšíriteľnosť. (Podpora pre rozličné typy médií v tomto "
"softvéri už čoskoro, nevynímajúc videá!)"
#: mediagoblin/templates/mediagoblin/root.html:34
msgid ""
"Powered by people like you. (<a "
"href=\"http://mediagoblin.org/pages/join.html\">You can help us improve this"
" software!</a>)"
msgstr ""
"Existujeme aj vďaka ľudom ako si ty. (<a "
"href=\"http://mediagoblin.org/pages/join.html\">Môžeš nám pomôcť softvér "
"vylepšiť!</a>)"
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr "Tak čo, chceš sa pridať?"
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
msgid ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Create a free account</a>\n"
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Vytvoriť bezplatný účet</a>\n"
" alebo\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Sprevádzkovať MediaGoblin na vlastnom serveri</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr "Najčerstvejšie výtvory"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr "Vlož svoje nové heslo"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr "Vlož svoje používateľské meno alebo e-mailovú adresu"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr "Heslo ti bolo zmenené. Skús sa prihlásiť teraz."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
"Skontroluj si e-mailovú schránku. Bol ti zaslaná správa s URL odkazom pre "
"zmenu tvojho hesla."
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
msgid ""
"Hi %(username)s,\n"
"\n"
"to change your GNU MediaGoblin password, open the following URL in \n"
"your web browser:\n"
"\n"
"%(verification_url)s\n"
"\n"
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
"Ahoj %(username)s,\n"
"\n"
"pre zmenu svojho hesla k GNU MediaGoblin účtu, otvor nasledujúci URL odkaz vo \n"
"svojom prehliadači:\n"
"\n"
"%(verification_url)s\n"
"\n"
"Pokiaľ si myslíš, že došlo k omylu, tak jednoducho ignoruj túto správu a neprestávaj byť šťastným goblinom!"
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Prihlásenie zlyhalo!"
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Ešte nemáš účet?"
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Vytvoriť jeden tu!"
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr "Zabudnuté heslo?"
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr "Zmeniť ho!"
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "Vytvoriť účet!"
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Vytvoriť"
#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19
#, python-format
msgid ""
"Hi %(username)s,\n"
"\n"
"to activate your GNU MediaGoblin account, open the following URL in\n"
"your web browser:\n"
"\n"
"%(verification_url)s"
msgstr ""
"Ahoj %(username)s,\n"
"\n"
"pre aktiváciu tvojho GNU MediaGoblin účtu, otvor nasledujúci URL odkaz vo\n"
"svojom prehliadači:\n"
"\n"
"%(verification_url)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:29
#, python-format
msgid "Editing %(media_title)s"
msgstr "Úprava %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:36
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Zrušiť"
#: mediagoblin/templates/mediagoblin/edit/edit.html:37
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35
msgid "Save changes"
msgstr "Uložiť zmeny"
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29
#, python-format
msgid "Editing %(username)s's profile"
msgstr "Úprava profilu, ktorý vlastní %(username)s"
#: mediagoblin/templates/mediagoblin/listings/tag.html:31
msgid "Media tagged with:"
msgstr "Výtvor značený štítkami:"
#: mediagoblin/templates/mediagoblin/submit/start.html:26
msgid "Submit yer media"
msgstr "Vlož svoj výtvor"
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Vložiť"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32
#, python-format
msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media"
msgstr "<a href=\"%(user_url)s\">Výtvory, ktoré vlastní %(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:52
#: mediagoblin/templates/mediagoblin/user_pages/user.html:32
msgid "Sorry, no such user found."
msgstr "Prepáč, používateľské meno nenájdené."
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
msgid "Really delete %(title)s?"
msgstr "Skutočne odstrániť %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50
msgid "Delete Permanently"
msgstr "Odstrániť navždy"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:22
msgid "Media processing panel"
msgstr "Sekcia spracovania médií"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:25
msgid ""
"You can track the state of media being processed for your gallery here."
msgstr "Tu môžeš sledovať priebeh spracovania médií pre svoju galériu."
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:28
msgid "Media in-processing"
msgstr "Médiá v procese spracovania"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:46
msgid "No media in-processing"
msgstr "Žiadne médiá v procese spracovania"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:50
msgid "These uploads failed to process:"
msgstr "Nasledovné vloženia neprešli spracovaním:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
msgid "Email verification needed"
msgstr "Potrebné overenie e-mailovej adresy"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:42
msgid "Almost done! Your account still needs to be activated."
msgstr "Takmer hotovo! Ešte ti musí byť aktivovaný účet."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:47
msgid ""
"An email should arrive in a few moments with instructions on how to do so."
msgstr "E-mailová správa s popisom ako to spraviť, by mala onedlho doraziť."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:51
msgid "In case it doesn't:"
msgstr "V prípade, že sa tak nestalo:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:54
msgid "Resend verification email"
msgstr "Opätovne zaslať overovaciu správu"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:62
msgid ""
"Someone has registered an account with this username, but it still has to be"
" activated."
msgstr ""
"Účet s týmto prihlasovacím menom je už registrovaný, avšak ešte stále "
"neaktívny."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:68
#, python-format
msgid ""
"If you are that person but you've lost your verification email, you can <a "
"href=\"%(login_url)s\">log in</a> and resend it."
msgstr ""
"Pokiaľ si to ty, ale už nemáš overovaciu správu, tak sa môžeš <a "
"href=\"%(login_url)s\">prihlásiť</a> a preposlať si ju."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:78
#, python-format
msgid "%(username)s's profile"
msgstr "Profil, ktorý vlastní %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:85
msgid "Here's a spot to tell others about yourself."
msgstr "Povedz tu o sebe ostatným."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:90
#: mediagoblin/templates/mediagoblin/user_pages/user.html:108
msgid "Edit profile"
msgstr "Upraviť profil"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "This user hasn't filled in their profile (yet)."
msgstr "Dotyčná osoba ešte nevyplnila svoj profil (zatiaľ)."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:122
#, python-format
msgid "View all of %(username)s's media"
msgstr "Zhliadnuť všetky výtvory, ktoré vlastní %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:135
msgid ""
"This is where your media will appear, but you don't seem to have added "
"anything yet."
msgstr ""
"Všetky tvoje výtvory sa objavia práve tu, ale zatiaľ nemáš nič pridané."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:141
msgid "Add media"
msgstr "Pridať výtvor"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:147
msgid "There doesn't seem to be any media here yet..."
msgstr "Najskôr tu ešte nebudú žiadne výtvory..."
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon"
msgstr "ikona čítačky"
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23
msgid "Atom feed"
msgstr "Čítačka Atom"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:40
msgid "Newer"
msgstr "Novšie"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:46
msgid "Older"
msgstr "Staršie"
#: mediagoblin/user_pages/forms.py:24
msgid "Comment"
msgstr "Komentár"
#: mediagoblin/user_pages/forms.py:30
msgid "I am sure I want to delete this"
msgstr "Jednoznačne to chcem odstrániť"
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Chystáš sa odstrániť výtvory niekoho iného. Pristupuj opatrne."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@ -43,19 +43,19 @@ msgstr ""
msgid "Email address"
msgstr "E-poštni naslov"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Oprostite, prijava za ta izvod ni omogočena."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "Oprostite, uporabnik s tem imenom že obstaja."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Oprostite, ta e-poštni naslov je že v uporabi."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -63,58 +63,58 @@ msgstr ""
"Vaš e-poštni naslov je bil potrjen. Sedaj se lahko prijavite, uredite svoj "
"profil in pošljete slike."
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "Potrditveni ključ ali uporabniška identifikacija je napačna"
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Ponovno pošiljanje potrditvene e-pošte."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Naslov"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Oznake"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Oznaka"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "Oznaka ne sme biti prazna"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Biografija"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Spletna stran"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "Vnos s to oznako za tega uporabnika že obstaja."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Urejate vsebino drugega uporabnika. Nadaljujte pazljivo."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Urejate uporabniški profil. Nadaljujte pazljivo."
@ -130,15 +130,15 @@ msgstr "Datoteka"
msgid "Description of this work"
msgstr ""
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Podati morate datoteko."
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Kot kaže datoteka ni slika."
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Juhej! Poslano."
@ -179,8 +179,8 @@ msgid "verify your email!"
msgstr "Preverite svojo e-pošto."
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Prijava"
@ -258,11 +258,11 @@ msgstr ""
msgid "Most recent media"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
@ -289,23 +289,23 @@ msgid ""
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Prijava ni uspela."
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Še nimate računa?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Ustvarite si ga."
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
@ -313,7 +313,7 @@ msgstr ""
msgid "Create an account!"
msgstr "Ustvarite račun."
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Ustvari"
@ -362,7 +362,7 @@ msgstr "Vsebina označena z:"
msgid "Submit yer media"
msgstr "Pošljite svojo vsebino"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Pošlji"
@ -506,7 +506,15 @@ msgstr "Komentar"
msgid "I am sure I want to delete this"
msgstr ""
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Serbian (http://www.transifex.net/projects/p/mediagoblin/team/sr/)\n"
"MIME-Version: 1.0\n"
@ -42,76 +42,76 @@ msgstr ""
msgid "Email address"
msgstr ""
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr ""
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr ""
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr ""
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
msgstr ""
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr ""
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr ""
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr ""
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr ""
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr ""
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr ""
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr ""
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr ""
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr ""
@ -127,15 +127,15 @@ msgstr ""
msgid "Description of this work"
msgstr ""
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr ""
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr ""
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr ""
@ -174,8 +174,8 @@ msgid "verify your email!"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr ""
@ -244,11 +244,11 @@ msgstr ""
msgid "Most recent media"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
@ -275,23 +275,23 @@ msgid ""
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
@ -299,7 +299,7 @@ msgstr ""
msgid "Create an account!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr ""
@ -342,7 +342,7 @@ msgstr ""
msgid "Submit yer media"
msgstr ""
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr ""
@ -482,7 +482,15 @@ msgstr ""
msgid "I am sure I want to delete this"
msgstr ""
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""

View File

@ -3,13 +3,14 @@
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
# <simon@ingenmansland.se>, 2011.
# <transifex@wandborg.se>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Swedish (http://www.transifex.net/projects/p/mediagoblin/team/sv/)\n"
"MIME-Version: 1.0\n"
@ -43,19 +44,19 @@ msgstr "Skriv in det igen för att undvika stavfel."
msgid "Email address"
msgstr "E-postadress"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "Vi beklagar, registreringen är avtängd på den här instansen."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "En användare med det användarnamnet finns redan."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "Den e-postadressen är redan tagen."
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
@ -63,58 +64,60 @@ msgstr ""
"Din e-postadress är verifierad. Du kan nu logga in, redigera din profil och "
"ladda upp filer!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "Verifieringsnyckeln eller användar-IDt är fel."
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "Skickade ett nytt verifierings-email."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
"Kunde inte skicka e-poståterställning av lösenord eftersom ditt användarnamn"
" är inaktivt eller kontots e-postadress har inte verifierats."
#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "Titel"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "Taggar"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "Sökvägsnamn"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "Sökvägsnamnet kan inte vara tomt"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr "Sökvägstitlen för din media. Du brukar inte behöva ändra denna."
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "Presentation"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "Hemsida"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "Ett inlägg med det sökvägsnamnet existerar redan."
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "Var försiktig, du redigerar någon annans inlägg."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "Var försiktig, du redigerar en annan användares profil."
@ -130,15 +133,15 @@ msgstr "Fil"
msgid "Description of this work"
msgstr "Beskrivning av verket"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "Du måste ange en fil"
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "Filen verkar inte vara en giltig bildfil!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "Tjohoo! Upladdat!"
@ -179,8 +182,8 @@ msgid "verify your email!"
msgstr "Verifiera din e-postadress!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "Logga in"
@ -194,7 +197,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr ""
msgstr "Utforska"
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
@ -251,7 +254,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
msgstr "Nyfiken att gå med oss?"
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
@ -260,27 +263,33 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Skapa ett konto gratis</a>\n"
"\n"
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Installera MediaGoblin på din egen server</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
msgstr "Senast medier"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
msgstr "Fyll i ditt lösenord"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
msgstr "Fyll i ditt användarnamn eller lösenord"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
msgstr "Ditt lösenord är nu ändrat. Testa att logga in nu."
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
"Kolla din inkorg. Vi har skickat ett e-postmeddelande med en webbadress för "
"att ändra ditt lösenord."
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -295,32 +304,40 @@ msgid ""
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
"Hej %(username)s,\n"
"\n"
"för att ändra ditt GNU MediaGoblin-lösenord, öppna följande länk i\n"
"din webbläsare:\n"
"\n"
"%(verification_url)s\n"
"\n"
"Om du misstänker att du fått detta epostmeddelanade av misstag, ignorera det och fortsätt vara ett glatt troll!"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "Inloggning misslyckades!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "Har du inget konto?"
msgstr "Har du inget konto än?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "Skapa ett!"
msgstr "Skapa ett här!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
msgstr "Glömt ditt lösenord?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
msgstr "Ändra!"
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "Skapa ett konto!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "Skapa"
@ -336,7 +353,7 @@ msgid ""
msgstr ""
"Hej %(username)s,\n"
"\n"
"oppna den följande URLen i din webbläsare för att aktivera ditt konto på GNU MediaGoblin:\n"
"öppna den följande webbadressen i din webbläsare för att aktivera ditt konto på GNU MediaGoblin:\n"
"\n"
"%(verification_url)s"
@ -353,7 +370,7 @@ msgstr "Avbryt"
#: mediagoblin/templates/mediagoblin/edit/edit.html:37
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35
msgid "Save changes"
msgstr "Spara"
msgstr "Spara ändringar"
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29
#, python-format
@ -362,13 +379,13 @@ msgstr "Redigerar %(username)ss profil"
#: mediagoblin/templates/mediagoblin/listings/tag.html:31
msgid "Media tagged with:"
msgstr "Taggat med:"
msgstr "Media taggat med:"
#: mediagoblin/templates/mediagoblin/submit/start.html:26
msgid "Submit yer media"
msgstr "Ladda upp"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "Skicka"
@ -380,7 +397,7 @@ msgstr "<a href=\"%(user_url)s\">%(username)s</a>s media"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:52
#: mediagoblin/templates/mediagoblin/user_pages/user.html:32
msgid "Sorry, no such user found."
msgstr "Finns ingen sådan användare ännu."
msgstr "Ledsen, hittar ingen sådan användare."
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
@ -516,7 +533,15 @@ msgstr "Kommentar"
msgid "I am sure I want to delete this"
msgstr "Jag är säker på att jag vill radera detta"
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Du tänker radera en annan användares media. Var försiktig."

Binary file not shown.

View File

@ -0,0 +1,498 @@
# Translations template for PROJECT.
# Copyright (C) 2011 ORGANIZATION
# This file is distributed under the same license as the PROJECT project.
#
# Translators:
# వీవెన్ <veeven@gmail.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-03 14:08+0000\n"
"Last-Translator: veeven <veeven@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 0.9.6\n"
"Language: te\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: mediagoblin/auth/forms.py:25 mediagoblin/auth/forms.py:49
msgid "Username"
msgstr "వాడుకరి పేరు"
#: mediagoblin/auth/forms.py:30 mediagoblin/auth/forms.py:53
msgid "Password"
msgstr "సంకేతపదం"
#: mediagoblin/auth/forms.py:35
msgid "Passwords must match."
msgstr ""
#: mediagoblin/auth/forms.py:37
msgid "Confirm password"
msgstr ""
#: mediagoblin/auth/forms.py:39
msgid "Type it again here to make sure there are no spelling mistakes."
msgstr ""
#: mediagoblin/auth/forms.py:42
msgid "Email address"
msgstr "ఈమెయిలు చిరునామా"
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr ""
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr ""
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr ""
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
msgstr ""
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr ""
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr ""
#: mediagoblin/auth/views.py:248
msgid ""
"Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified."
msgstr ""
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "శీర్షిక"
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr ""
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr ""
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr ""
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr ""
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr ""
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr ""
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr ""
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr ""
#: mediagoblin/process_media/errors.py:44
msgid "Invalid file given for media type."
msgstr ""
#: mediagoblin/submit/forms.py:25
msgid "File"
msgstr ""
#: mediagoblin/submit/forms.py:30
msgid "Description of this work"
msgstr ""
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr ""
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr ""
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:21
msgid "Oops!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:26
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:32
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:22
msgid "GNU MediaGoblin"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:47
msgid "MediaGoblin logo"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:52
msgid "Submit media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:63
msgid "verify your email!"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:89
msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29
msgid "The perfect place for your media!"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:30
msgid ""
"A place for people to collaborate and show off original and derived "
"creations!"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid ""
"Free, as in freedom. (Were a <a href=\"http://gnu.org\">GNU</a> project, "
"after all.)"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32
msgid ""
"Aiming to make the world a better place through decentralization and "
"(eventually, coming soon!) federation!"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:33
msgid ""
"Built for extensibility. (Multiple media types coming soon to the software,"
" including video support!)"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid ""
"Powered by people like you. (<a "
"href=\"http://mediagoblin.org/pages/join.html\">You can help us improve this"
" software!</a>)"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
msgid ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">Create a free account</a>\n"
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
msgid ""
"Hi %(username)s,\n"
"\n"
"to change your GNU MediaGoblin password, open the following URL in \n"
"your web browser:\n"
"\n"
"%(verification_url)s\n"
"\n"
"If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "ప్రవేశం విఫలమయ్యింది!"
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "మీకు ఇంకా ఖాతా లేదా?"
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr "మీ సంకేతపదాన్ని మర్చిపోయారా?"
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr ""
#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19
#, python-format
msgid ""
"Hi %(username)s,\n"
"\n"
"to activate your GNU MediaGoblin account, open the following URL in\n"
"your web browser:\n"
"\n"
"%(verification_url)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:29
#, python-format
msgid "Editing %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:36
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "రద్దుచేయి"
#: mediagoblin/templates/mediagoblin/edit/edit.html:37
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35
msgid "Save changes"
msgstr "మార్పులను భద్రపరచు"
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29
#, python-format
msgid "Editing %(username)s's profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/listings/tag.html:31
msgid "Media tagged with:"
msgstr ""
#: mediagoblin/templates/mediagoblin/submit/start.html:26
msgid "Submit yer media"
msgstr ""
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "దాఖలు చెయ్యి"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32
#, python-format
msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:52
#: mediagoblin/templates/mediagoblin/user_pages/user.html:32
msgid "Sorry, no such user found."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format
msgid "Really delete %(title)s?"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50
msgid "Delete Permanently"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:22
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:25
msgid ""
"You can track the state of media being processed for your gallery here."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:28
msgid "Media in-processing"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:46
msgid "No media in-processing"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:50
msgid "These uploads failed to process:"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:39
#: mediagoblin/templates/mediagoblin/user_pages/user.html:59
msgid "Email verification needed"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:42
msgid "Almost done! Your account still needs to be activated."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:47
msgid ""
"An email should arrive in a few moments with instructions on how to do so."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:51
msgid "In case it doesn't:"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:54
msgid "Resend verification email"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:62
msgid ""
"Someone has registered an account with this username, but it still has to be"
" activated."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:68
#, python-format
msgid ""
"If you are that person but you've lost your verification email, you can <a "
"href=\"%(login_url)s\">log in</a> and resend it."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:78
#, python-format
msgid "%(username)s's profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:85
msgid "Here's a spot to tell others about yourself."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:90
#: mediagoblin/templates/mediagoblin/user_pages/user.html:108
msgid "Edit profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "This user hasn't filled in their profile (yet)."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:122
#, python-format
msgid "View all of %(username)s's media"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:135
msgid ""
"This is where your media will appear, but you don't seem to have added "
"anything yet."
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:141
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:147
msgid "There doesn't seem to be any media here yet..."
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:23
msgid "Atom feed"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/pagination.html:40
msgid "Newer"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/pagination.html:46
msgid "Older"
msgstr ""
#: mediagoblin/user_pages/forms.py:24
msgid "Comment"
msgstr "వ్యాఖ్య"
#: mediagoblin/user_pages/forms.py:30
msgid "I am sure I want to delete this"
msgstr ""
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr ""

View File

@ -9,8 +9,8 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n"
"POT-Creation-Date: 2011-09-25 20:26-0500\n"
"PO-Revision-Date: 2011-09-26 01:25+0000\n"
"POT-Creation-Date: 2011-11-01 23:14-0500\n"
"PO-Revision-Date: 2011-11-02 04:13+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
@ -44,76 +44,76 @@ msgstr "再輸入一次,確定你沒有打錯字。"
msgid "Email address"
msgstr "電子郵件位置"
#: mediagoblin/auth/views.py:42
#: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance."
msgstr "抱歉, 這個項目已經被暫停註冊."
#: mediagoblin/auth/views.py:60
#: mediagoblin/auth/views.py:73
msgid "Sorry, a user with that name already exists."
msgstr "抱歉, 這個使用者名稱已經存在."
#: mediagoblin/auth/views.py:64
#: mediagoblin/auth/views.py:77
msgid "Sorry, that email address has already been taken."
msgstr "抱歉,這個電子郵件已經被其他人使用了。"
#: mediagoblin/auth/views.py:165
#: mediagoblin/auth/views.py:179
msgid ""
"Your email address has been verified. You may now login, edit your profile, "
"and submit images!"
msgstr "你的電子郵件位址已被認證. 你現在就可以登入, 編輯你的個人檔案而且遞交照片!"
#: mediagoblin/auth/views.py:171
#: mediagoblin/auth/views.py:185
msgid "The verification key or user id is incorrect"
msgstr "認證碼或是使用者帳號錯誤"
#: mediagoblin/auth/views.py:192
#: mediagoblin/auth/views.py:207
msgid "Resent your verification email."
msgstr "重送認證信."
#: mediagoblin/auth/views.py:228
#: mediagoblin/auth/views.py:248
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/edit/forms.py:26 mediagoblin/submit/forms.py:27
#: mediagoblin/edit/forms.py:24 mediagoblin/submit/forms.py:27
msgid "Title"
msgstr "標題"
#: mediagoblin/edit/forms.py:30 mediagoblin/submit/forms.py:32
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:32
msgid "Tags"
msgstr "標籤"
#: mediagoblin/edit/forms.py:33
#: mediagoblin/edit/forms.py:31
msgid "Slug"
msgstr "自訂字串"
#: mediagoblin/edit/forms.py:34
#: mediagoblin/edit/forms.py:32
msgid "The slug can't be empty"
msgstr "自訂字串不能空白"
#: mediagoblin/edit/forms.py:35
#: mediagoblin/edit/forms.py:33
msgid ""
"The title part of this media's URL. You usually don't need to change this."
msgstr ""
msgstr "此媒體網址的名稱。你通常不需要變動這個的。"
#: mediagoblin/edit/forms.py:42
#: mediagoblin/edit/forms.py:40
msgid "Bio"
msgstr "自我介紹"
#: mediagoblin/edit/forms.py:45
#: mediagoblin/edit/forms.py:43
msgid "Website"
msgstr "網站"
#: mediagoblin/edit/views.py:63
#: mediagoblin/edit/views.py:64
msgid "An entry with that slug already exists for this user."
msgstr "這個自訂字串已經被其他人用了"
#: mediagoblin/edit/views.py:84
#: mediagoblin/edit/views.py:85
msgid "You are editing another user's media. Proceed with caution."
msgstr "你正在編輯他人的媒體檔案. 請謹慎處理."
#: mediagoblin/edit/views.py:154
#: mediagoblin/edit/views.py:155
msgid "You are editing a user's profile. Proceed with caution."
msgstr "你正在編輯一位用戶的檔案. 請謹慎處理."
@ -127,17 +127,17 @@ msgstr "檔案"
#: mediagoblin/submit/forms.py:30
msgid "Description of this work"
msgstr ""
msgstr "這個作品的描述"
#: mediagoblin/submit/views.py:47
#: mediagoblin/submit/views.py:46
msgid "You must provide a file."
msgstr "你必須提供一個檔案"
#: mediagoblin/submit/views.py:50
#: mediagoblin/submit/views.py:49
msgid "The file doesn't seem to be an image!"
msgstr "檔案似乎不是一個圖片喔!"
#: mediagoblin/submit/views.py:122
#: mediagoblin/submit/views.py:121
msgid "Woohoo! Submitted!"
msgstr "呼呼! 送出去嚕!"
@ -176,8 +176,8 @@ msgid "verify your email!"
msgstr "確認您的電子郵件!"
#: mediagoblin/templates/mediagoblin/base.html:73
#: mediagoblin/templates/mediagoblin/auth/login.html:26
#: mediagoblin/templates/mediagoblin/auth/login.html:34
#: mediagoblin/templates/mediagoblin/auth/login.html:27
#: mediagoblin/templates/mediagoblin/auth/login.html:35
msgid "Log in"
msgstr "登入"
@ -191,7 +191,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24
msgid "Explore"
msgstr ""
msgstr "探索"
#: mediagoblin/templates/mediagoblin/root.html:27
msgid "Hi there, media lover! MediaGoblin is..."
@ -236,7 +236,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
msgid "Excited to join us?"
msgstr ""
msgstr "迫不亟待想要加入我們?"
#: mediagoblin/templates/mediagoblin/root.html:39
#, python-format
@ -245,27 +245,30 @@ msgid ""
" or\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr ""
"<a class=\"header_submit_highlight\" href=\"%(register_url)s\">建立一個免費帳號</a>\n"
" 或是\n"
" <a class=\"header_submit\" href=\"http://wiki.mediagoblin.org/HackingHowto\">在你的伺服器上設立 MediaGoblin</a>"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Most recent media"
msgstr ""
msgstr "最新的媒體"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:27
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:29
msgid "Enter your new password"
msgstr ""
msgstr "輸入你的新密碼"
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:27
#: mediagoblin/templates/mediagoblin/auth/forgot_password.html:29
msgid "Enter your username or email"
msgstr ""
msgstr "輸入你的帳號或是電子郵件"
#: mediagoblin/templates/mediagoblin/auth/fp_changed_success.html:22
msgid "Your password has been changed. Try to log in now."
msgstr ""
msgstr "你的密碼已經改變了。現在就登入試試看。"
#: mediagoblin/templates/mediagoblin/auth/fp_email_sent.html:22
msgid ""
"Check your inbox. We sent an email with a URL for changing your password."
msgstr ""
msgstr "檢查你的收件匣。我們已經傳送了電子郵件,你可利用郵件中的網址變更密碼。"
#: mediagoblin/templates/mediagoblin/auth/fp_verification_email.txt:19
#, python-format
@ -280,32 +283,39 @@ msgid ""
"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"
"%(verification_url)s\n"
"\n"
"如果你認為這個是個誤會請忽略此封信件繼續當個快樂的goblin!"
#: mediagoblin/templates/mediagoblin/auth/login.html:29
#: mediagoblin/templates/mediagoblin/auth/login.html:30
msgid "Logging in failed!"
msgstr "登入失敗!"
#: mediagoblin/templates/mediagoblin/auth/login.html:42
#: mediagoblin/templates/mediagoblin/auth/login.html:43
msgid "Don't have an account yet?"
msgstr "還沒有帳號嗎?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45
#: mediagoblin/templates/mediagoblin/auth/login.html:46
msgid "Create one here!"
msgstr "在這裡建立一個吧!"
#: mediagoblin/templates/mediagoblin/auth/login.html:48
#: mediagoblin/templates/mediagoblin/auth/login.html:49
msgid "Forgot your password?"
msgstr ""
msgstr "忘了密碼嗎?"
#: mediagoblin/templates/mediagoblin/auth/login.html:51
#: mediagoblin/templates/mediagoblin/auth/login.html:52
msgid "Change it!"
msgstr ""
msgstr "變更!"
#: mediagoblin/templates/mediagoblin/auth/register.html:27
msgid "Create an account!"
msgstr "建立一個帳號!"
#: mediagoblin/templates/mediagoblin/auth/register.html:30
#: mediagoblin/templates/mediagoblin/auth/register.html:31
msgid "Create"
msgstr "建立"
@ -353,7 +363,7 @@ msgstr "媒體檔案被標籤為:"
msgid "Submit yer media"
msgstr "遞交你的媒體檔案"
#: mediagoblin/templates/mediagoblin/submit/start.html:29
#: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Submit"
msgstr "送出"
@ -374,7 +384,7 @@ msgstr "真的要刪除 %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50
msgid "Delete Permanently"
msgstr ""
msgstr "永遠刪除"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:22
msgid "Media processing panel"
@ -479,11 +489,11 @@ msgstr "Atom feed"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:40
msgid "Newer"
msgstr ""
msgstr "新一點"
#: mediagoblin/templates/mediagoblin/utils/pagination.html:46
msgid "Older"
msgstr ""
msgstr "舊一點"
#: mediagoblin/user_pages/forms.py:24
msgid "Comment"
@ -491,9 +501,17 @@ msgstr "評論"
#: mediagoblin/user_pages/forms.py:30
msgid "I am sure I want to delete this"
msgstr "我確定我想要刪除"
#: mediagoblin/user_pages/views.py:142
msgid "Empty comments are not allowed."
msgstr ""
#: mediagoblin/user_pages/views.py:175
#: mediagoblin/user_pages/views.py:148
msgid "Comment posted!"
msgstr ""
#: mediagoblin/user_pages/views.py:181
msgid "You are about to delete another user's media. Proceed with caution."
msgstr "你在刪除其他人的媒體檔案。請小心處理喔。"

View File

@ -29,8 +29,12 @@ from mediagoblin.workbench import WorkbenchManager
from mediagoblin.storage import storage_system_from_config
class Error(Exception): pass
class ImproperlyConfigured(Error): pass
class Error(Exception):
pass
class ImproperlyConfigured(Error):
pass
def setup_global_and_app_config(config_path):
@ -76,8 +80,8 @@ def setup_database():
"in fact they appear to be from the future?!")
setup_globals(
db_connection = connection,
database = db)
db_connection=connection,
database=db)
return connection, db
@ -99,10 +103,10 @@ def get_jinja_loader(user_template_path=None):
def get_staticdirector(app_config):
if app_config.has_key('direct_remote_path'):
if 'direct_remote_path' in app_config:
return staticdirect.RemoteStaticDirect(
app_config['direct_remote_path'].strip())
elif app_config.has_key('direct_remote_paths'):
elif 'direct_remote_paths' in app_config:
direct_remote_path_lines = app_config[
'direct_remote_paths'].strip().splitlines()
return staticdirect.MultiRemoteStaticDirect(
@ -126,8 +130,8 @@ def setup_storage():
queue_store = storage_system_from_config(global_config[key_long])
setup_globals(
public_store = public_store,
queue_store = queue_store)
public_store=public_store,
queue_store=queue_store)
return public_store, queue_store
@ -137,7 +141,7 @@ def setup_workbench():
workbench_manager = WorkbenchManager(app_config['workbench_path'])
setup_globals(workbench_manager = workbench_manager)
setup_globals(workbench_manager=workbench_manager)
def setup_beaker_cache():

View File

@ -40,25 +40,25 @@ def setup_celery_from_config(app_config, global_config,
- set_environ: if set, this will CELERY_CONFIG_MODULE to the
settings_module
"""
if global_config.has_key('celery'):
if 'celery' in global_config:
celery_conf = global_config['celery']
else:
celery_conf = {}
celery_settings = {}
# set up mongodb stuff
celery_settings['CELERY_RESULT_BACKEND'] = 'mongodb'
if not celery_settings.has_key('BROKER_BACKEND'):
if 'BROKER_BACKEND' not in celery_settings:
celery_settings['BROKER_BACKEND'] = 'mongodb'
celery_mongo_settings = {}
if app_config.has_key('db_host'):
if 'db_host' in app_config:
celery_mongo_settings['host'] = app_config['db_host']
if celery_settings['BROKER_BACKEND'] == 'mongodb':
celery_settings['BROKER_HOST'] = app_config['db_host']
if app_config.has_key('db_port'):
if 'db_port' in app_config:
celery_mongo_settings['port'] = app_config['db_port']
if celery_settings['BROKER_BACKEND'] == 'mongodb':
celery_settings['BROKER_PORT'] = app_config['db_port']
@ -84,6 +84,6 @@ def setup_celery_from_config(app_config, global_config,
for key, value in celery_settings.iteritems():
setattr(this_module, key, value)
if set_environ:
os.environ['CELERY_CONFIG_MODULE'] = settings_module

View File

@ -44,7 +44,7 @@ def setup_self(check_environ_for_conf=True, module_name=OUR_MODULENAME,
if not os.path.exists(mgoblin_conf_file):
raise IOError(
"MEDIAGOBLIN_CONFIG not set or file does not exist")
# By setting the environment variable here we should ensure that
# this is the module that gets set up.
os.environ['CELERY_CONFIG_MODULE'] = module_name

View File

@ -73,7 +73,7 @@ def read_mediagoblin_config(config_path, config_spec=CONFIG_SPEC_PATH):
# For now the validator just works with the default functions,
# but in the future if we want to add additional validation/configuration
# functions we'd add them to validator.functions here.
#
#
# See also:
# http://www.voidspace.org.uk/python/validate.html#adding-functions
validator = Validator()

View File

@ -25,4 +25,3 @@ tag_routes = [
Route('mediagoblin.listings.tag_atom_feed', "/{tag}/atom/",
controller="mediagoblin.listings.views:tag_atom_feed"),
]

View File

@ -47,7 +47,7 @@ def tag_listing(request, page):
{u'state': u'processed',
u'tags.slug': tag_slug})
cursor = cursor.sort('created', DESCENDING)
pagination = Pagination(page, cursor)
media_entries = pagination()
@ -64,6 +64,7 @@ def tag_listing(request, page):
ATOM_DEFAULT_NR_OF_UPDATED_ITEMS = 15
def tag_atom_feed(request):
"""
generates the atom feed with the tag images

View File

@ -20,11 +20,13 @@ SUCCESS = 'success'
WARNING = 'warning'
ERROR = 'error'
def add_message(request, level, text):
messages = request.session.setdefault('messages', [])
messages.append({'level': level, 'text': text})
request.session.save()
def fetch_messages(request, clear_from_session=True):
messages = request.session.get('messages')
if messages and clear_from_session:

View File

@ -25,9 +25,9 @@ from mediagoblin import mg_globals
# Use the system (hardware-based) random number generator if it exists.
# -- this optimization is lifted from Django
if hasattr(random, 'SystemRandom'):
randrange = random.SystemRandom().randrange
getrandbits = random.SystemRandom().getrandbits
else:
randrange = random.randrange
getrandbits = random.getrandbits
class CsrfForm(Form):
@ -54,7 +54,7 @@ class CsrfMiddleware(object):
and matches the form token for non-safe requests.
"""
MAX_CSRF_KEY = 2 << 63
CSRF_KEYLEN = 64
SAFE_HTTP_METHODS = ("GET", "HEAD", "OPTIONS", "TRACE")
def __init__(self, mg_app):
@ -92,21 +92,18 @@ class CsrfMiddleware(object):
response.set_cookie(
mg_globals.app_config['csrf_cookie_name'],
request.environ['CSRF_TOKEN'],
max_age=60 * 60 * 24 * 7 * 52,
path='/',
domain=mg_globals.app_config.get('csrf_cookie_domain', None),
path=request.environ['SCRIPT_NAME'],
domain=mg_globals.app_config.get('csrf_cookie_domain'),
secure=(request.scheme.lower() == 'https'),
httponly=True)
# update the Vary header
response.vary = (response.vary or []) + ['Cookie']
response.vary = (getattr(response, 'vary', None) or []) + ['Cookie']
def _make_token(self, request):
"""Generate a new token to use for CSRF protection."""
return hashlib.md5("%s%s" %
(randrange(0, self.MAX_CSRF_KEY),
randrange(0, self.MAX_CSRF_KEY))).hexdigest()
return "%s" % (getrandbits(self.CSRF_KEYLEN),)
def verify_tokens(self, request):
"""Verify that the CSRF Cookie exists and that it matches the

View File

@ -14,6 +14,7 @@
# 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/>.
class NoOpMiddleware(object):
def __init__(self, mg_app):

View File

@ -14,8 +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/>.
import Image
import os
import Image
from celery.task import Task
from celery import registry
@ -31,7 +32,7 @@ MEDIUM_SIZE = 640, 640
def create_pub_filepath(entry, filename):
return mgg.public_store.get_unique_filepath(
['media_entries',
unicode(entry['_id']),
unicode(entry._id),
filename])
@ -55,7 +56,7 @@ class ProcessMedia(Task):
try:
process_image(entry)
except BaseProcessingFail, exc:
mark_entry_failed(entry[u'_id'], exc)
mark_entry_failed(entry._id, exc)
return
entry['state'] = u'processed'
@ -65,9 +66,10 @@ class ProcessMedia(Task):
"""
If the processing failed we should mark that in the database.
Assuming that the exception raised is a subclass of BaseProcessingFail,
we can use that to get more information about the failure and store that
for conveying information to users about the failure, etc.
Assuming that the exception raised is a subclass of
BaseProcessingFail, we can use that to get more information
about the failure and store that for conveying information to
users about the failure, etc.
"""
entry_id = args[0]
mark_entry_failed(entry_id, exc)
@ -80,10 +82,10 @@ def mark_entry_failed(entry_id, exc):
"""
Mark a media entry as having failed in its conversion.
Uses the exception that was raised to mark more information. If the
exception is a derivative of BaseProcessingFail then we can store extra
information that can be useful for users telling them why their media failed
to process.
Uses the exception that was raised to mark more information. If
the exception is a derivative of BaseProcessingFail then we can
store extra information that can be useful for users telling them
why their media failed to process.
Args:
- entry_id: The id of the media entry
@ -122,21 +124,20 @@ def process_image(entry):
mgg.queue_store, queued_filepath,
'source')
extension = os.path.splitext(queued_filename)[1]
try:
thumb = Image.open(queued_filename)
except IOError:
raise BadMediaFail()
thumb.thumbnail(THUMB_SIZE, Image.ANTIALIAS)
# ensure color mode is compatible with jpg
if thumb.mode != "RGB":
thumb = thumb.convert("RGB")
thumb_filepath = create_pub_filepath(entry, 'thumbnail.jpg')
thumb_filepath = create_pub_filepath(entry, 'thumbnail' + extension)
thumb_file = mgg.public_store.get_file(thumb_filepath, 'w')
with thumb_file:
thumb.save(thumb_file, "JPEG", quality=90)
thumb.save(thumb_file)
# If the size of the original file exceeds the specified size of a `medium`
# file, a `medium.jpg` files is created and later associated with the media
@ -147,14 +148,11 @@ def process_image(entry):
if medium.size[0] > MEDIUM_SIZE[0] or medium.size[1] > MEDIUM_SIZE[1]:
medium.thumbnail(MEDIUM_SIZE, Image.ANTIALIAS)
if medium.mode != "RGB":
medium = medium.convert("RGB")
medium_filepath = create_pub_filepath(entry, 'medium.jpg')
medium_filepath = create_pub_filepath(entry, 'medium' + extension)
medium_file = mgg.public_store.get_file(medium_filepath, 'w')
with medium_file:
medium.save(medium_file, "JPEG", quality=90)
medium.save(medium_file)
medium_processed = True
# we have to re-read because unlike PIL, not everything reads
@ -164,7 +162,8 @@ def process_image(entry):
with queued_file:
original_filepath = create_pub_filepath(entry, queued_filepath[-1])
with mgg.public_store.get_file(original_filepath, 'wb') as original_file:
with mgg.public_store.get_file(original_filepath, 'wb') \
as original_file:
original_file.write(queued_file.read())
mgg.queue_store.delete_file(queued_filepath)

View File

@ -16,17 +16,18 @@
from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
class BaseProcessingFail(Exception):
"""
Base exception that all other processing failure messages should
subclass from.
You shouldn't call this itself; instead you should subclass it
and provid the exception_path and general_message applicable to
this error.
"""
general_message = u''
@property
def exception_path(self):
return u"%s:%s" % (
@ -34,8 +35,8 @@ class BaseProcessingFail(Exception):
def __init__(self, **metadata):
self.metadata = metadata or {}
class BadMediaFail(BaseProcessingFail):
"""
Error that should be raised when an inappropriate file was given

View File

@ -22,7 +22,7 @@
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: local('Lato Regular'), local('Lato-Regular'), url('../fonts/Lato-Regular.woff') format('truetype');
src: local('Lato Regular'), local('Lato-Regular'), url('../fonts/Lato-Regular.ttf') format('truetype');
}
body {
@ -161,7 +161,6 @@ background-image: -moz-linear-gradient(center top , rgb(134, 212, 177), rgb(109,
padding-right: 11px;
text-decoration: none;
font-family: 'Lato', sans-serif;
font-size: 1.2em;
font-weight: bold;
}
@ -213,11 +212,11 @@ text-align: center;
width: 100%;
}
.form_field_box {
margin-bottom: 24px;
.form_field_input {
margin-bottom: 10px;
}
.form_field_label,.form_field_input {
.form_field_label {
margin-bottom: 4px;
}
@ -250,8 +249,12 @@ text-align: center;
font-size: 0.9em;
}
.comment_content {
margin-bottom: 30px;
}
.comment_content p {
margin-bottom: 4px;
margin-bottom: 0px;
}
/* media galleries */
@ -291,13 +294,16 @@ img.media_icon{
/* navigation */
.navigation_button{
width: 139px;
width: 135px;
display: block;
float: left;
text-align: center;
background-color: #333;
background-color: #1d1d1d;
border: 1px solid;
border-color: #2c2c2c #232323 #1a1a1a;
border-radius: 3px;
text-decoration: none;
padding: 12px 0pt;
padding: 8px 0px 14px;
font-size: 2em;
margin: 0 0 20px
}
@ -307,7 +313,7 @@ p.navigation_button{
}
.navigation_left{
margin-right: 2px;
margin-right: 6px;
}
/* messages */

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

@ -21,24 +21,24 @@ import urlparse
# Staticdirect infrastructure.
# Borrowed largely from cc.engine
# by Chris Webber & Creative Commons
#
#
# This needs documentation!
####################################
import pkg_resources
import urlparse
class StaticDirect(object):
def __init__(self):
self.cache = {}
def __call__(self, filepath):
if self.cache.has_key(filepath):
if filepath in self.cache:
return self.cache[filepath]
static_direction = self.cache[filepath] = self.get(filepath)
return static_direction
def get(self, filepath):
# should be implemented by the individual staticdirector

View File

@ -27,6 +27,7 @@ from mediagoblin.storage import StorageInterface, clean_listy_filepath
import cloudfiles
import mimetypes
class CloudFilesStorage(StorageInterface):
'''
OpenStack/Rackspace Cloud's Swift/CloudFiles support

View File

@ -13,5 +13,3 @@
#
# 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/>.

View File

@ -16,9 +16,9 @@
from mimetypes import guess_type
ALLOWED = ['image/jpeg', 'image/png', 'image/tiff', 'image/gif']
def check_filetype(posted_file):
if not guess_type(posted_file.filename)[0] in ALLOWED:
return False

View File

@ -39,7 +39,7 @@ def submit_start(request):
submit_form = submit_forms.SubmitStartForm(request.POST)
if request.method == 'POST' and submit_form.validate():
if not (request.POST.has_key('file')
if not ('file' in request.POST
and isinstance(request.POST['file'], FieldStorage)
and request.POST['file'].file):
submit_form.file.errors.append(
@ -60,9 +60,9 @@ def submit_start(request):
entry['description'] = unicode(request.POST.get('description'))
entry['description_html'] = cleaned_markdown_conversion(
entry['description'])
entry['media_type'] = u'image' # heh
entry['uploader'] = request.user['_id']
entry['media_type'] = u'image' # heh
entry['uploader'] = request.user._id
# Process the user's folksonomy "tags"
entry['tags'] = convert_to_tag_list_of_dicts(
@ -74,7 +74,7 @@ def submit_start(request):
# Now store generate the queueing related filename
queue_filepath = request.app.queue_store.get_unique_filepath(
['media_entries',
unicode(entry['_id']),
unicode(entry._id),
secure_filename(filename)])
# queue appropriately
@ -89,8 +89,10 @@ def submit_start(request):
# We generate this ourselves so we know what the taks id is for
# retrieval later.
# (If we got it off the task's auto-generation, there'd be a risk of
# a race condition when we'd save after sending off the task)
# (If we got it off the task's auto-generation, there'd be
# a risk of a race condition when we'd save after sending
# off the task)
task_id = unicode(uuid.uuid4())
entry['queued_task_id'] = task_id
@ -103,7 +105,7 @@ def submit_start(request):
# conditions with changes to the document via processing code)
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"
@ -112,16 +114,16 @@ def submit_start(request):
# expect a lot of users to run things in this way we have to
# capture stuff here.
#
# ... not completely the diaper pattern because the exception is
# re-raised :)
mark_entry_failed(entry[u'_id'], exc)
# ... not completely the diaper pattern because the
# exception is re-raised :)
mark_entry_failed(entry._id, exc)
# re-raise the exception
raise
add_message(request, SUCCESS, _('Woohoo! Submitted!'))
return redirect(request, "mediagoblin.user_pages.user_home",
user = request.user['username'])
user=request.user['username'])
return render_to_response(
request,

View File

@ -20,20 +20,15 @@
{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %}
{% block mediagoblin_content %}
<form action="{{ request.urlgen('mediagoblin.auth.forgot_password') }}"
method="POST" enctype="multipart/form-data">
{{ csrf_token }}
<div class="grid_6 prefix_1 suffix_1 form_box">
<h1>{% trans %}Enter your username or email{% endtrans %}</h1>
<h1>{% trans %}Recover password{% endtrans %}</h1>
{{ wtforms_util.render_divs(fp_form) }}
<div class="form_submit_buttons">
<input type="submit" value="submit" class="button"/>
<input type="submit" value="{% trans %}Send instructions{% endtrans %}" class="button"/>
</div>
</div>
</form>
{% endblock %}

View File

@ -30,7 +30,17 @@
{% trans %}Logging in failed!{% endtrans %}
</div>
{% endif %}
{% if allow_registration %}
<p>
{% trans %}Don't have an account yet?{% endtrans %} <a href="{{ request.urlgen('mediagoblin.auth.register') }}">
{%- trans %}Create one here!{% endtrans %}</a>
</p>
{% endif %}
{{ wtforms_util.render_divs(login_form) }}
<p>
<a href="{{ request.urlgen('mediagoblin.auth.forgot_password') }}">
{% trans %}Forgot your password?{% endtrans %}</a>
</p>
<div class="form_submit_buttons">
<input type="submit" value="{% trans %}Log in{% endtrans %}" class="button"/>
</div>
@ -38,20 +48,6 @@
<input type="hidden" name="next" value="{{ next }}" class="button"
style="display: none;"/>
{% endif %}
{% if allow_registration %}
<p>
{% trans %}Don't have an account yet?{% endtrans %}
<br />
<a href="{{ request.urlgen('mediagoblin.auth.register') }}">
{%- trans %}Create one here!{% endtrans %}</a>
</p>
<p>
{% trans %}Forgot your password?{% endtrans %}
<br />
<a href="{{ request.urlgen('mediagoblin.auth.forgot_password') }}">
{%- trans %}Change it!{% endtrans %}</a>
</p>
{% endif %}
</div>
</form>
{% endblock %}

View File

@ -19,7 +19,7 @@
<html>
<head>
<meta charset="utf-8">
<title>{% block title %}{% trans %}GNU MediaGoblin{% endtrans %}{% endblock title %}</title>
<title>{% block title %}{{ app_config['html_title'] }}{% endblock %}</title>
<link rel="stylesheet" type="text/css"
href="{{ request.staticdirect('/css/extlib/reset.css') }}"/>
<link rel="stylesheet" type="text/css"
@ -67,7 +67,7 @@
user= request.user['username']) }}">
{{ request.user['username'] }}</a>
(<a href="{{ request.urlgen('mediagoblin.auth.logout') }}">log out</a>)
(<a href="{{ request.urlgen('mediagoblin.auth.logout') }}">{% trans %}log out{% endtrans %}</a>)
{% else %}
<a href="{{ request.urlgen('mediagoblin.auth.login') }}">
{% trans %}Log in{% endtrans %}</a>

View File

@ -26,9 +26,13 @@
tag=tag_slug) }}">
{% endblock mediagoblin_head %}
{% block title %}
{% trans %}Media tagged with: {{ tag_name }}{% endtrans %} &mdash; {{ super() }}
{% endblock %}
{% block mediagoblin_content -%}
<h1>
{% trans %}Media tagged with:{% endtrans %} {{ tag_name }}
{% trans %}Media tagged with: {{ tag_name }}{% endtrans %}
</h1>
<div class="container_16 media_gallery">

View File

@ -24,30 +24,21 @@
<h1>{% trans %}Explore{% endtrans %}</h1>
{% else %}
<div class="grid_11 alpha">
<h1>{% trans %}Hi there, media lover! MediaGoblin is...{% endtrans %}</h1>
<ul>
<li>{% trans %}The perfect place for your media!{% endtrans %}</li>
<li>{% trans %}A place for people to collaborate and show off original and derived creations!{% endtrans %}</li>
<li>{% trans %}Free, as in freedom. (Were a <a href="http://gnu.org">GNU</a> project, after all.){% endtrans %}</li>
<li>{% trans %}Aiming to make the world a better place through decentralization and (eventually, coming soon!) federation!{% endtrans %}</li>
<li>{% trans %}Built for extensibility. (Multiple media types coming soon to the software, including video support!){% endtrans %}</li>
<li>{% trans %}Powered by people like you. (<a href="http://mediagoblin.org/pages/join.html">You can help us improve this software!</a>){% endtrans %}</li>
</ul>
<h1>{% trans %}Hi there, welcome to this MediaGoblin site!{% endtrans %}</h1>
<p>{% trans %}Your finest source for all goblin-related media.{% endtrans %}</p>
<p>{% trans %}To add your own media, place comments, save your favourites and more, you can log in with your MediaGoblin account.{% endtrans %}</p>
{% if allow_registration %}
<p>{% trans %}Excited to join us?{% endtrans %}<p>
<p>{% trans %}Don't have one yet? It's easy!{% endtrans %}</p>
{% trans register_url=request.urlgen('mediagoblin.auth.register') -%}
<a class="header_submit_highlight" href="{{ register_url }}">Create a free account</a>
<a class="header_submit_highlight" href="{{ register_url }}">Create an account at this site</a>
or
<a class="header_submit" href="http://wiki.mediagoblin.org/HackingHowto">Set up MediaGoblin on your own server</a>
{%- endtrans %}
{% endif %}
</div>
<div class="grid_5 omega">
<img src="{{ request.staticdirect('/images/frontpage_image.png') }}" />
</div>
<div class="clear"></div>
{% endif %}
<h2>{% trans %}Most recent media{% endtrans %}</h2>

View File

@ -26,29 +26,30 @@
user=user.username) }}">
{% endblock mediagoblin_head %}
{% block title %}
{%- trans username=user.username -%}
{{ username }}'s media
{%- endtrans %} &mdash; {{ super() }}
{% endblock %}
{% block mediagoblin_content -%}
{% if user %}
<h1>
{%- trans username=user.username,
user_url=request.urlgen(
'mediagoblin.user_pages.user_home',
user=user.username) -%}
<a href="{{ user_url }}">{{ username }}</a>'s media
{%- endtrans %}
</h1>
<h1>
{%- trans username=user.username,
user_url=request.urlgen(
'mediagoblin.user_pages.user_home',
user=user.username) -%}
<a href="{{ user_url }}">{{ username }}</a>'s media
{%- endtrans %}
</h1>
<div class="container_16 media_gallery">
{{ object_gallery(request, media_entries, pagination) }}
</div>
<div class="container_16 media_gallery">
{{ object_gallery(request, media_entries, pagination) }}
</div>
<div class="grid_16">
{% set feed_url = request.urlgen(
'mediagoblin.user_pages.atom_feed',
user=user.username) %}
{% include "mediagoblin/utils/feed_link.html" %}
</div>
{% else %}
{# This *should* not occur as the view makes sure we pass in a user. #}
<p>{% trans %}Sorry, no such user found.{% endtrans %}<p/>
{% endif %}
<div class="grid_16">
{% set feed_url = request.urlgen(
'mediagoblin.user_pages.atom_feed',
user=user.username) %}
{% include "mediagoblin/utils/feed_link.html" %}
</div>
{% endblock %}

View File

@ -20,6 +20,8 @@
{% import "/mediagoblin/utils/wtforms.html" as wtforms_util %}
{% from "mediagoblin/utils/pagination.html" import render_pagination %}
{% block title %}{{ media.title }} &mdash; {{ super() }}{% endblock %}
{% block mediagoblin_content %}
{% if media %}
<div class="grid_11 alpha">
@ -47,67 +49,61 @@
<h2 class="media_title">
{{ media.title }}
</h2>
{% autoescape False %}
<p>{{ media.description_html }}</p>
{% endautoescape %}
<p class="media_uploader">
{% trans date=media.created.strftime("%Y-%m-%d"),
user_url=request.urlgen(
'mediagoblin.user_pages.user_home',
user=media.uploader().username),
username=media.uploader().username -%}
Uploaded on {{ date }} by <a href="{{ user_url }}">{{ username }}</a>
By <a href="{{ user_url }}">{{ username }}</a> on {{ date }}
{%- endtrans %}
</p>
{% autoescape False %}
<p>{{ media.description_html }}</p>
{% endautoescape %}
<br />
<h3>{% trans %}Comments{% endtrans %}</h3>
{% if request.user %}
<form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment',
user= media.uploader().username,
media=media._id) }}" method="POST">
{{ wtforms_util.render_divs(comment_form) }}
<div class="form_submit_buttons">
<input type="submit" value="{% trans %}Post comment!{% endtrans %}" class="button" />
{{ csrf_token }}
</div>
</form>
<h3></h3>
{% if request.user and comments.count() %}
<p><a href="#comment_form">{% trans %}Post a comment{% endtrans %}</a></p>
{% endif %}
{% if comments %}
{% for comment in comments %}
{% set comment_author = comment.author() %}
{% if pagination.active_id == comment._id %}
<div class="comment_wrapper comment_active" id="comment-{{ 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_content">
{% autoescape False %}
{{ comment.content_html }}
<div class="comment_content">{% autoescape False %}{{ comment.content_html }}
{% endautoescape %}
</div>
<div class="comment_author">&mdash;
<a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
<img src="{{ request.staticdirect('/images/icon_comment.png') }}" />
<a href="{{ request.urlgen('mediagoblin.user_pages.user_home',
user = comment_author['username']) }}">
{{ comment_author['username'] }}</a>
{% trans %}at{% endtrans %}
<a href="{{ request.urlgen('mediagoblin.user_pages.media_home.view_comment',
comment = comment['_id'],
comment = comment._id,
user = media.uploader().username,
media = media._id) }}#comment">
{{ comment.created.strftime("%Y-%m-%d %I:%M%p") }}
{{ comment.created.strftime("%I:%M%p %Y-%m-%d") }}
</a>
</div>
</div>
{% endfor %}
{% if request.user %}
<form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment',
user= media.uploader().username,
media=media._id) }}" method="POST">
{{ wtforms_util.render_divs(comment_form) }}
<div class="form_submit_buttons">
<input type="submit" value="{% trans %}Post comment!{% endtrans %}" class="button" />
{{ csrf_token }}
</div>
</form>
{% endif %}
{{ render_pagination(request, pagination,
request.urlgen('mediagoblin.user_pages.media_home',
user = media.uploader().username,
@ -118,9 +114,9 @@
<div class="grid_5 omega">
{% include "mediagoblin/utils/prev_next.html" %}
{% if media['uploader'] == request.user['_id'] or
{% if media['uploader'] == request.user._id or
request.user['is_admin'] %}
<h3>Temporary button holder</h3>
<h3>{% trans %}Actions{% endtrans %}</h3>
<p>
{% set edit_url = request.urlgen('mediagoblin.edit.edit_media',
user= media.uploader().username,
@ -155,7 +151,7 @@
{% endif %}
{% if app_config['allow_attachments']
and (media['uploader'] == request.user['_id']
and (media['uploader'] == request.user._id
or request.user['is_admin']) %}
<p>
<a href="{{ request.urlgen('mediagoblin.edit.attachments',

Some files were not shown because too many files have changed in this diff Show More