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

Conflicts:
	docs/source/siteadmin/media-types.rst
This commit is contained in:
Mike Linksvayer 2012-12-20 12:50:43 -08:00
commit 1d0148aef1
157 changed files with 13322 additions and 5674 deletions

10
AUTHORS
View File

@ -8,6 +8,7 @@ variety of different ways and this software wouldn't exist without them.
Thank you! Thank you!
* Aaron Williamson * Aaron Williamson
* Aeva Ntsc
* Alejandro Villanueva * Alejandro Villanueva
* Aleksandar Micovic * Aleksandar Micovic
* Alex Camelio * Alex Camelio
@ -17,12 +18,15 @@ Thank you!
* Chris Moylan * Chris Moylan
* Christopher Allan Webber * Christopher Allan Webber
* Daniel Neel * Daniel Neel
* Duncan Paterson
* Deb Nicholson * Deb Nicholson
* Elrond of Samba TNG * Elrond of Samba TNG
* Emily O'Leary
* Jakob Kramer * Jakob Kramer
* Jef van Schendel * Jef van Schendel
* Joar Wandborg * Joar Wandborg
* Karen Rustad * Karen Rustad
* Kuno Woudt
* Mark Holmquist * Mark Holmquist
* Matt Lee * Matt Lee
* Nathan Yergler * Nathan Yergler
@ -36,3 +40,9 @@ Thank you!
* Will Kahn-Greene * Will Kahn-Greene
If you think your name should be on this list, let us know! If you think your name should be on this list, let us know!
We also are currently borrowing an image in
mediagoblin/static/images/media_thumbs/image.png from the wonderful
people at http://tango.freedesktop.org/ which is in the public
domain... thanks Tango folks!

View File

@ -1,5 +1,7 @@
recursive-include mediagoblin/templates *.html *.txt recursive-include mediagoblin/i18n *.mo
recursive-include mediagoblin/templates *.html *.txt *.xml
recursive-include mediagoblin/static *.js *.css *.png *.svg *.ico recursive-include mediagoblin/static *.js *.css *.png *.svg *.ico
recursive-include mediagoblin/tests *.ini recursive-include mediagoblin/tests *.ini
recursive-include docs *.rst *.html recursive-include docs *.rst *.html
include mediagoblin/config_spec.ini include mediagoblin/config_spec.ini
graft extlib

View File

@ -68,8 +68,6 @@ Software Stack
* `WebOb <http://pythonpaste.org/webob/>`_: nice abstraction layer * `WebOb <http://pythonpaste.org/webob/>`_: nice abstraction layer
from HTTP requests, responses and WSGI bits from HTTP requests, responses and WSGI bits
* `Routes <http://routes.groovie.org/>`_: for URL routing
* `Beaker <http://beaker.groovie.org/>`_: for handling sessions and * `Beaker <http://beaker.groovie.org/>`_: for handling sessions and
caching caching

View File

@ -32,6 +32,11 @@ GNU/Linux distro.
install. If instead you want to join in as a contributor, see our install. If instead you want to join in as a contributor, see our
`Hacking HOWTO <http://wiki.mediagoblin.org/HackingHowto>`_ instead. `Hacking HOWTO <http://wiki.mediagoblin.org/HackingHowto>`_ instead.
There are also many ways to install servers... for the sake of
simplicity, our instructions below describe installing with nginx.
For more recipes, including Apache, see
`our wiki <http://wiki.mediagoblin.org/Deployment>`_.
Prepare System Prepare System
-------------- --------------
@ -165,7 +170,7 @@ And set up the in-package virtualenv::
If you have problems here, consider trying to install virtualenv If you have problems here, consider trying to install virtualenv
with the ``--distribute`` or ``--no-site-packages`` options. If with the ``--distribute`` or ``--no-site-packages`` options. If
your system's default Python is in the 3.x series you man need to your system's default Python is in the 3.x series you may need to
run ``virtualenv`` with the ``--python=python2.7`` or run ``virtualenv`` with the ``--python=python2.7`` or
``--python=python2.6`` options. ``--python=python2.6`` options.
@ -173,7 +178,7 @@ The above provides an in-package install of ``virtualenv``. While this
is counter to the conventional ``virtualenv`` configuration, it is is counter to the conventional ``virtualenv`` configuration, it is
more reliable and considerably easier to configure and illustrate. If more reliable and considerably easier to configure and illustrate. If
you're familiar with Python packaging you may consider deploying with you're familiar with Python packaging you may consider deploying with
your preferred the method. your preferred method.
Assuming you are going to deploy with FastCGI, you should also install Assuming you are going to deploy with FastCGI, you should also install
flup:: flup::
@ -186,6 +191,12 @@ codebase, you should also run::
./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate ./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate
Note: If you are running an active site, depending on your server
configuration, you may need to stop it first or the dbupdate command
may hang (and it's certainly a good idea to restart it after the
update)
Deploy MediaGoblin Services Deploy MediaGoblin Services
--------------------------- ---------------------------

View File

@ -43,10 +43,14 @@ video media types, then the list would look like this::
media_types = mediagoblin.media_types.image, mediagoblin.media_types.video media_types = mediagoblin.media_types.image, mediagoblin.media_types.video
After adding new media types to ``mediagoblin_local.ini``, you need to run:: Note that after enabling new media types, you must run dbupdate like so::
./bin/gmg dbupdate ./bin/gmg dbupdate
If you are running an active site, depending on your server
configuration, you may need to stop it first (and it's certainly a
good idea to restart it after the update).
How does MediaGoblin decide which media type to use for a file? How does MediaGoblin decide which media type to use for a file?
=============================================================== ===============================================================
@ -73,6 +77,13 @@ good/bad/ugly). On Debianoid systems::
gstreamer0.10-ffmpeg gstreamer0.10-ffmpeg
Add ``mediagoblin.media_types.video`` to the ``media_types`` list in your
``mediagoblin_local.ini`` and restart MediaGoblin.
Run::
./bin/gmg dbupdate
Now you should be able to submit videos, and mediagoblin should Now you should be able to submit videos, and mediagoblin should
transcode them. transcode them.
@ -113,8 +124,13 @@ Then install ``scikits.audiolab`` for the spectrograms::
./bin/pip install scikits.audiolab ./bin/pip install scikits.audiolab
Add ``mediagoblin.media_types.audio`` to the ``media_types`` list in your Add ``mediagoblin.media_types.audio`` to the ``media_types`` list in your
``mediagoblin_local.ini`` and restart MediaGoblin. You should now be able to ``mediagoblin_local.ini`` and restart MediaGoblin.
upload and listen to audio files!
Run::
./bin/gmg dbupdate
You should now be able to upload and listen to audio files!
Ascii art Ascii art
@ -136,4 +152,28 @@ the list would look like this::
media_types = mediagoblin.media_types.image, mediagoblin.media_types.ascii media_types = mediagoblin.media_types.image, mediagoblin.media_types.ascii
Run::
./bin/gmg dbupdate
Now any .txt file you uploaded will be processed as ascii art! Now any .txt file you uploaded will be processed as ascii art!
STL / 3d model support
======================
To enable the "STL" 3d model support plugin, first make sure you have
a recentish `Blender <http://blender.org>`_ installed and available on
your execution path. This feature has been tested with Blender 2.63.
It may work on some earlier versions, but that is not guaranteed (and
is surely not to work prior to Blender 2.5X).
Add ``mediagoblin.media_types.stl`` to the ``media_types`` list in your
``mediagoblin_local.ini`` and restart MediaGoblin.
Run::
./bin/gmg dbupdate
You should now be able to upload .obj and .stl files and MediaGoblin
will be able to present them to your wide audience of admirers!

View File

@ -44,29 +44,33 @@ If the plugin is available on the `Python Package Index
pip install <plugin-name> pip install <plugin-name>
For example, if we wanted to install the plugin named For example, if we wanted to install the plugin named
"mediagoblin-restrictfive", we would do:: "mediagoblin-licenses" (which allows you to customize the licenses you
offer for your media), we would do::
pip install mediagoblin-restrictfive pip install mediagoblin-licenses
.. Note:: .. Note::
If you're using a virtual environment, make sure to activate the If you're using a virtual environment, make sure to activate the
virtual environment before installing with pip. Otherwise the virtual environment before installing with pip. Otherwise the plugin
plugin may get installed in a different environment than the one may get installed in a different environment than the one MediaGoblin
MediaGoblin is installed in. is installed in. Also make sure, you use e.g. pip-2.7 if your default
python (and thus pip) is python 3 (e.g. in Ubuntu).
Once you've installed the plugin software, you need to tell Once you've installed the plugin software, you need to tell
MediaGoblin that this is a plugin you want MediaGoblin to use. To do MediaGoblin that this is a plugin you want MediaGoblin to use. To do
that, you edit the ``mediagoblin.ini`` file and add the plugin as a that, you edit the ``mediagoblin.ini`` file and add the plugin as a
subsection of the plugin section. subsection of the plugin section.
For example, say the "mediagoblin-restrictfive" plugin had the Python For example, say the "mediagoblin-licenses" plugin has the Python
package path ``restrictfive``, then you would add ``restrictfive`` to package path ``mediagoblin_licenses``, then you would add ``mediagoblin_licenses`` to
the ``plugins`` section as a subsection:: the ``plugins`` section as a subsection::
[plugins] [plugins]
[[restrictfive]] [[mediagoblin_licenses]]
license_01=abbrev1, name1, http://url1
license_02=abbrev2, name1, http://url2
Configuring plugins Configuring plugins
@ -112,7 +116,7 @@ Removing plugins
To remove a plugin, use ``pip uninstall``. For example:: To remove a plugin, use ``pip uninstall``. For example::
pip uninstall mediagoblin-restrictfive pip uninstall mediagoblin-licenses
.. Note:: .. Note::

View File

@ -19,6 +19,81 @@ This chapter has important information for releases in it.
If you're upgrading from a previous release, please read it If you're upgrading from a previous release, please read it
carefully, or at least skim over it. carefully, or at least skim over it.
0.3.2
=====
This will be the last release that is capable of converting from an earlier
MongoDB-based MediaGoblin instance to the newer SQL-based system.
**Do this to upgrade**
1. Make sure to run ``bin/gmg dbupdate`` after upgrading.
**New features**
* **3d model support!**
You can now upload STL and OBJ files and display them in
MediaGoblin. Requires a recent-ish Blender; for details see:
:ref:`deploying-chapter`
* **trim_whitespace**
We bundle the optional plugin trim_whitespace which reduces the size
of the delivered html output by reducing redundant whitespace.
See :ref:`core-plugin-section` for plugin documentation
* **A new API!**
It isn't well documented yet but we do have an API. There is an
`android application in progress <https://gitorious.org/mediagoblin/mediagoblin-android>`_
which makes use of it, and there are some demo applications between
`automgtic <https://github.com/jwandborg/automgtic>`_, an
automatic media uploader for your desktop
and `OMGMG <https://github.com/jwandborg/omgmg>`_, an example of
a web application hooking up to the API.
This is a plugin, so you have to enable it in your mediagoblin
config file by adding a section under [plugins] like::
[plugins]
[[mediagoblin.plugins.api]]
Note that the API works but is not nailed down... the way it is
called may change in future releases.
* **OAuth login support**
For applications that use OAuth to connect to the API.
This is a plugin, so you have to enable it in your mediagoblin
config file by adding a section under [plugins] like::
[plugins]
[[mediagoblin.plugins.oauth]]
* **Collections**
We now have user-curated collections support. These are arbitrary
galleries that are customizable by users. You can add media to
these by clicking on the paperclip icon when logged in and looking
at a media entry.
* **OpenStreetMap licensing display improvements**
More accurate display of OSM licensing, and less disruptive: you
click to "expand" the display of said licensing.
Geolocation is also now on by default.
* **Miscelaneous visual improvements**
We've made a number of small visual improvements including newer and
nicer looking thumbnails and improved checkbox placement.
0.3.1 0.3.1
===== =====

View File

@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

View File

@ -0,0 +1,202 @@
// Three.js r32 - http://github.com/mrdoob/three.js
var THREE=THREE||{};THREE.Color=function(a){this.autoUpdate=true;this.setHex(a)};
THREE.Color.prototype={setRGB:function(a,c,d){this.r=a;this.g=c;this.b=d;if(this.autoUpdate){this.updateHex();this.updateStyleString()}},setHex:function(a){this.hex=~~a&16777215;if(this.autoUpdate){this.updateRGBA();this.updateStyleString()}},updateHex:function(){this.hex=~~(this.r*255)<<16^~~(this.g*255)<<8^~~(this.b*255)},updateRGBA:function(){this.r=(this.hex>>16&255)/255;this.g=(this.hex>>8&255)/255;this.b=(this.hex&255)/255},updateStyleString:function(){this.__styleString="rgb("+~~(this.r*255)+
","+~~(this.g*255)+","+~~(this.b*255)+")"},clone:function(){return new THREE.Color(this.hex)},toString:function(){return"THREE.Color ( r: "+this.r+", g: "+this.g+", b: "+this.b+", hex: "+this.hex+" )"}};THREE.Vector2=function(a,c){this.x=a||0;this.y=c||0};
THREE.Vector2.prototype={set:function(a,c){this.x=a;this.y=c;return this},copy:function(a){this.x=a.x;this.y=a.y;return this},addSelf:function(a){this.x+=a.x;this.y+=a.y;return this},add:function(a,c){this.x=a.x+c.x;this.y=a.y+c.y;return this},subSelf:function(a){this.x-=a.x;this.y-=a.y;return this},sub:function(a,c){this.x=a.x-c.x;this.y=a.y-c.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this},unit:function(){this.multiplyScalar(1/this.length());return this},length:function(){return Math.sqrt(this.x*
this.x+this.y*this.y)},lengthSq:function(){return this.x*this.x+this.y*this.y},negate:function(){this.x=-this.x;this.y=-this.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},toString:function(){return"THREE.Vector2 ("+this.x+", "+this.y+")"}};THREE.Vector3=function(a,c,d){this.x=a||0;this.y=c||0;this.z=d||0};
THREE.Vector3.prototype={set:function(a,c,d){this.x=a;this.y=c;this.z=d;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,c){this.x=a.x+c.x;this.y=a.y+c.y;this.z=a.z+c.z;return this},addSelf:function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},sub:function(a,c){this.x=a.x-c.x;this.y=a.y-c.y;this.z=a.z-c.z;return this},subSelf:function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},
cross:function(a,c){this.x=a.y*c.z-a.z*c.y;this.y=a.z*c.x-a.x*c.z;this.z=a.x*c.y-a.y*c.x;return this},crossSelf:function(a){var c=this.x,d=this.y,e=this.z;this.x=d*a.z-e*a.y;this.y=e*a.x-c*a.z;this.z=c*a.y-d*a.x;return this},multiply:function(a,c){this.x=a.x*c.x;this.y=a.y*c.y;this.z=a.z*c.z;return this},multiplySelf:function(a){this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},divideSelf:function(a){this.x/=a.x;this.y/=a.y;this.z/=
a.z;return this},divideScalar:function(a){this.x/=a;this.y/=a;this.z/=a;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},distanceTo:function(a){var c=this.x-a.x,d=this.y-a.y;a=this.z-a.z;return Math.sqrt(c*c+d*d+a*a)},distanceToSquared:function(a){var c=this.x-a.x,d=this.y-a.y;a=this.z-a.z;return c*c+d*d+a*a},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},negate:function(){this.x=
-this.x;this.y=-this.y;this.z=-this.z;return this},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z);a>0?this.multiplyScalar(1/a):this.set(0,0,0);return this},setLength:function(a){return this.normalize().multiplyScalar(a)},isZero:function(){return Math.abs(this.x)<1.0E-4&&Math.abs(this.y)<1.0E-4&&Math.abs(this.z)<1.0E-4},clone:function(){return new THREE.Vector3(this.x,this.y,this.z)},toString:function(){return"THREE.Vector3 ( "+this.x+", "+this.y+", "+this.z+" )"}};
THREE.Vector4=function(a,c,d,e){this.x=a||0;this.y=c||0;this.z=d||0;this.w=e||1};
THREE.Vector4.prototype={set:function(a,c,d,e){this.x=a;this.y=c;this.z=d;this.w=e;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=a.w||1;return this},add:function(a,c){this.x=a.x+c.x;this.y=a.y+c.y;this.z=a.z+c.z;this.w=a.w+c.w;return this},addSelf:function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},sub:function(a,c){this.x=a.x-c.x;this.y=a.y-c.y;this.z=a.z-c.z;this.w=a.w-c.w;return this},subSelf:function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;
return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this},divideScalar:function(a){this.x/=a;this.y/=a;this.z/=a;this.w/=a;return this},lerpSelf:function(a,c){this.x+=(a.x-this.x)*c;this.y+=(a.y-this.y)*c;this.z+=(a.z-this.z)*c;this.w+=(a.w-this.w)*c},clone:function(){return new THREE.Vector4(this.x,this.y,this.z,this.w)},toString:function(){return"THREE.Vector4 ("+this.x+", "+this.y+", "+this.z+", "+this.w+")"}};
THREE.Ray=function(a,c){this.origin=a||new THREE.Vector3;this.direction=c||new THREE.Vector3};
THREE.Ray.prototype={intersectScene:function(a){var c,d,e=a.objects,g=[];a=0;for(c=e.length;a<c;a++){d=e[a];if(d instanceof THREE.Mesh)g=g.concat(this.intersectObject(d))}g.sort(function(h,o){return h.distance-o.distance});return g},intersectObject:function(a){function c(K,p,U,F){F=F.clone().subSelf(p);U=U.clone().subSelf(p);var f=K.clone().subSelf(p);K=F.dot(F);p=F.dot(U);F=F.dot(f);var j=U.dot(U);U=U.dot(f);f=1/(K*j-p*p);j=(j*F-p*U)*f;K=(K*U-p*F)*f;return j>0&&K>0&&j+K<1}var d,e,g,h,o,b,i,k,y,z,
u,x=a.geometry,H=x.vertices,J=[];d=0;for(e=x.faces.length;d<e;d++){g=x.faces[d];z=this.origin.clone();u=this.direction.clone();h=a.matrix.multiplyVector3(H[g.a].position.clone());o=a.matrix.multiplyVector3(H[g.b].position.clone());b=a.matrix.multiplyVector3(H[g.c].position.clone());i=g instanceof THREE.Face4?a.matrix.multiplyVector3(H[g.d].position.clone()):null;k=a.rotationMatrix.multiplyVector3(g.normal.clone());y=u.dot(k);if(y<0){k=k.dot((new THREE.Vector3).sub(h,z))/y;z=z.addSelf(u.multiplyScalar(k));
if(g instanceof THREE.Face3){if(c(z,h,o,b)){g={distance:this.origin.distanceTo(z),point:z,face:g,object:a};J.push(g)}}else if(g instanceof THREE.Face4)if(c(z,h,o,i)||c(z,o,b,i)){g={distance:this.origin.distanceTo(z),point:z,face:g,object:a};J.push(g)}}}return J}};
THREE.Rectangle=function(){function a(){h=e-c;o=g-d}var c,d,e,g,h,o,b=true;this.getX=function(){return c};this.getY=function(){return d};this.getWidth=function(){return h};this.getHeight=function(){return o};this.getLeft=function(){return c};this.getTop=function(){return d};this.getRight=function(){return e};this.getBottom=function(){return g};this.set=function(i,k,y,z){b=false;c=i;d=k;e=y;g=z;a()};this.addPoint=function(i,k){if(b){b=false;c=i;d=k;e=i;g=k}else{c=c<i?c:i;d=d<k?d:k;e=e>i?e:i;g=g>k?
g:k}a()};this.add3Points=function(i,k,y,z,u,x){if(b){b=false;c=i<y?i<u?i:u:y<u?y:u;d=k<z?k<x?k:x:z<x?z:x;e=i>y?i>u?i:u:y>u?y:u;g=k>z?k>x?k:x:z>x?z:x}else{c=i<y?i<u?i<c?i:c:u<c?u:c:y<u?y<c?y:c:u<c?u:c;d=k<z?k<x?k<d?k:d:x<d?x:d:z<x?z<d?z:d:x<d?x:d;e=i>y?i>u?i>e?i:e:u>e?u:e:y>u?y>e?y:e:u>e?u:e;g=k>z?k>x?k>g?k:g:x>g?x:g:z>x?z>g?z:g:x>g?x:g}a()};this.addRectangle=function(i){if(b){b=false;c=i.getLeft();d=i.getTop();e=i.getRight();g=i.getBottom()}else{c=c<i.getLeft()?c:i.getLeft();d=d<i.getTop()?d:i.getTop();
e=e>i.getRight()?e:i.getRight();g=g>i.getBottom()?g:i.getBottom()}a()};this.inflate=function(i){c-=i;d-=i;e+=i;g+=i;a()};this.minSelf=function(i){c=c>i.getLeft()?c:i.getLeft();d=d>i.getTop()?d:i.getTop();e=e<i.getRight()?e:i.getRight();g=g<i.getBottom()?g:i.getBottom();a()};this.instersects=function(i){return Math.min(e,i.getRight())-Math.max(c,i.getLeft())>=0&&Math.min(g,i.getBottom())-Math.max(d,i.getTop())>=0};this.empty=function(){b=true;g=e=d=c=0;a()};this.isEmpty=function(){return b};this.toString=
function(){return"THREE.Rectangle ( left: "+c+", right: "+e+", top: "+d+", bottom: "+g+", width: "+h+", height: "+o+" )"}};THREE.Matrix3=function(){this.m=[]};THREE.Matrix3.prototype={transpose:function(){var a,c=this.m;a=c[1];c[1]=c[3];c[3]=a;a=c[2];c[2]=c[6];c[6]=a;a=c[5];c[5]=c[7];c[7]=a;return this}};
THREE.Matrix4=function(a,c,d,e,g,h,o,b,i,k,y,z,u,x,H,J){this.n11=a||1;this.n12=c||0;this.n13=d||0;this.n14=e||0;this.n21=g||0;this.n22=h||1;this.n23=o||0;this.n24=b||0;this.n31=i||0;this.n32=k||0;this.n33=y||1;this.n34=z||0;this.n41=u||0;this.n42=x||0;this.n43=H||0;this.n44=J||1;this.flat=Array(16);this.m33=new THREE.Matrix3};
THREE.Matrix4.prototype={identity:function(){this.n11=1;this.n21=this.n14=this.n13=this.n12=0;this.n22=1;this.n32=this.n31=this.n24=this.n23=0;this.n33=1;this.n43=this.n42=this.n41=this.n34=0;this.n44=1;return this},set:function(a,c,d,e,g,h,o,b,i,k,y,z,u,x,H,J){this.n11=a;this.n12=c;this.n13=d;this.n14=e;this.n21=g;this.n22=h;this.n23=o;this.n24=b;this.n31=i;this.n32=k;this.n33=y;this.n34=z;this.n41=u;this.n42=x;this.n43=H;this.n44=J;return this},copy:function(a){this.n11=a.n11;this.n12=a.n12;this.n13=
a.n13;this.n14=a.n14;this.n21=a.n21;this.n22=a.n22;this.n23=a.n23;this.n24=a.n24;this.n31=a.n31;this.n32=a.n32;this.n33=a.n33;this.n34=a.n34;this.n41=a.n41;this.n42=a.n42;this.n43=a.n43;this.n44=a.n44;return this},lookAt:function(a,c,d){var e=THREE.Matrix4.__tmpVec1,g=THREE.Matrix4.__tmpVec2,h=THREE.Matrix4.__tmpVec3;h.sub(a,c).normalize();e.cross(d,h).normalize();g.cross(h,e).normalize();this.n11=e.x;this.n12=e.y;this.n13=e.z;this.n14=-e.dot(a);this.n21=g.x;this.n22=g.y;this.n23=g.z;this.n24=-g.dot(a);
this.n31=h.x;this.n32=h.y;this.n33=h.z;this.n34=-h.dot(a);this.n43=this.n42=this.n41=0;this.n44=1;return this},multiplyVector3:function(a){var c=a.x,d=a.y,e=a.z,g=1/(this.n41*c+this.n42*d+this.n43*e+this.n44);a.x=(this.n11*c+this.n12*d+this.n13*e+this.n14)*g;a.y=(this.n21*c+this.n22*d+this.n23*e+this.n24)*g;a.z=(this.n31*c+this.n32*d+this.n33*e+this.n34)*g;return a},multiplyVector4:function(a){var c=a.x,d=a.y,e=a.z,g=a.w;a.x=this.n11*c+this.n12*d+this.n13*e+this.n14*g;a.y=this.n21*c+this.n22*d+this.n23*
e+this.n24*g;a.z=this.n31*c+this.n32*d+this.n33*e+this.n34*g;a.w=this.n41*c+this.n42*d+this.n43*e+this.n44*g;return a},crossVector:function(a){var c=new THREE.Vector4;c.x=this.n11*a.x+this.n12*a.y+this.n13*a.z+this.n14*a.w;c.y=this.n21*a.x+this.n22*a.y+this.n23*a.z+this.n24*a.w;c.z=this.n31*a.x+this.n32*a.y+this.n33*a.z+this.n34*a.w;c.w=a.w?this.n41*a.x+this.n42*a.y+this.n43*a.z+this.n44*a.w:1;return c},multiply:function(a,c){var d=a.n11,e=a.n12,g=a.n13,h=a.n14,o=a.n21,b=a.n22,i=a.n23,k=a.n24,y=a.n31,
z=a.n32,u=a.n33,x=a.n34,H=a.n41,J=a.n42,K=a.n43,p=a.n44,U=c.n11,F=c.n12,f=c.n13,j=c.n14,q=c.n21,l=c.n22,r=c.n23,C=c.n24,m=c.n31,t=c.n32,v=c.n33,s=c.n34,n=c.n41,E=c.n42,A=c.n43,O=c.n44;this.n11=d*U+e*q+g*m+h*n;this.n12=d*F+e*l+g*t+h*E;this.n13=d*f+e*r+g*v+h*A;this.n14=d*j+e*C+g*s+h*O;this.n21=o*U+b*q+i*m+k*n;this.n22=o*F+b*l+i*t+k*E;this.n23=o*f+b*r+i*v+k*A;this.n24=o*j+b*C+i*s+k*O;this.n31=y*U+z*q+u*m+x*n;this.n32=y*F+z*l+u*t+x*E;this.n33=y*f+z*r+u*v+x*A;this.n34=y*j+z*C+u*s+x*O;this.n41=H*U+J*q+
K*m+p*n;this.n42=H*F+J*l+K*t+p*E;this.n43=H*f+J*r+K*v+p*A;this.n44=H*j+J*C+K*s+p*O;return this},multiplySelf:function(a){var c=this.n11,d=this.n12,e=this.n13,g=this.n14,h=this.n21,o=this.n22,b=this.n23,i=this.n24,k=this.n31,y=this.n32,z=this.n33,u=this.n34,x=this.n41,H=this.n42,J=this.n43,K=this.n44,p=a.n11,U=a.n21,F=a.n31,f=a.n41,j=a.n12,q=a.n22,l=a.n32,r=a.n42,C=a.n13,m=a.n23,t=a.n33,v=a.n43,s=a.n14,n=a.n24,E=a.n34;a=a.n44;this.n11=c*p+d*U+e*F+g*f;this.n12=c*j+d*q+e*l+g*r;this.n13=c*C+d*m+e*t+g*
v;this.n14=c*s+d*n+e*E+g*a;this.n21=h*p+o*U+b*F+i*f;this.n22=h*j+o*q+b*l+i*r;this.n23=h*C+o*m+b*t+i*v;this.n24=h*s+o*n+b*E+i*a;this.n31=k*p+y*U+z*F+u*f;this.n32=k*j+y*q+z*l+u*r;this.n33=k*C+y*m+z*t+u*v;this.n34=k*s+y*n+z*E+u*a;this.n41=x*p+H*U+J*F+K*f;this.n42=x*j+H*q+J*l+K*r;this.n43=x*C+H*m+J*t+K*v;this.n44=x*s+H*n+J*E+K*a;return this},multiplyScalar:function(a){this.n11*=a;this.n12*=a;this.n13*=a;this.n14*=a;this.n21*=a;this.n22*=a;this.n23*=a;this.n24*=a;this.n31*=a;this.n32*=a;this.n33*=a;this.n34*=
a;this.n41*=a;this.n42*=a;this.n43*=a;this.n44*=a;return this},determinant:function(){var a=this.n11,c=this.n12,d=this.n13,e=this.n14,g=this.n21,h=this.n22,o=this.n23,b=this.n24,i=this.n31,k=this.n32,y=this.n33,z=this.n34,u=this.n41,x=this.n42,H=this.n43,J=this.n44;return e*o*k*u-d*b*k*u-e*h*y*u+c*b*y*u+d*h*z*u-c*o*z*u-e*o*i*x+d*b*i*x+e*g*y*x-a*b*y*x-d*g*z*x+a*o*z*x+e*h*i*H-c*b*i*H-e*g*k*H+a*b*k*H+c*g*z*H-a*h*z*H-d*h*i*J+c*o*i*J+d*g*k*J-a*o*k*J-c*g*y*J+a*h*y*J},transpose:function(){function a(c,d,
e){var g=c[d];c[d]=c[e];c[e]=g}a(this,"n21","n12");a(this,"n31","n13");a(this,"n32","n23");a(this,"n41","n14");a(this,"n42","n24");a(this,"n43","n34");return this},clone:function(){var a=new THREE.Matrix4;a.n11=this.n11;a.n12=this.n12;a.n13=this.n13;a.n14=this.n14;a.n21=this.n21;a.n22=this.n22;a.n23=this.n23;a.n24=this.n24;a.n31=this.n31;a.n32=this.n32;a.n33=this.n33;a.n34=this.n34;a.n41=this.n41;a.n42=this.n42;a.n43=this.n43;a.n44=this.n44;return a},flatten:function(){var a=this.flat;a[0]=this.n11;
a[1]=this.n21;a[2]=this.n31;a[3]=this.n41;a[4]=this.n12;a[5]=this.n22;a[6]=this.n32;a[7]=this.n42;a[8]=this.n13;a[9]=this.n23;a[10]=this.n33;a[11]=this.n43;a[12]=this.n14;a[13]=this.n24;a[14]=this.n34;a[15]=this.n44;return a},setTranslation:function(a,c,d){this.set(1,0,0,a,0,1,0,c,0,0,1,d,0,0,0,1);return this},setScale:function(a,c,d){this.set(a,0,0,0,0,c,0,0,0,0,d,0,0,0,0,1);return this},setRotX:function(a){var c=Math.cos(a);a=Math.sin(a);this.set(1,0,0,0,0,c,-a,0,0,a,c,0,0,0,0,1);return this},setRotY:function(a){var c=
Math.cos(a);a=Math.sin(a);this.set(c,0,a,0,0,1,0,0,-a,0,c,0,0,0,0,1);return this},setRotZ:function(a){var c=Math.cos(a);a=Math.sin(a);this.set(c,-a,0,0,a,c,0,0,0,0,1,0,0,0,0,1);return this},setRotAxis:function(a,c){var d=Math.cos(c),e=Math.sin(c),g=1-d,h=a.x,o=a.y,b=a.z,i=g*h,k=g*o;this.set(i*h+d,i*o-e*b,i*b+e*o,0,i*o+e*b,k*o+d,k*b-e*h,0,i*b-e*o,k*b+e*h,g*b*b+d,0,0,0,0,1);return this},toString:function(){return"| "+this.n11+" "+this.n12+" "+this.n13+" "+this.n14+" |\n| "+this.n21+" "+this.n22+" "+
this.n23+" "+this.n24+" |\n| "+this.n31+" "+this.n32+" "+this.n33+" "+this.n34+" |\n| "+this.n41+" "+this.n42+" "+this.n43+" "+this.n44+" |"}};THREE.Matrix4.translationMatrix=function(a,c,d){var e=new THREE.Matrix4;e.setTranslation(a,c,d);return e};THREE.Matrix4.scaleMatrix=function(a,c,d){var e=new THREE.Matrix4;e.setScale(a,c,d);return e};THREE.Matrix4.rotationXMatrix=function(a){var c=new THREE.Matrix4;c.setRotX(a);return c};
THREE.Matrix4.rotationYMatrix=function(a){var c=new THREE.Matrix4;c.setRotY(a);return c};THREE.Matrix4.rotationZMatrix=function(a){var c=new THREE.Matrix4;c.setRotZ(a);return c};THREE.Matrix4.rotationAxisAngleMatrix=function(a,c){var d=new THREE.Matrix4;d.setRotAxis(a,c);return d};
THREE.Matrix4.makeInvert=function(a){var c=a.n11,d=a.n12,e=a.n13,g=a.n14,h=a.n21,o=a.n22,b=a.n23,i=a.n24,k=a.n31,y=a.n32,z=a.n33,u=a.n34,x=a.n41,H=a.n42,J=a.n43,K=a.n44,p=new THREE.Matrix4;p.n11=b*u*H-i*z*H+i*y*J-o*u*J-b*y*K+o*z*K;p.n12=g*z*H-e*u*H-g*y*J+d*u*J+e*y*K-d*z*K;p.n13=e*i*H-g*b*H+g*o*J-d*i*J-e*o*K+d*b*K;p.n14=g*b*y-e*i*y-g*o*z+d*i*z+e*o*u-d*b*u;p.n21=i*z*x-b*u*x-i*k*J+h*u*J+b*k*K-h*z*K;p.n22=e*u*x-g*z*x+g*k*J-c*u*J-e*k*K+c*z*K;p.n23=g*b*x-e*i*x-g*h*J+c*i*J+e*h*K-c*b*K;p.n24=e*i*k-g*b*k+
g*h*z-c*i*z-e*h*u+c*b*u;p.n31=o*u*x-i*y*x+i*k*H-h*u*H-o*k*K+h*y*K;p.n32=g*y*x-d*u*x-g*k*H+c*u*H+d*k*K-c*y*K;p.n33=e*i*x-g*o*x+g*h*H-c*i*H-d*h*K+c*o*K;p.n34=g*o*k-d*i*k-g*h*y+c*i*y+d*h*u-c*o*u;p.n41=b*y*x-o*z*x-b*k*H+h*z*H+o*k*J-h*y*J;p.n42=d*z*x-e*y*x+e*k*H-c*z*H-d*k*J+c*y*J;p.n43=e*o*x-d*b*x-e*h*H+c*b*H+d*h*J-c*o*J;p.n44=d*b*k-e*o*k+e*h*y-c*b*y-d*h*z+c*o*z;p.multiplyScalar(1/a.determinant());return p};
THREE.Matrix4.makeInvert3x3=function(a){var c=a.flatten();a=a.m33;var d=a.m,e=c[10]*c[5]-c[6]*c[9],g=-c[10]*c[1]+c[2]*c[9],h=c[6]*c[1]-c[2]*c[5],o=-c[10]*c[4]+c[6]*c[8],b=c[10]*c[0]-c[2]*c[8],i=-c[6]*c[0]+c[2]*c[4],k=c[9]*c[4]-c[5]*c[8],y=-c[9]*c[0]+c[1]*c[8],z=c[5]*c[0]-c[1]*c[4];c=c[0]*e+c[1]*o+c[2]*k;if(c==0)throw"matrix not invertible";c=1/c;d[0]=c*e;d[1]=c*g;d[2]=c*h;d[3]=c*o;d[4]=c*b;d[5]=c*i;d[6]=c*k;d[7]=c*y;d[8]=c*z;return a};
THREE.Matrix4.makeFrustum=function(a,c,d,e,g,h){var o,b,i;o=new THREE.Matrix4;b=2*g/(c-a);i=2*g/(e-d);a=(c+a)/(c-a);d=(e+d)/(e-d);e=-(h+g)/(h-g);g=-2*h*g/(h-g);o.n11=b;o.n12=0;o.n13=a;o.n14=0;o.n21=0;o.n22=i;o.n23=d;o.n24=0;o.n31=0;o.n32=0;o.n33=e;o.n34=g;o.n41=0;o.n42=0;o.n43=-1;o.n44=0;return o};THREE.Matrix4.makePerspective=function(a,c,d,e){var g;a=d*Math.tan(a*Math.PI/360);g=-a;return THREE.Matrix4.makeFrustum(g*c,a*c,g,a,d,e)};
THREE.Matrix4.makeOrtho=function(a,c,d,e,g,h){var o,b,i,k;o=new THREE.Matrix4;b=c-a;i=d-e;k=h-g;a=(c+a)/b;d=(d+e)/i;g=(h+g)/k;o.n11=2/b;o.n12=0;o.n13=0;o.n14=-a;o.n21=0;o.n22=2/i;o.n23=0;o.n24=-d;o.n31=0;o.n32=0;o.n33=-2/k;o.n34=-g;o.n41=0;o.n42=0;o.n43=0;o.n44=1;return o};THREE.Matrix4.__tmpVec1=new THREE.Vector3;THREE.Matrix4.__tmpVec2=new THREE.Vector3;THREE.Matrix4.__tmpVec3=new THREE.Vector3;
THREE.Vertex=function(a,c){this.position=a||new THREE.Vector3;this.positionWorld=new THREE.Vector3;this.positionScreen=new THREE.Vector4;this.normal=c||new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.normalScreen=new THREE.Vector3;this.tangent=new THREE.Vector4;this.__visible=true};THREE.Vertex.prototype={toString:function(){return"THREE.Vertex ( position: "+this.position+", normal: "+this.normal+" )"}};
THREE.Face3=function(a,c,d,e,g){this.a=a;this.b=c;this.c=d;this.centroid=new THREE.Vector3;this.normal=e instanceof THREE.Vector3?e:new THREE.Vector3;this.vertexNormals=e instanceof Array?e:[];this.materials=g instanceof Array?g:[g]};THREE.Face3.prototype={toString:function(){return"THREE.Face3 ( "+this.a+", "+this.b+", "+this.c+" )"}};
THREE.Face4=function(a,c,d,e,g,h){this.a=a;this.b=c;this.c=d;this.d=e;this.centroid=new THREE.Vector3;this.normal=g instanceof THREE.Vector3?g:new THREE.Vector3;this.vertexNormals=g instanceof Array?g:[];this.materials=h instanceof Array?h:[h]};THREE.Face4.prototype={toString:function(){return"THREE.Face4 ( "+this.a+", "+this.b+", "+this.c+" "+this.d+" )"}};THREE.UV=function(a,c){this.u=a||0;this.v=c||0};
THREE.UV.prototype={copy:function(a){this.u=a.u;this.v=a.v},toString:function(){return"THREE.UV ("+this.u+", "+this.v+")"}};THREE.Geometry=function(){this.vertices=[];this.faces=[];this.uvs=[];this.boundingSphere=this.boundingBox=null;this.geometryChunks={};this.hasTangents=false};
THREE.Geometry.prototype={computeCentroids:function(){var a,c,d;a=0;for(c=this.faces.length;a<c;a++){d=this.faces[a];d.centroid.set(0,0,0);if(d instanceof THREE.Face3){d.centroid.addSelf(this.vertices[d.a].position);d.centroid.addSelf(this.vertices[d.b].position);d.centroid.addSelf(this.vertices[d.c].position);d.centroid.divideScalar(3)}else if(d instanceof THREE.Face4){d.centroid.addSelf(this.vertices[d.a].position);d.centroid.addSelf(this.vertices[d.b].position);d.centroid.addSelf(this.vertices[d.c].position);
d.centroid.addSelf(this.vertices[d.d].position);d.centroid.divideScalar(4)}}},computeFaceNormals:function(a){var c,d,e,g,h,o,b=new THREE.Vector3,i=new THREE.Vector3;e=0;for(g=this.vertices.length;e<g;e++){h=this.vertices[e];h.normal.set(0,0,0)}e=0;for(g=this.faces.length;e<g;e++){h=this.faces[e];if(a&&h.vertexNormals.length){b.set(0,0,0);c=0;for(d=h.normal.length;c<d;c++)b.addSelf(h.vertexNormals[c]);b.divideScalar(3)}else{c=this.vertices[h.a];d=this.vertices[h.b];o=this.vertices[h.c];b.sub(o.position,
d.position);i.sub(c.position,d.position);b.crossSelf(i)}b.isZero()||b.normalize();h.normal.copy(b)}},computeVertexNormals:function(){var a,c,d,e;if(this.__tmpVertices==undefined){e=this.__tmpVertices=Array(this.vertices.length);a=0;for(c=this.vertices.length;a<c;a++)e[a]=new THREE.Vector3;a=0;for(c=this.faces.length;a<c;a++){d=this.faces[a];if(d instanceof THREE.Face3)d.vertexNormals=[new THREE.Vector3,new THREE.Vector3,new THREE.Vector3];else if(d instanceof THREE.Face4)d.vertexNormals=[new THREE.Vector3,
new THREE.Vector3,new THREE.Vector3,new THREE.Vector3]}}else{e=this.__tmpVertices;a=0;for(c=this.vertices.length;a<c;a++)e[a].set(0,0,0)}a=0;for(c=this.faces.length;a<c;a++){d=this.faces[a];if(d instanceof THREE.Face3){e[d.a].addSelf(d.normal);e[d.b].addSelf(d.normal);e[d.c].addSelf(d.normal)}else if(d instanceof THREE.Face4){e[d.a].addSelf(d.normal);e[d.b].addSelf(d.normal);e[d.c].addSelf(d.normal);e[d.d].addSelf(d.normal)}}a=0;for(c=this.vertices.length;a<c;a++)e[a].normalize();a=0;for(c=this.faces.length;a<
c;a++){d=this.faces[a];if(d instanceof THREE.Face3){d.vertexNormals[0].copy(e[d.a]);d.vertexNormals[1].copy(e[d.b]);d.vertexNormals[2].copy(e[d.c])}else if(d instanceof THREE.Face4){d.vertexNormals[0].copy(e[d.a]);d.vertexNormals[1].copy(e[d.b]);d.vertexNormals[2].copy(e[d.c]);d.vertexNormals[3].copy(e[d.d])}}},computeTangents:function(){function a(s,n,E,A,O,N,G){h=s.vertices[n].position;o=s.vertices[E].position;b=s.vertices[A].position;i=g[O];k=g[N];y=g[G];z=o.x-h.x;u=b.x-h.x;x=o.y-h.y;H=b.y-h.y;
J=o.z-h.z;K=b.z-h.z;p=k.u-i.u;U=y.u-i.u;F=k.v-i.v;f=y.v-i.v;j=1/(p*f-U*F);r.set((f*z-F*u)*j,(f*x-F*H)*j,(f*J-F*K)*j);C.set((p*u-U*z)*j,(p*H-U*x)*j,(p*K-U*J)*j);q[n].addSelf(r);q[E].addSelf(r);q[A].addSelf(r);l[n].addSelf(C);l[E].addSelf(C);l[A].addSelf(C)}var c,d,e,g,h,o,b,i,k,y,z,u,x,H,J,K,p,U,F,f,j,q=[],l=[],r=new THREE.Vector3,C=new THREE.Vector3,m=new THREE.Vector3,t=new THREE.Vector3,v=new THREE.Vector3;c=0;for(d=this.vertices.length;c<d;c++){q[c]=new THREE.Vector3;l[c]=new THREE.Vector3}c=0;
for(d=this.faces.length;c<d;c++){e=this.faces[c];g=this.uvs[c];if(e instanceof THREE.Face3){a(this,e.a,e.b,e.c,0,1,2);this.vertices[e.a].normal.copy(e.vertexNormals[0]);this.vertices[e.b].normal.copy(e.vertexNormals[1]);this.vertices[e.c].normal.copy(e.vertexNormals[2])}else if(e instanceof THREE.Face4){a(this,e.a,e.b,e.c,0,1,2);a(this,e.a,e.b,e.d,0,1,3);this.vertices[e.a].normal.copy(e.vertexNormals[0]);this.vertices[e.b].normal.copy(e.vertexNormals[1]);this.vertices[e.c].normal.copy(e.vertexNormals[2]);
this.vertices[e.d].normal.copy(e.vertexNormals[3])}}c=0;for(d=this.vertices.length;c<d;c++){v.copy(this.vertices[c].normal);e=q[c];m.copy(e);m.subSelf(v.multiplyScalar(v.dot(e))).normalize();t.cross(this.vertices[c].normal,e);e=t.dot(l[c]);e=e<0?-1:1;this.vertices[c].tangent.set(m.x,m.y,m.z,e)}this.hasTangents=true},computeBoundingBox:function(){var a;if(this.vertices.length>0){this.boundingBox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],
z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var c=1,d=this.vertices.length;c<d;c++){a=this.vertices[c];if(a.position.x<this.boundingBox.x[0])this.boundingBox.x[0]=a.position.x;else if(a.position.x>this.boundingBox.x[1])this.boundingBox.x[1]=a.position.x;if(a.position.y<this.boundingBox.y[0])this.boundingBox.y[0]=a.position.y;else if(a.position.y>this.boundingBox.y[1])this.boundingBox.y[1]=a.position.y;if(a.position.z<this.boundingBox.z[0])this.boundingBox.z[0]=a.position.z;else if(a.position.z>
this.boundingBox.z[1])this.boundingBox.z[1]=a.position.z}}},computeBoundingSphere:function(){for(var a=this.boundingSphere===null?0:this.boundingSphere.radius,c=0,d=this.vertices.length;c<d;c++)a=Math.max(a,this.vertices[c].position.length());this.boundingSphere={radius:a}},sortFacesByMaterial:function(){function a(y){var z=[];c=0;for(d=y.length;c<d;c++)y[c]==undefined?z.push("undefined"):z.push(y[c].toString());return z.join("_")}var c,d,e,g,h,o,b,i,k={};e=0;for(g=this.faces.length;e<g;e++){h=this.faces[e];
o=h.materials;b=a(o);if(k[b]==undefined)k[b]={hash:b,counter:0};i=k[b].hash+"_"+k[b].counter;if(this.geometryChunks[i]==undefined)this.geometryChunks[i]={faces:[],materials:o,vertices:0};h=h instanceof THREE.Face3?3:4;if(this.geometryChunks[i].vertices+h>65535){k[b].counter+=1;i=k[b].hash+"_"+k[b].counter;if(this.geometryChunks[i]==undefined)this.geometryChunks[i]={faces:[],materials:o,vertices:0}}this.geometryChunks[i].faces.push(e);this.geometryChunks[i].vertices+=h}},toString:function(){return"THREE.Geometry ( vertices: "+
this.vertices+", faces: "+this.faces+", uvs: "+this.uvs+" )"}};
THREE.Camera=function(a,c,d,e){this.fov=a;this.aspect=c;this.near=d;this.far=e;this.position=new THREE.Vector3;this.target={position:new THREE.Vector3};this.autoUpdateMatrix=true;this.projectionMatrix=null;this.matrix=new THREE.Matrix4;this.up=new THREE.Vector3(0,1,0);this.tmpVec=new THREE.Vector3;this.translateX=function(g){this.tmpVec.sub(this.target.position,this.position).normalize().multiplyScalar(g);this.tmpVec.crossSelf(this.up);this.position.addSelf(this.tmpVec);this.target.position.addSelf(this.tmpVec)};
this.translateZ=function(g){this.tmpVec.sub(this.target.position,this.position).normalize().multiplyScalar(g);this.position.subSelf(this.tmpVec);this.target.position.subSelf(this.tmpVec)};this.updateMatrix=function(){this.matrix.lookAt(this.position,this.target.position,this.up)};this.updateProjectionMatrix=function(){this.projectionMatrix=THREE.Matrix4.makePerspective(this.fov,this.aspect,this.near,this.far)};this.updateProjectionMatrix()};
THREE.Camera.prototype={toString:function(){return"THREE.Camera ( "+this.position+", "+this.target.position+" )"}};THREE.Light=function(a){this.color=new THREE.Color(a)};THREE.AmbientLight=function(a){THREE.Light.call(this,a)};THREE.AmbientLight.prototype=new THREE.Light;THREE.AmbientLight.prototype.constructor=THREE.AmbientLight;THREE.DirectionalLight=function(a,c){THREE.Light.call(this,a);this.position=new THREE.Vector3(0,1,0);this.intensity=c||1};THREE.DirectionalLight.prototype=new THREE.Light;
THREE.DirectionalLight.prototype.constructor=THREE.DirectionalLight;THREE.PointLight=function(a,c){THREE.Light.call(this,a);this.position=new THREE.Vector3;this.intensity=c||1};THREE.PointLight.prototype=new THREE.Light;THREE.PointLight.prototype.constructor=THREE.PointLight;
THREE.Object3D=function(){this.id=THREE.Object3DCounter.value++;this.position=new THREE.Vector3;this.rotation=new THREE.Vector3;this.scale=new THREE.Vector3(1,1,1);this.matrix=new THREE.Matrix4;this.rotationMatrix=new THREE.Matrix4;this.tmpMatrix=new THREE.Matrix4;this.screen=new THREE.Vector3;this.visible=this.autoUpdateMatrix=true};
THREE.Object3D.prototype={updateMatrix:function(){var a=this.position,c=this.rotation,d=this.scale,e=this.tmpMatrix;this.matrix.setTranslation(a.x,a.y,a.z);this.rotationMatrix.setRotX(c.x);if(c.y!=0){e.setRotY(c.y);this.rotationMatrix.multiplySelf(e)}if(c.z!=0){e.setRotZ(c.z);this.rotationMatrix.multiplySelf(e)}this.matrix.multiplySelf(this.rotationMatrix);if(d.x!=0||d.y!=0||d.z!=0){e.setScale(d.x,d.y,d.z);this.matrix.multiplySelf(e)}}};THREE.Object3DCounter={value:0};
THREE.Particle=function(a){THREE.Object3D.call(this);this.materials=a instanceof Array?a:[a];this.autoUpdateMatrix=false};THREE.Particle.prototype=new THREE.Object3D;THREE.Particle.prototype.constructor=THREE.Particle;THREE.ParticleSystem=function(a,c){THREE.Object3D.call(this);this.geometry=a;this.materials=c instanceof Array?c:[c];this.autoUpdateMatrix=false};THREE.ParticleSystem.prototype=new THREE.Object3D;THREE.ParticleSystem.prototype.constructor=THREE.ParticleSystem;
THREE.Line=function(a,c,d){THREE.Object3D.call(this);this.geometry=a;this.materials=c instanceof Array?c:[c];this.type=d!=undefined?d:THREE.LineStrip};THREE.LineStrip=0;THREE.LinePieces=1;THREE.Line.prototype=new THREE.Object3D;THREE.Line.prototype.constructor=THREE.Line;THREE.Mesh=function(a,c){THREE.Object3D.call(this);this.geometry=a;this.materials=c instanceof Array?c:[c];this.overdraw=this.doubleSided=this.flipSided=false;this.geometry.boundingSphere||this.geometry.computeBoundingSphere()};
THREE.Mesh.prototype=new THREE.Object3D;THREE.Mesh.prototype.constructor=THREE.Mesh;THREE.FlatShading=0;THREE.SmoothShading=1;THREE.NormalBlending=0;THREE.AdditiveBlending=1;THREE.SubtractiveBlending=2;
THREE.LineBasicMaterial=function(a){this.color=new THREE.Color(16777215);this.opacity=1;this.blending=THREE.NormalBlending;this.linewidth=1;this.linejoin=this.linecap="round";if(a){a.color!==undefined&&this.color.setHex(a.color);if(a.opacity!==undefined)this.opacity=a.opacity;if(a.blending!==undefined)this.blending=a.blending;if(a.linewidth!==undefined)this.linewidth=a.linewidth;if(a.linecap!==undefined)this.linecap=a.linecap;if(a.linejoin!==undefined)this.linejoin=a.linejoin}};
THREE.LineBasicMaterial.prototype={toString:function(){return"THREE.LineBasicMaterial (<br/>color: "+this.color+"<br/>opacity: "+this.opacity+"<br/>blending: "+this.blending+"<br/>linewidth: "+this.linewidth+"<br/>linecap: "+this.linecap+"<br/>linejoin: "+this.linejoin+"<br/>)"}};
THREE.MeshBasicMaterial=function(a){this.id=THREE.MeshBasicMaterialCounter.value++;this.color=new THREE.Color(16777215);this.env_map=this.map=null;this.combine=THREE.MultiplyOperation;this.reflectivity=1;this.refraction_ratio=0.98;this.fog=true;this.opacity=1;this.shading=THREE.SmoothShading;this.blending=THREE.NormalBlending;this.wireframe=false;this.wireframe_linewidth=1;this.wireframe_linejoin=this.wireframe_linecap="round";if(a){a.color!==undefined&&this.color.setHex(a.color);if(a.map!==undefined)this.map=
a.map;if(a.env_map!==undefined)this.env_map=a.env_map;if(a.combine!==undefined)this.combine=a.combine;if(a.reflectivity!==undefined)this.reflectivity=a.reflectivity;if(a.refraction_ratio!==undefined)this.refraction_ratio=a.refraction_ratio;if(a.fog!==undefined)this.fog=a.fog;if(a.opacity!==undefined)this.opacity=a.opacity;if(a.shading!==undefined)this.shading=a.shading;if(a.blending!==undefined)this.blending=a.blending;if(a.wireframe!==undefined)this.wireframe=a.wireframe;if(a.wireframe_linewidth!==
undefined)this.wireframe_linewidth=a.wireframe_linewidth;if(a.wireframe_linecap!==undefined)this.wireframe_linecap=a.wireframe_linecap;if(a.wireframe_linejoin!==undefined)this.wireframe_linejoin=a.wireframe_linejoin}};
THREE.MeshBasicMaterial.prototype={toString:function(){return"THREE.MeshBasicMaterial (<br/>id: "+this.id+"<br/>color: "+this.color+"<br/>map: "+this.map+"<br/>env_map: "+this.env_map+"<br/>combine: "+this.combine+"<br/>reflectivity: "+this.reflectivity+"<br/>refraction_ratio: "+this.refraction_ratio+"<br/>opacity: "+this.opacity+"<br/>blending: "+this.blending+"<br/>wireframe: "+this.wireframe+"<br/>wireframe_linewidth: "+this.wireframe_linewidth+"<br/>wireframe_linecap: "+this.wireframe_linecap+
"<br/>wireframe_linejoin: "+this.wireframe_linejoin+"<br/>)"}};THREE.MeshBasicMaterialCounter={value:0};
THREE.MeshLambertMaterial=function(a){this.id=THREE.MeshLambertMaterialCounter.value++;this.color=new THREE.Color(16777215);this.env_map=this.map=null;this.combine=THREE.MultiplyOperation;this.reflectivity=1;this.refraction_ratio=0.98;this.fog=true;this.opacity=1;this.shading=THREE.SmoothShading;this.blending=THREE.NormalBlending;this.wireframe=false;this.wireframe_linewidth=1;this.wireframe_linejoin=this.wireframe_linecap="round";if(a){a.color!==undefined&&this.color.setHex(a.color);if(a.map!==undefined)this.map=
a.map;if(a.env_map!==undefined)this.env_map=a.env_map;if(a.combine!==undefined)this.combine=a.combine;if(a.reflectivity!==undefined)this.reflectivity=a.reflectivity;if(a.refraction_ratio!==undefined)this.refraction_ratio=a.refraction_ratio;if(a.fog!==undefined)this.fog=a.fog;if(a.opacity!==undefined)this.opacity=a.opacity;if(a.shading!==undefined)this.shading=a.shading;if(a.blending!==undefined)this.blending=a.blending;if(a.wireframe!==undefined)this.wireframe=a.wireframe;if(a.wireframe_linewidth!==
undefined)this.wireframe_linewidth=a.wireframe_linewidth;if(a.wireframe_linecap!==undefined)this.wireframe_linecap=a.wireframe_linecap;if(a.wireframe_linejoin!==undefined)this.wireframe_linejoin=a.wireframe_linejoin}};
THREE.MeshLambertMaterial.prototype={toString:function(){return"THREE.MeshLambertMaterial (<br/>id: "+this.id+"<br/>color: "+this.color+"<br/>map: "+this.map+"<br/>env_map: "+this.env_map+"<br/>combine: "+this.combine+"<br/>reflectivity: "+this.reflectivity+"<br/>refraction_ratio: "+this.refraction_ratio+"<br/>opacity: "+this.opacity+"<br/>shading: "+this.shading+"<br/>blending: "+this.blending+"<br/>wireframe: "+this.wireframe+"<br/>wireframe_linewidth: "+this.wireframe_linewidth+"<br/>wireframe_linecap: "+
this.wireframe_linecap+"<br/>wireframe_linejoin: "+this.wireframe_linejoin+"<br/> )"}};THREE.MeshLambertMaterialCounter={value:0};
THREE.MeshPhongMaterial=function(a){this.id=THREE.MeshPhongMaterialCounter.value++;this.color=new THREE.Color(16777215);this.ambient=new THREE.Color(328965);this.specular=new THREE.Color(1118481);this.shininess=30;this.env_map=this.specular_map=this.map=null;this.combine=THREE.MultiplyOperation;this.reflectivity=1;this.refraction_ratio=0.98;this.fog=true;this.opacity=1;this.shading=THREE.SmoothShading;this.blending=THREE.NormalBlending;this.wireframe=false;this.wireframe_linewidth=1;this.wireframe_linejoin=
this.wireframe_linecap="round";if(a){if(a.color!==undefined)this.color=new THREE.Color(a.color);if(a.ambient!==undefined)this.ambient=new THREE.Color(a.ambient);if(a.specular!==undefined)this.specular=new THREE.Color(a.specular);if(a.shininess!==undefined)this.shininess=a.shininess;if(a.map!==undefined)this.map=a.map;if(a.specular_map!==undefined)this.specular_map=a.specular_map;if(a.env_map!==undefined)this.env_map=a.env_map;if(a.combine!==undefined)this.combine=a.combine;if(a.reflectivity!==undefined)this.reflectivity=
a.reflectivity;if(a.refraction_ratio!==undefined)this.refraction_ratio=a.refraction_ratio;if(a.fog!==undefined)this.fog=a.fog;if(a.opacity!==undefined)this.opacity=a.opacity;if(a.shading!==undefined)this.shading=a.shading;if(a.blending!==undefined)this.blending=a.blending;if(a.wireframe!==undefined)this.wireframe=a.wireframe;if(a.wireframe_linewidth!==undefined)this.wireframe_linewidth=a.wireframe_linewidth;if(a.wireframe_linecap!==undefined)this.wireframe_linecap=a.wireframe_linecap;if(a.wireframe_linejoin!==
undefined)this.wireframe_linejoin=a.wireframe_linejoin}};
THREE.MeshPhongMaterial.prototype={toString:function(){return"THREE.MeshPhongMaterial (<br/>id: "+this.id+"<br/>color: "+this.color+"<br/>ambient: "+this.ambient+"<br/>specular: "+this.specular+"<br/>shininess: "+this.shininess+"<br/>map: "+this.map+"<br/>specular_map: "+this.specular_map+"<br/>env_map: "+this.env_map+"<br/>combine: "+this.combine+"<br/>reflectivity: "+this.reflectivity+"<br/>refraction_ratio: "+this.refraction_ratio+"<br/>opacity: "+this.opacity+"<br/>shading: "+this.shading+"<br/>wireframe: "+
this.wireframe+"<br/>wireframe_linewidth: "+this.wireframe_linewidth+"<br/>wireframe_linecap: "+this.wireframe_linecap+"<br/>wireframe_linejoin: "+this.wireframe_linejoin+"<br/>)"}};THREE.MeshPhongMaterialCounter={value:0};
THREE.MeshDepthMaterial=function(a){this.opacity=1;this.shading=THREE.SmoothShading;this.blending=THREE.NormalBlending;this.wireframe=false;this.wireframe_linewidth=1;this.wireframe_linejoin=this.wireframe_linecap="round";if(a){if(a.opacity!==undefined)this.opacity=a.opacity;if(a.blending!==undefined)this.blending=a.blending}};THREE.MeshDepthMaterial.prototype={toString:function(){return"THREE.MeshDepthMaterial"}};
THREE.MeshNormalMaterial=function(a){this.opacity=1;this.shading=THREE.FlatShading;this.blending=THREE.NormalBlending;if(a){if(a.opacity!==undefined)this.opacity=a.opacity;if(a.shading!==undefined)this.shading=a.shading;if(a.blending!==undefined)this.blending=a.blending}};THREE.MeshNormalMaterial.prototype={toString:function(){return"THREE.MeshNormalMaterial"}};THREE.MeshFaceMaterial=function(){};THREE.MeshFaceMaterial.prototype={toString:function(){return"THREE.MeshFaceMaterial"}};
THREE.MeshShaderMaterial=function(a){this.id=THREE.MeshShaderMaterialCounter.value++;this.vertex_shader=this.fragment_shader="void main() {}";this.uniforms={};this.opacity=1;this.shading=THREE.SmoothShading;this.blending=THREE.NormalBlending;this.wireframe=false;this.wireframe_linewidth=1;this.wireframe_linejoin=this.wireframe_linecap="round";if(a){if(a.fragment_shader!==undefined)this.fragment_shader=a.fragment_shader;if(a.vertex_shader!==undefined)this.vertex_shader=a.vertex_shader;if(a.uniforms!==
undefined)this.uniforms=a.uniforms;if(a.shading!==undefined)this.shading=a.shading;if(a.blending!==undefined)this.blending=a.blending;if(a.wireframe!==undefined)this.wireframe=a.wireframe;if(a.wireframe_linewidth!==undefined)this.wireframe_linewidth=a.wireframe_linewidth;if(a.wireframe_linecap!==undefined)this.wireframe_linecap=a.wireframe_linecap;if(a.wireframe_linejoin!==undefined)this.wireframe_linejoin=a.wireframe_linejoin}};
THREE.MeshShaderMaterial.prototype={toString:function(){return"THREE.MeshShaderMaterial (<br/>id: "+this.id+"<br/>blending: "+this.blending+"<br/>wireframe: "+this.wireframe+"<br/>wireframe_linewidth: "+this.wireframe_linewidth+"<br/>wireframe_linecap: "+this.wireframe_linecap+"<br/>wireframe_linejoin: "+this.wireframe_linejoin+"<br/>)"}};THREE.MeshShaderMaterialCounter={value:0};
THREE.ParticleBasicMaterial=function(a){this.color=new THREE.Color(16777215);this.map=null;this.opacity=1;this.blending=THREE.NormalBlending;this.offset=new THREE.Vector2;if(a){a.color!==undefined&&this.color.setHex(a.color);if(a.map!==undefined)this.map=a.map;if(a.opacity!==undefined)this.opacity=a.opacity;if(a.blending!==undefined)this.blending=a.blending}};
THREE.ParticleBasicMaterial.prototype={toString:function(){return"THREE.ParticleBasicMaterial (<br/>color: "+this.color+"<br/>map: "+this.map+"<br/>opacity: "+this.opacity+"<br/>blending: "+this.blending+"<br/>)"}};THREE.ParticleCircleMaterial=function(a){this.color=new THREE.Color(16777215);this.opacity=1;this.blending=THREE.NormalBlending;if(a){a.color!==undefined&&this.color.setHex(a.color);if(a.opacity!==undefined)this.opacity=a.opacity;if(a.blending!==undefined)this.blending=a.blending}};
THREE.ParticleCircleMaterial.prototype={toString:function(){return"THREE.ParticleCircleMaterial (<br/>color: "+this.color+"<br/>opacity: "+this.opacity+"<br/>blending: "+this.blending+"<br/>)"}};THREE.ParticleDOMMaterial=function(a){this.domElement=a};THREE.ParticleDOMMaterial.prototype={toString:function(){return"THREE.ParticleDOMMaterial ( domElement: "+this.domElement+" )"}};
THREE.Texture=function(a,c,d,e,g,h){this.image=a;this.mapping=c!==undefined?c:new THREE.UVMapping;this.wrap_s=d!==undefined?d:THREE.ClampToEdgeWrapping;this.wrap_t=e!==undefined?e:THREE.ClampToEdgeWrapping;this.mag_filter=g!==undefined?g:THREE.LinearFilter;this.min_filter=h!==undefined?h:THREE.LinearMipMapLinearFilter};
THREE.Texture.prototype={clone:function(){return new THREE.Texture(this.image,this.mapping,this.wrap_s,this.wrap_t,this.mag_filter,this.min_filter)},toString:function(){return"THREE.Texture (<br/>image: "+this.image+"<br/>wrap_s: "+this.wrap_s+"<br/>wrap_t: "+this.wrap_t+"<br/>mag_filter: "+this.mag_filter+"<br/>min_filter: "+this.min_filter+"<br/>)"}};THREE.MultiplyOperation=0;THREE.MixOperation=1;THREE.RepeatWrapping=0;THREE.ClampToEdgeWrapping=1;THREE.MirroredRepeatWrapping=2;
THREE.NearestFilter=3;THREE.NearestMipMapNearestFilter=4;THREE.NearestMipMapLinearFilter=5;THREE.LinearFilter=6;THREE.LinearMipMapNearestFilter=7;THREE.LinearMipMapLinearFilter=8;THREE.ByteType=9;THREE.UnsignedByteType=10;THREE.ShortType=11;THREE.UnsignedShortType=12;THREE.IntType=13;THREE.UnsignedIntType=14;THREE.FloatType=15;THREE.AlphaFormat=16;THREE.RGBFormat=17;THREE.RGBAFormat=18;THREE.LuminanceFormat=19;THREE.LuminanceAlphaFormat=20;
THREE.RenderTarget=function(a,c,d){this.width=a;this.height=c;d=d||{};this.wrap_s=d.wrap_s!==undefined?d.wrap_s:THREE.ClampToEdgeWrapping;this.wrap_t=d.wrap_t!==undefined?d.wrap_t:THREE.ClampToEdgeWrapping;this.mag_filter=d.mag_filter!==undefined?d.mag_filter:THREE.LinearFilter;this.min_filter=d.min_filter!==undefined?d.min_filter:THREE.LinearMipMapLinearFilter;this.format=d.format!==undefined?d.format:THREE.RGBFormat;this.type=d.type!==undefined?d.type:THREE.UnsignedByteType};
var Uniforms={clone:function(a){var c,d,e,g={};for(c in a){g[c]={};for(d in a[c]){e=a[c][d];g[c][d]=e instanceof THREE.Color||e instanceof THREE.Vector3||e instanceof THREE.Texture?e.clone():e}}return g},merge:function(a){var c,d,e,g={};for(c=0;c<a.length;c++){e=this.clone(a[c]);for(d in e)g[d]=e[d]}return g}};THREE.CubeReflectionMapping=function(){};THREE.CubeRefractionMapping=function(){};THREE.LatitudeReflectionMapping=function(){};THREE.LatitudeRefractionMapping=function(){};
THREE.SphericalReflectionMapping=function(){};THREE.SphericalRefractionMapping=function(){};THREE.UVMapping=function(){};
THREE.Scene=function(){this.objects=[];this.lights=[];this.fog=null;this.addObject=function(a){this.objects.indexOf(a)===-1&&this.objects.push(a)};this.removeObject=function(a){a=this.objects.indexOf(a);a!==-1&&this.objects.splice(a,1)};this.addLight=function(a){this.lights.indexOf(a)===-1&&this.lights.push(a)};this.removeLight=function(a){a=this.lights.indexOf(a);a!==-1&&this.lights.splice(a,1)};this.toString=function(){return"THREE.Scene ( "+this.objects+" )"}};
THREE.Fog=function(a,c,d){this.color=new THREE.Color(a);this.near=c||1;this.far=d||1E3};THREE.FogExp2=function(a,c){this.color=new THREE.Color(a);this.density=c||2.5E-4};
THREE.Projector=function(){function a(l,r){return r.z-l.z}function c(l,r){var C=0,m=1,t=l.z+l.w,v=r.z+r.w,s=-l.z+l.w,n=-r.z+r.w;if(t>=0&&v>=0&&s>=0&&n>=0)return true;else if(t<0&&v<0||s<0&&n<0)return false;else{if(t<0)C=Math.max(C,t/(t-v));else if(v<0)m=Math.min(m,t/(t-v));if(s<0)C=Math.max(C,s/(s-n));else if(n<0)m=Math.min(m,s/(s-n));if(m<C)return false;else{l.lerpSelf(r,C);r.lerpSelf(l,1-m);return true}}}var d,e,g=[],h,o,b,i=[],k,y,z=[],u,x,H=[],J=new THREE.Vector4,K=new THREE.Vector4,p=new THREE.Matrix4,
U=new THREE.Matrix4,F=[],f=new THREE.Vector4,j=new THREE.Vector4,q;this.projectObjects=function(l,r,C){var m=[],t,v;e=0;p.multiply(r.projectionMatrix,r.matrix);F[0]=new THREE.Vector4(p.n41-p.n11,p.n42-p.n12,p.n43-p.n13,p.n44-p.n14);F[1]=new THREE.Vector4(p.n41+p.n11,p.n42+p.n12,p.n43+p.n13,p.n44+p.n14);F[2]=new THREE.Vector4(p.n41+p.n21,p.n42+p.n22,p.n43+p.n23,p.n44+p.n24);F[3]=new THREE.Vector4(p.n41-p.n21,p.n42-p.n22,p.n43-p.n23,p.n44-p.n24);F[4]=new THREE.Vector4(p.n41-p.n31,p.n42-p.n32,p.n43-
p.n33,p.n44-p.n34);F[5]=new THREE.Vector4(p.n41+p.n31,p.n42+p.n32,p.n43+p.n33,p.n44+p.n34);r=0;for(t=F.length;r<t;r++){v=F[r];v.divideScalar(Math.sqrt(v.x*v.x+v.y*v.y+v.z*v.z))}t=l.objects;l=0;for(r=t.length;l<r;l++){v=t[l];var s;if(!(s=!v.visible)){if(s=v instanceof THREE.Mesh){a:{s=void 0;for(var n=v.position,E=-v.geometry.boundingSphere.radius*Math.max(v.scale.x,Math.max(v.scale.y,v.scale.z)),A=0;A<6;A++){s=F[A].x*n.x+F[A].y*n.y+F[A].z*n.z+F[A].w;if(s<=E){s=false;break a}}s=true}s=!s}s=s}if(!s){d=
g[e]=g[e]||new THREE.RenderableObject;J.copy(v.position);p.multiplyVector3(J);d.object=v;d.z=J.z;m.push(d);e++}}C&&m.sort(a);return m};this.projectScene=function(l,r,C){var m=[],t=r.near,v=r.far,s,n,E,A,O,N,G,W,P,I,L,V,S,w,M,Q;b=y=x=0;r.autoUpdateMatrix&&r.updateMatrix();p.multiply(r.projectionMatrix,r.matrix);N=this.projectObjects(l,r,true);l=0;for(s=N.length;l<s;l++){G=N[l].object;if(G.visible){G.autoUpdateMatrix&&G.updateMatrix();W=G.matrix;P=G.rotationMatrix;I=G.materials;L=G.overdraw;if(G instanceof
THREE.Mesh){V=G.geometry;S=V.vertices;n=0;for(E=S.length;n<E;n++){w=S[n];w.positionWorld.copy(w.position);W.multiplyVector3(w.positionWorld);A=w.positionScreen;A.copy(w.positionWorld);p.multiplyVector4(A);A.x/=A.w;A.y/=A.w;w.__visible=A.z>t&&A.z<v}V=V.faces;n=0;for(E=V.length;n<E;n++){w=V[n];if(w instanceof THREE.Face3){A=S[w.a];O=S[w.b];M=S[w.c];if(A.__visible&&O.__visible&&M.__visible)if(G.doubleSided||G.flipSided!=(M.positionScreen.x-A.positionScreen.x)*(O.positionScreen.y-A.positionScreen.y)-
(M.positionScreen.y-A.positionScreen.y)*(O.positionScreen.x-A.positionScreen.x)<0){h=i[b]=i[b]||new THREE.RenderableFace3;h.v1.positionWorld.copy(A.positionWorld);h.v2.positionWorld.copy(O.positionWorld);h.v3.positionWorld.copy(M.positionWorld);h.v1.positionScreen.copy(A.positionScreen);h.v2.positionScreen.copy(O.positionScreen);h.v3.positionScreen.copy(M.positionScreen);h.normalWorld.copy(w.normal);P.multiplyVector3(h.normalWorld);h.centroidWorld.copy(w.centroid);W.multiplyVector3(h.centroidWorld);
h.centroidScreen.copy(h.centroidWorld);p.multiplyVector3(h.centroidScreen);M=w.vertexNormals;q=h.vertexNormalsWorld;A=0;for(O=M.length;A<O;A++){Q=q[A]=q[A]||new THREE.Vector3;Q.copy(M[A]);P.multiplyVector3(Q)}h.z=h.centroidScreen.z;h.meshMaterials=I;h.faceMaterials=w.materials;h.overdraw=L;if(G.geometry.uvs[n]){h.uvs[0]=G.geometry.uvs[n][0];h.uvs[1]=G.geometry.uvs[n][1];h.uvs[2]=G.geometry.uvs[n][2]}m.push(h);b++}}else if(w instanceof THREE.Face4){A=S[w.a];O=S[w.b];M=S[w.c];Q=S[w.d];if(A.__visible&&
O.__visible&&M.__visible&&Q.__visible)if(G.doubleSided||G.flipSided!=((Q.positionScreen.x-A.positionScreen.x)*(O.positionScreen.y-A.positionScreen.y)-(Q.positionScreen.y-A.positionScreen.y)*(O.positionScreen.x-A.positionScreen.x)<0||(O.positionScreen.x-M.positionScreen.x)*(Q.positionScreen.y-M.positionScreen.y)-(O.positionScreen.y-M.positionScreen.y)*(Q.positionScreen.x-M.positionScreen.x)<0)){h=i[b]=i[b]||new THREE.RenderableFace3;h.v1.positionWorld.copy(A.positionWorld);h.v2.positionWorld.copy(O.positionWorld);
h.v3.positionWorld.copy(Q.positionWorld);h.v1.positionScreen.copy(A.positionScreen);h.v2.positionScreen.copy(O.positionScreen);h.v3.positionScreen.copy(Q.positionScreen);h.normalWorld.copy(w.normal);P.multiplyVector3(h.normalWorld);h.centroidWorld.copy(w.centroid);W.multiplyVector3(h.centroidWorld);h.centroidScreen.copy(h.centroidWorld);p.multiplyVector3(h.centroidScreen);h.z=h.centroidScreen.z;h.meshMaterials=I;h.faceMaterials=w.materials;h.overdraw=L;if(G.geometry.uvs[n]){h.uvs[0]=G.geometry.uvs[n][0];
h.uvs[1]=G.geometry.uvs[n][1];h.uvs[2]=G.geometry.uvs[n][3]}m.push(h);b++;o=i[b]=i[b]||new THREE.RenderableFace3;o.v1.positionWorld.copy(O.positionWorld);o.v2.positionWorld.copy(M.positionWorld);o.v3.positionWorld.copy(Q.positionWorld);o.v1.positionScreen.copy(O.positionScreen);o.v2.positionScreen.copy(M.positionScreen);o.v3.positionScreen.copy(Q.positionScreen);o.normalWorld.copy(h.normalWorld);o.centroidWorld.copy(h.centroidWorld);o.centroidScreen.copy(h.centroidScreen);o.z=o.centroidScreen.z;o.meshMaterials=
I;o.faceMaterials=w.materials;o.overdraw=L;if(G.geometry.uvs[n]){o.uvs[0]=G.geometry.uvs[n][1];o.uvs[1]=G.geometry.uvs[n][2];o.uvs[2]=G.geometry.uvs[n][3]}m.push(o);b++}}}}else if(G instanceof THREE.Line){U.multiply(p,W);S=G.geometry.vertices;w=S[0];w.positionScreen.copy(w.position);U.multiplyVector4(w.positionScreen);n=1;for(E=S.length;n<E;n++){A=S[n];A.positionScreen.copy(A.position);U.multiplyVector4(A.positionScreen);O=S[n-1];f.copy(A.positionScreen);j.copy(O.positionScreen);if(c(f,j)){f.multiplyScalar(1/
f.w);j.multiplyScalar(1/j.w);k=z[y]=z[y]||new THREE.RenderableLine;k.v1.positionScreen.copy(f);k.v2.positionScreen.copy(j);k.z=Math.max(f.z,j.z);k.materials=G.materials;m.push(k);y++}}}else if(G instanceof THREE.Particle){K.set(G.position.x,G.position.y,G.position.z,1);p.multiplyVector4(K);K.z/=K.w;if(K.z>0&&K.z<1){u=H[x]=H[x]||new THREE.RenderableParticle;u.x=K.x/K.w;u.y=K.y/K.w;u.z=K.z;u.rotation=G.rotation.z;u.scale.x=G.scale.x*Math.abs(u.x-(K.x+r.projectionMatrix.n11)/(K.w+r.projectionMatrix.n14));
u.scale.y=G.scale.y*Math.abs(u.y-(K.y+r.projectionMatrix.n22)/(K.w+r.projectionMatrix.n24));u.materials=G.materials;m.push(u);x++}}}}C&&m.sort(a);return m};this.unprojectVector=function(l,r){var C=THREE.Matrix4.makeInvert(r.matrix);C.multiplySelf(THREE.Matrix4.makeInvert(r.projectionMatrix));C.multiplyVector3(l);return l}};
THREE.DOMRenderer=function(){THREE.Renderer.call(this);var a=null,c=new THREE.Projector,d,e,g,h;this.domElement=document.createElement("div");this.setSize=function(o,b){d=o;e=b;g=d/2;h=e/2};this.render=function(o,b){var i,k,y,z,u,x,H,J;a=c.projectScene(o,b);i=0;for(k=a.length;i<k;i++){u=a[i];if(u instanceof THREE.RenderableParticle){H=u.x*g+g;J=u.y*h+h;y=0;for(z=u.material.length;y<z;y++){x=u.material[y];if(x instanceof THREE.ParticleDOMMaterial){x=x.domElement;x.style.left=H+"px";x.style.top=J+"px"}}}}}};
THREE.CanvasRenderer=function(){function a(ea){if(u!=ea)k.globalAlpha=u=ea}function c(ea){if(x!=ea){switch(ea){case THREE.NormalBlending:k.globalCompositeOperation="source-over";break;case THREE.AdditiveBlending:k.globalCompositeOperation="lighter";break;case THREE.SubtractiveBlending:k.globalCompositeOperation="darker"}x=ea}}var d=null,e=new THREE.Projector,g=document.createElement("canvas"),h,o,b,i,k=g.getContext("2d"),y=new THREE.Color(0),z=0,u=1,x=0,H=null,J=null,K=1,p,U,F,f,j,q,l,r,C,m=new THREE.Color,
t=new THREE.Color,v=new THREE.Color,s=new THREE.Color,n=new THREE.Color,E,A,O,N,G,W,P,I,L,V=new THREE.Rectangle,S=new THREE.Rectangle,w=new THREE.Rectangle,M=false,Q=new THREE.Color,da=new THREE.Color,ba=new THREE.Color,Z=new THREE.Color,ja=Math.PI*2,Y=new THREE.Vector3,qa,ka,fa,ha,sa,ua,va=16;qa=document.createElement("canvas");qa.width=qa.height=2;ka=qa.getContext("2d");ka.fillStyle="rgba(0,0,0,1)";ka.fillRect(0,0,2,2);fa=ka.getImageData(0,0,2,2);ha=fa.data;sa=document.createElement("canvas");sa.width=
sa.height=va;ua=sa.getContext("2d");ua.translate(-va/2,-va/2);ua.scale(va,va);va--;this.domElement=g;this.sortElements=this.sortObjects=this.autoClear=true;this.setSize=function(ea,ra){h=ea;o=ra;b=h/2;i=o/2;g.width=h;g.height=o;V.set(-b,-i,b,i);u=1;x=0;J=H=null;K=1};this.setClearColor=function(ea,ra){y.setHex(ea);z=ra;S.set(-b,-i,b,i);k.setTransform(1,0,0,-1,b,i);this.clear()};this.clear=function(){if(!S.isEmpty()){S.inflate(1);S.minSelf(V);if(y.hex==0&&z==0)k.clearRect(S.getX(),S.getY(),S.getWidth(),
S.getHeight());else{c(THREE.NormalBlending);a(1);k.fillStyle="rgba("+Math.floor(y.r*255)+","+Math.floor(y.g*255)+","+Math.floor(y.b*255)+","+z+")";k.fillRect(S.getX(),S.getY(),S.getWidth(),S.getHeight())}S.empty()}};this.render=function(ea,ra){function Ma(B){var X,T,D,R=B.lights;da.setRGB(0,0,0);ba.setRGB(0,0,0);Z.setRGB(0,0,0);B=0;for(X=R.length;B<X;B++){T=R[B];D=T.color;if(T instanceof THREE.AmbientLight){da.r+=D.r;da.g+=D.g;da.b+=D.b}else if(T instanceof THREE.DirectionalLight){ba.r+=D.r;ba.g+=
D.g;ba.b+=D.b}else if(T instanceof THREE.PointLight){Z.r+=D.r;Z.g+=D.g;Z.b+=D.b}}}function Aa(B,X,T,D){var R,$,ca,ga,ia=B.lights;B=0;for(R=ia.length;B<R;B++){$=ia[B];ca=$.color;ga=$.intensity;if($ instanceof THREE.DirectionalLight){$=T.dot($.position)*ga;if($>0){D.r+=ca.r*$;D.g+=ca.g*$;D.b+=ca.b*$}}else if($ instanceof THREE.PointLight){Y.sub($.position,X);Y.normalize();$=T.dot(Y)*ga;if($>0){D.r+=ca.r*$;D.g+=ca.g*$;D.b+=ca.b*$}}}}function Na(B,X,T){if(T.opacity!=0){a(T.opacity);c(T.blending);var D,
R,$,ca,ga,ia;if(T instanceof THREE.ParticleBasicMaterial){if(T.map){ca=T.map;ga=ca.width>>1;ia=ca.height>>1;R=X.scale.x*b;$=X.scale.y*i;T=R*ga;D=$*ia;w.set(B.x-T,B.y-D,B.x+T,B.y+D);if(V.instersects(w)){k.save();k.translate(B.x,B.y);k.rotate(-X.rotation);k.scale(R,-$);k.translate(-ga,-ia);k.drawImage(ca,0,0);k.restore()}}}else if(T instanceof THREE.ParticleCircleMaterial){if(M){Q.r=da.r+ba.r+Z.r;Q.g=da.g+ba.g+Z.g;Q.b=da.b+ba.b+Z.b;m.r=T.color.r*Q.r;m.g=T.color.g*Q.g;m.b=T.color.b*Q.b;m.updateStyleString()}else m.__styleString=
T.color.__styleString;T=X.scale.x*b;D=X.scale.y*i;w.set(B.x-T,B.y-D,B.x+T,B.y+D);if(V.instersects(w)){R=m.__styleString;if(J!=R)k.fillStyle=J=R;k.save();k.translate(B.x,B.y);k.rotate(-X.rotation);k.scale(T,D);k.beginPath();k.arc(0,0,1,0,ja,true);k.closePath();k.fill();k.restore()}}}}function Oa(B,X,T,D){if(D.opacity!=0){a(D.opacity);c(D.blending);k.beginPath();k.moveTo(B.positionScreen.x,B.positionScreen.y);k.lineTo(X.positionScreen.x,X.positionScreen.y);k.closePath();if(D instanceof THREE.LineBasicMaterial){m.__styleString=
D.color.__styleString;B=D.linewidth;if(K!=B)k.lineWidth=K=B;B=m.__styleString;if(H!=B)k.strokeStyle=H=B;k.stroke();w.inflate(D.linewidth*2)}}}function Ia(B,X,T,D,R,$){if(R.opacity!=0){a(R.opacity);c(R.blending);f=B.positionScreen.x;j=B.positionScreen.y;q=X.positionScreen.x;l=X.positionScreen.y;r=T.positionScreen.x;C=T.positionScreen.y;k.beginPath();k.moveTo(f,j);k.lineTo(q,l);k.lineTo(r,C);k.lineTo(f,j);k.closePath();if(R instanceof THREE.MeshBasicMaterial)if(R.map)R.map.image.loaded&&R.map.mapping instanceof
THREE.UVMapping&&xa(f,j,q,l,r,C,R.map.image,D.uvs[0].u,D.uvs[0].v,D.uvs[1].u,D.uvs[1].v,D.uvs[2].u,D.uvs[2].v);else if(R.env_map){if(R.env_map.image.loaded)if(R.env_map.mapping instanceof THREE.SphericalReflectionMapping){B=ra.matrix;Y.copy(D.vertexNormalsWorld[0]);N=(Y.x*B.n11+Y.y*B.n12+Y.z*B.n13)*0.5+0.5;G=-(Y.x*B.n21+Y.y*B.n22+Y.z*B.n23)*0.5+0.5;Y.copy(D.vertexNormalsWorld[1]);W=(Y.x*B.n11+Y.y*B.n12+Y.z*B.n13)*0.5+0.5;P=-(Y.x*B.n21+Y.y*B.n22+Y.z*B.n23)*0.5+0.5;Y.copy(D.vertexNormalsWorld[2]);I=
(Y.x*B.n11+Y.y*B.n12+Y.z*B.n13)*0.5+0.5;L=-(Y.x*B.n21+Y.y*B.n22+Y.z*B.n23)*0.5+0.5;xa(f,j,q,l,r,C,R.env_map.image,N,G,W,P,I,L)}}else R.wireframe?Ba(R.color.__styleString,R.wireframe_linewidth):Ca(R.color.__styleString);else if(R instanceof THREE.MeshLambertMaterial){if(R.map&&!R.wireframe){R.map.mapping instanceof THREE.UVMapping&&xa(f,j,q,l,r,C,R.map.image,D.uvs[0].u,D.uvs[0].v,D.uvs[1].u,D.uvs[1].v,D.uvs[2].u,D.uvs[2].v);c(THREE.SubtractiveBlending)}if(M)if(!R.wireframe&&R.shading==THREE.SmoothShading&&
D.vertexNormalsWorld.length==3){t.r=v.r=s.r=da.r;t.g=v.g=s.g=da.g;t.b=v.b=s.b=da.b;Aa($,D.v1.positionWorld,D.vertexNormalsWorld[0],t);Aa($,D.v2.positionWorld,D.vertexNormalsWorld[1],v);Aa($,D.v3.positionWorld,D.vertexNormalsWorld[2],s);n.r=(v.r+s.r)*0.5;n.g=(v.g+s.g)*0.5;n.b=(v.b+s.b)*0.5;O=Ja(t,v,s,n);xa(f,j,q,l,r,C,O,0,0,1,0,0,1)}else{Q.r=da.r;Q.g=da.g;Q.b=da.b;Aa($,D.centroidWorld,D.normalWorld,Q);m.r=R.color.r*Q.r;m.g=R.color.g*Q.g;m.b=R.color.b*Q.b;m.updateStyleString();R.wireframe?Ba(m.__styleString,
R.wireframe_linewidth):Ca(m.__styleString)}else R.wireframe?Ba(R.color.__styleString,R.wireframe_linewidth):Ca(R.color.__styleString)}else if(R instanceof THREE.MeshDepthMaterial){E=ra.near;A=ra.far;t.r=t.g=t.b=1-Ea(B.positionScreen.z,E,A);v.r=v.g=v.b=1-Ea(X.positionScreen.z,E,A);s.r=s.g=s.b=1-Ea(T.positionScreen.z,E,A);n.r=(v.r+s.r)*0.5;n.g=(v.g+s.g)*0.5;n.b=(v.b+s.b)*0.5;O=Ja(t,v,s,n);xa(f,j,q,l,r,C,O,0,0,1,0,0,1)}else if(R instanceof THREE.MeshNormalMaterial){m.r=Fa(D.normalWorld.x);m.g=Fa(D.normalWorld.y);
m.b=Fa(D.normalWorld.z);m.updateStyleString();R.wireframe?Ba(m.__styleString,R.wireframe_linewidth):Ca(m.__styleString)}}}function Ba(B,X){if(H!=B)k.strokeStyle=H=B;if(K!=X)k.lineWidth=K=X;k.stroke();w.inflate(X*2)}function Ca(B){if(J!=B)k.fillStyle=J=B;k.fill()}function xa(B,X,T,D,R,$,ca,ga,ia,na,la,oa,ya){var ta,pa;ta=ca.width-1;pa=ca.height-1;ga*=ta;ia*=pa;na*=ta;la*=pa;oa*=ta;ya*=pa;T-=B;D-=X;R-=B;$-=X;na-=ga;la-=ia;oa-=ga;ya-=ia;pa=1/(na*ya-oa*la);ta=(ya*T-la*R)*pa;la=(ya*D-la*$)*pa;T=(na*R-
oa*T)*pa;D=(na*$-oa*D)*pa;B=B-ta*ga-T*ia;X=X-la*ga-D*ia;k.save();k.transform(ta,la,T,D,B,X);k.clip();k.drawImage(ca,0,0);k.restore()}function Ja(B,X,T,D){var R=~~(B.r*255),$=~~(B.g*255);B=~~(B.b*255);var ca=~~(X.r*255),ga=~~(X.g*255);X=~~(X.b*255);var ia=~~(T.r*255),na=~~(T.g*255);T=~~(T.b*255);var la=~~(D.r*255),oa=~~(D.g*255);D=~~(D.b*255);ha[0]=R<0?0:R>255?255:R;ha[1]=$<0?0:$>255?255:$;ha[2]=B<0?0:B>255?255:B;ha[4]=ca<0?0:ca>255?255:ca;ha[5]=ga<0?0:ga>255?255:ga;ha[6]=X<0?0:X>255?255:X;ha[8]=ia<
0?0:ia>255?255:ia;ha[9]=na<0?0:na>255?255:na;ha[10]=T<0?0:T>255?255:T;ha[12]=la<0?0:la>255?255:la;ha[13]=oa<0?0:oa>255?255:oa;ha[14]=D<0?0:D>255?255:D;ka.putImageData(fa,0,0);ua.drawImage(qa,0,0);return sa}function Ea(B,X,T){B=(B-X)/(T-X);return B*B*(3-2*B)}function Fa(B){B=(B+1)*0.5;return B<0?0:B>1?1:B}function Ga(B,X){var T=X.x-B.x,D=X.y-B.y,R=1/Math.sqrt(T*T+D*D);T*=R;D*=R;X.x+=T;X.y+=D;B.x-=T;B.y-=D}var Da,Ka,aa,ma,wa,Ha,La,za;k.setTransform(1,0,0,-1,b,i);this.autoClear&&this.clear();d=e.projectScene(ea,
ra,this.sortElements);(M=ea.lights.length>0)&&Ma(ea);Da=0;for(Ka=d.length;Da<Ka;Da++){aa=d[Da];w.empty();if(aa instanceof THREE.RenderableParticle){p=aa;p.x*=b;p.y*=i;ma=0;for(wa=aa.materials.length;ma<wa;ma++)Na(p,aa,aa.materials[ma],ea)}else if(aa instanceof THREE.RenderableLine){p=aa.v1;U=aa.v2;p.positionScreen.x*=b;p.positionScreen.y*=i;U.positionScreen.x*=b;U.positionScreen.y*=i;w.addPoint(p.positionScreen.x,p.positionScreen.y);w.addPoint(U.positionScreen.x,U.positionScreen.y);if(V.instersects(w)){ma=
0;for(wa=aa.materials.length;ma<wa;)Oa(p,U,aa,aa.materials[ma++],ea)}}else if(aa instanceof THREE.RenderableFace3){p=aa.v1;U=aa.v2;F=aa.v3;p.positionScreen.x*=b;p.positionScreen.y*=i;U.positionScreen.x*=b;U.positionScreen.y*=i;F.positionScreen.x*=b;F.positionScreen.y*=i;if(aa.overdraw){Ga(p.positionScreen,U.positionScreen);Ga(U.positionScreen,F.positionScreen);Ga(F.positionScreen,p.positionScreen)}w.add3Points(p.positionScreen.x,p.positionScreen.y,U.positionScreen.x,U.positionScreen.y,F.positionScreen.x,
F.positionScreen.y);if(V.instersects(w)){ma=0;for(wa=aa.meshMaterials.length;ma<wa;){za=aa.meshMaterials[ma++];if(za instanceof THREE.MeshFaceMaterial){Ha=0;for(La=aa.faceMaterials.length;Ha<La;)(za=aa.faceMaterials[Ha++])&&Ia(p,U,F,aa,za,ea)}else Ia(p,U,F,aa,za,ea)}}}S.addRectangle(w)}k.setTransform(1,0,0,1,0,0)}};
THREE.SVGRenderer=function(){function a(N,G,W){var P,I,L,V;P=0;for(I=N.lights.length;P<I;P++){L=N.lights[P];if(L instanceof THREE.DirectionalLight){V=G.normalWorld.dot(L.position)*L.intensity;if(V>0){W.r+=L.color.r*V;W.g+=L.color.g*V;W.b+=L.color.b*V}}else if(L instanceof THREE.PointLight){C.sub(L.position,G.centroidWorld);C.normalize();V=G.normalWorld.dot(C)*L.intensity;if(V>0){W.r+=L.color.r*V;W.g+=L.color.g*V;W.b+=L.color.b*V}}}}function c(N,G,W,P,I,L){s=e(n++);s.setAttribute("d","M "+N.positionScreen.x+
" "+N.positionScreen.y+" L "+G.positionScreen.x+" "+G.positionScreen.y+" L "+W.positionScreen.x+","+W.positionScreen.y+"z");if(I instanceof THREE.MeshBasicMaterial)F.__styleString=I.color.__styleString;else if(I instanceof THREE.MeshLambertMaterial)if(U){f.r=j.r;f.g=j.g;f.b=j.b;a(L,P,f);F.r=I.color.r*f.r;F.g=I.color.g*f.g;F.b=I.color.b*f.b;F.updateStyleString()}else F.__styleString=I.color.__styleString;else if(I instanceof THREE.MeshDepthMaterial){r=1-I.__2near/(I.__farPlusNear-P.z*I.__farMinusNear);
F.setRGB(r,r,r)}else I instanceof THREE.MeshNormalMaterial&&F.setRGB(g(P.normalWorld.x),g(P.normalWorld.y),g(P.normalWorld.z));I.wireframe?s.setAttribute("style","fill: none; stroke: "+F.__styleString+"; stroke-width: "+I.wireframe_linewidth+"; stroke-opacity: "+I.opacity+"; stroke-linecap: "+I.wireframe_linecap+"; stroke-linejoin: "+I.wireframe_linejoin):s.setAttribute("style","fill: "+F.__styleString+"; fill-opacity: "+I.opacity);b.appendChild(s)}function d(N,G,W,P,I,L,V){s=e(n++);s.setAttribute("d",
"M "+N.positionScreen.x+" "+N.positionScreen.y+" L "+G.positionScreen.x+" "+G.positionScreen.y+" L "+W.positionScreen.x+","+W.positionScreen.y+" L "+P.positionScreen.x+","+P.positionScreen.y+"z");if(L instanceof THREE.MeshBasicMaterial)F.__styleString=L.color.__styleString;else if(L instanceof THREE.MeshLambertMaterial)if(U){f.r=j.r;f.g=j.g;f.b=j.b;a(V,I,f);F.r=L.color.r*f.r;F.g=L.color.g*f.g;F.b=L.color.b*f.b;F.updateStyleString()}else F.__styleString=L.color.__styleString;else if(L instanceof THREE.MeshDepthMaterial){r=
1-L.__2near/(L.__farPlusNear-I.z*L.__farMinusNear);F.setRGB(r,r,r)}else L instanceof THREE.MeshNormalMaterial&&F.setRGB(g(I.normalWorld.x),g(I.normalWorld.y),g(I.normalWorld.z));L.wireframe?s.setAttribute("style","fill: none; stroke: "+F.__styleString+"; stroke-width: "+L.wireframe_linewidth+"; stroke-opacity: "+L.opacity+"; stroke-linecap: "+L.wireframe_linecap+"; stroke-linejoin: "+L.wireframe_linejoin):s.setAttribute("style","fill: "+F.__styleString+"; fill-opacity: "+L.opacity);b.appendChild(s)}
function e(N){if(m[N]==null){m[N]=document.createElementNS("http://www.w3.org/2000/svg","path");O==0&&m[N].setAttribute("shape-rendering","crispEdges");return m[N]}return m[N]}function g(N){return N<0?Math.min((1+N)*0.5,0.5):0.5+Math.min(N*0.5,0.5)}var h=null,o=new THREE.Projector,b=document.createElementNS("http://www.w3.org/2000/svg","svg"),i,k,y,z,u,x,H,J,K=new THREE.Rectangle,p=new THREE.Rectangle,U=false,F=new THREE.Color(16777215),f=new THREE.Color(16777215),j=new THREE.Color(0),q=new THREE.Color(0),
l=new THREE.Color(0),r,C=new THREE.Vector3,m=[],t=[],v=[],s,n,E,A,O=1;this.domElement=b;this.sortElements=this.sortObjects=this.autoClear=true;this.setQuality=function(N){switch(N){case "high":O=1;break;case "low":O=0}};this.setSize=function(N,G){i=N;k=G;y=i/2;z=k/2;b.setAttribute("viewBox",-y+" "+-z+" "+i+" "+k);b.setAttribute("width",i);b.setAttribute("height",k);K.set(-y,-z,y,z)};this.clear=function(){for(;b.childNodes.length>0;)b.removeChild(b.childNodes[0])};this.render=function(N,G){var W,P,
I,L,V,S,w,M;this.autoClear&&this.clear();h=o.projectScene(N,G,this.sortElements);A=E=n=0;if(U=N.lights.length>0){w=N.lights;j.setRGB(0,0,0);q.setRGB(0,0,0);l.setRGB(0,0,0);W=0;for(P=w.length;W<P;W++){I=w[W];L=I.color;if(I instanceof THREE.AmbientLight){j.r+=L.r;j.g+=L.g;j.b+=L.b}else if(I instanceof THREE.DirectionalLight){q.r+=L.r;q.g+=L.g;q.b+=L.b}else if(I instanceof THREE.PointLight){l.r+=L.r;l.g+=L.g;l.b+=L.b}}}W=0;for(P=h.length;W<P;W++){w=h[W];p.empty();if(w instanceof THREE.RenderableParticle){u=
w;u.x*=y;u.y*=-z;I=0;for(L=w.materials.length;I<L;I++)if(M=w.materials[I]){V=u;S=w;M=M;var Q=E++;if(t[Q]==null){t[Q]=document.createElementNS("http://www.w3.org/2000/svg","circle");O==0&&t[Q].setAttribute("shape-rendering","crispEdges")}s=t[Q];s.setAttribute("cx",V.x);s.setAttribute("cy",V.y);s.setAttribute("r",S.scale.x*y);if(M instanceof THREE.ParticleCircleMaterial){if(U){f.r=j.r+q.r+l.r;f.g=j.g+q.g+l.g;f.b=j.b+q.b+l.b;F.r=M.color.r*f.r;F.g=M.color.g*f.g;F.b=M.color.b*f.b;F.updateStyleString()}else F=
M.color;s.setAttribute("style","fill: "+F.__styleString)}b.appendChild(s)}}else if(w instanceof THREE.RenderableLine){u=w.v1;x=w.v2;u.positionScreen.x*=y;u.positionScreen.y*=-z;x.positionScreen.x*=y;x.positionScreen.y*=-z;p.addPoint(u.positionScreen.x,u.positionScreen.y);p.addPoint(x.positionScreen.x,x.positionScreen.y);if(K.instersects(p)){I=0;for(L=w.materials.length;I<L;)if(M=w.materials[I++]){V=u;S=x;M=M;Q=A++;if(v[Q]==null){v[Q]=document.createElementNS("http://www.w3.org/2000/svg","line");O==
0&&v[Q].setAttribute("shape-rendering","crispEdges")}s=v[Q];s.setAttribute("x1",V.positionScreen.x);s.setAttribute("y1",V.positionScreen.y);s.setAttribute("x2",S.positionScreen.x);s.setAttribute("y2",S.positionScreen.y);if(M instanceof THREE.LineBasicMaterial){F.__styleString=M.color.__styleString;s.setAttribute("style","fill: none; stroke: "+F.__styleString+"; stroke-width: "+M.linewidth+"; stroke-opacity: "+M.opacity+"; stroke-linecap: "+M.linecap+"; stroke-linejoin: "+M.linejoin);b.appendChild(s)}}}}else if(w instanceof
THREE.RenderableFace3){u=w.v1;x=w.v2;H=w.v3;u.positionScreen.x*=y;u.positionScreen.y*=-z;x.positionScreen.x*=y;x.positionScreen.y*=-z;H.positionScreen.x*=y;H.positionScreen.y*=-z;p.addPoint(u.positionScreen.x,u.positionScreen.y);p.addPoint(x.positionScreen.x,x.positionScreen.y);p.addPoint(H.positionScreen.x,H.positionScreen.y);if(K.instersects(p)){I=0;for(L=w.meshMaterials.length;I<L;){M=w.meshMaterials[I++];if(M instanceof THREE.MeshFaceMaterial){V=0;for(S=w.faceMaterials.length;V<S;)(M=w.faceMaterials[V++])&&
c(u,x,H,w,M,N)}else M&&c(u,x,H,w,M,N)}}}else if(w instanceof THREE.RenderableFace4){u=w.v1;x=w.v2;H=w.v3;J=w.v4;u.positionScreen.x*=y;u.positionScreen.y*=-z;x.positionScreen.x*=y;x.positionScreen.y*=-z;H.positionScreen.x*=y;H.positionScreen.y*=-z;J.positionScreen.x*=y;J.positionScreen.y*=-z;p.addPoint(u.positionScreen.x,u.positionScreen.y);p.addPoint(x.positionScreen.x,x.positionScreen.y);p.addPoint(H.positionScreen.x,H.positionScreen.y);p.addPoint(J.positionScreen.x,J.positionScreen.y);if(K.instersects(p)){I=
0;for(L=w.meshMaterials.length;I<L;){M=w.meshMaterials[I++];if(M instanceof THREE.MeshFaceMaterial){V=0;for(S=w.faceMaterials.length;V<S;)(M=w.faceMaterials[V++])&&d(u,x,H,J,w,M,N)}else M&&d(u,x,H,J,w,M,N)}}}}}};
THREE.WebGLRenderer=function(a){function c(f,j){f.fragment_shader=j.fragment_shader;f.vertex_shader=j.vertex_shader;f.uniforms=Uniforms.clone(j.uniforms)}function d(f,j){f.uniforms.color.value.setRGB(f.color.r*f.opacity,f.color.g*f.opacity,f.color.b*f.opacity);f.uniforms.opacity.value=f.opacity;f.uniforms.map.texture=f.map;f.uniforms.env_map.texture=f.env_map;f.uniforms.reflectivity.value=f.reflectivity;f.uniforms.refraction_ratio.value=f.refraction_ratio;f.uniforms.combine.value=f.combine;f.uniforms.useRefract.value=
f.env_map&&f.env_map.mapping instanceof THREE.CubeRefractionMapping;if(j){f.uniforms.fogColor.value.setHex(j.color.hex);if(j instanceof THREE.Fog){f.uniforms.fogNear.value=j.near;f.uniforms.fogFar.value=j.far}else if(j instanceof THREE.FogExp2)f.uniforms.fogDensity.value=j.density}}function e(f,j){f.uniforms.color.value.setRGB(f.color.r*f.opacity,f.color.g*f.opacity,f.color.b*f.opacity);f.uniforms.opacity.value=f.opacity;if(j){f.uniforms.fogColor.value.setHex(j.color.hex);if(j instanceof THREE.Fog){f.uniforms.fogNear.value=
j.near;f.uniforms.fogFar.value=j.far}else if(j instanceof THREE.FogExp2)f.uniforms.fogDensity.value=j.density}}function g(f,j){var q;if(f=="fragment")q=b.createShader(b.FRAGMENT_SHADER);else if(f=="vertex")q=b.createShader(b.VERTEX_SHADER);b.shaderSource(q,j);b.compileShader(q);if(!b.getShaderParameter(q,b.COMPILE_STATUS)){alert(b.getShaderInfoLog(q));return null}return q}function h(f){switch(f){case THREE.RepeatWrapping:return b.REPEAT;case THREE.ClampToEdgeWrapping:return b.CLAMP_TO_EDGE;case THREE.MirroredRepeatWrapping:return b.MIRRORED_REPEAT;
case THREE.NearestFilter:return b.NEAREST;case THREE.NearestMipMapNearestFilter:return b.NEAREST_MIPMAP_NEAREST;case THREE.NearestMipMapLinearFilter:return b.NEAREST_MIPMAP_LINEAR;case THREE.LinearFilter:return b.LINEAR;case THREE.LinearMipMapNearestFilter:return b.LINEAR_MIPMAP_NEAREST;case THREE.LinearMipMapLinearFilter:return b.LINEAR_MIPMAP_LINEAR;case THREE.ByteType:return b.BYTE;case THREE.UnsignedByteType:return b.UNSIGNED_BYTE;case THREE.ShortType:return b.SHORT;case THREE.UnsignedShortType:return b.UNSIGNED_SHORT;
case THREE.IntType:return b.INT;case THREE.UnsignedShortType:return b.UNSIGNED_INT;case THREE.FloatType:return b.FLOAT;case THREE.AlphaFormat:return b.ALPHA;case THREE.RGBFormat:return b.RGB;case THREE.RGBAFormat:return b.RGBA;case THREE.LuminanceFormat:return b.LUMINANCE;case THREE.LuminanceAlphaFormat:return b.LUMINANCE_ALPHA}return 0}var o=document.createElement("canvas"),b,i=null,k=null,y=new THREE.Matrix4,z,u=new Float32Array(16),x=new Float32Array(16),H=new Float32Array(16),J=new Float32Array(9),
K=new Float32Array(16),p=true,U=new THREE.Color(0),F=0;if(a){if(a.antialias!==undefined)p=a.antialias;a.clearColor!==undefined&&U.setHex(a.clearColor);if(a.clearAlpha!==undefined)F=a.clearAlpha}this.domElement=o;this.autoClear=true;(function(f,j,q){try{b=o.getContext("experimental-webgl",{antialias:f})}catch(l){}if(!b){alert("WebGL not supported");throw"cannot create webgl context";}b.clearColor(0,0,0,1);b.clearDepth(1);b.enable(b.DEPTH_TEST);b.depthFunc(b.LEQUAL);b.frontFace(b.CCW);b.cullFace(b.BACK);
b.enable(b.CULL_FACE);b.enable(b.BLEND);b.blendFunc(b.ONE,b.ONE_MINUS_SRC_ALPHA);b.clearColor(j.r,j.g,j.b,q)})(p,U,F);this.context=b;this.lights={ambient:[0,0,0],directional:{length:0,colors:[],positions:[]},point:{length:0,colors:[],positions:[]}};this.setSize=function(f,j){o.width=f;o.height=j;b.viewport(0,0,o.width,o.height)};this.setClearColor=function(f,j){var q=new THREE.Color(f);b.clearColor(q.r,q.g,q.b,j)};this.clear=function(){b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT)};this.setupLights=
function(f,j){var q,l,r,C=0,m=0,t=0,v,s,n,E=this.lights,A=E.directional.colors,O=E.directional.positions,N=E.point.colors,G=E.point.positions,W=0,P=0;q=0;for(l=j.length;q<l;q++){r=j[q];v=r.color;s=r.position;n=r.intensity;if(r instanceof THREE.AmbientLight){C+=v.r;m+=v.g;t+=v.b}else if(r instanceof THREE.DirectionalLight){A[W*3]=v.r*n;A[W*3+1]=v.g*n;A[W*3+2]=v.b*n;O[W*3]=s.x;O[W*3+1]=s.y;O[W*3+2]=s.z;W+=1}else if(r instanceof THREE.PointLight){N[P*3]=v.r*n;N[P*3+1]=v.g*n;N[P*3+2]=v.b*n;G[P*3]=s.x;
G[P*3+1]=s.y;G[P*3+2]=s.z;P+=1}}E.point.length=P;E.directional.length=W;E.ambient[0]=C;E.ambient[1]=m;E.ambient[2]=t};this.createParticleBuffers=function(f){f.__webGLVertexBuffer=b.createBuffer();f.__webGLFaceBuffer=b.createBuffer()};this.createLineBuffers=function(f){f.__webGLVertexBuffer=b.createBuffer();f.__webGLLineBuffer=b.createBuffer()};this.createMeshBuffers=function(f){f.__webGLVertexBuffer=b.createBuffer();f.__webGLNormalBuffer=b.createBuffer();f.__webGLTangentBuffer=b.createBuffer();f.__webGLUVBuffer=
b.createBuffer();f.__webGLFaceBuffer=b.createBuffer();f.__webGLLineBuffer=b.createBuffer()};this.initLineBuffers=function(f){var j=f.vertices.length;f.__vertexArray=new Float32Array(j*3);f.__lineArray=new Uint16Array(j);f.__webGLLineCount=j};this.initMeshBuffers=function(f,j){var q,l,r=0,C=0,m=0,t=j.geometry.faces,v=f.faces;q=0;for(l=v.length;q<l;q++){fi=v[q];face=t[fi];if(face instanceof THREE.Face3){r+=3;C+=1;m+=3}else if(face instanceof THREE.Face4){r+=4;C+=2;m+=4}}f.__vertexArray=new Float32Array(r*
3);f.__normalArray=new Float32Array(r*3);f.__tangentArray=new Float32Array(r*4);f.__uvArray=new Float32Array(r*2);f.__faceArray=new Uint16Array(C*3);f.__lineArray=new Uint16Array(m*2);r=false;q=0;for(l=j.materials.length;q<l;q++){t=j.materials[q];if(t instanceof THREE.MeshFaceMaterial){t=0;for(v=f.materials.length;t<v;t++)if(f.materials[t]&&f.materials[t].shading!=undefined&&f.materials[t].shading==THREE.SmoothShading){r=true;break}}else if(t&&t.shading!=undefined&&t.shading==THREE.SmoothShading){r=
true;break}if(r)break}f.__needsSmoothNormals=r;f.__webGLFaceCount=C*3;f.__webGLLineCount=m*2};this.setMeshBuffers=function(f,j,q,l,r,C,m,t){var v,s,n,E,A,O,N,G,W,P=0,I=0,L=0,V=0,S=0,w=0,M=0,Q=f.__vertexArray,da=f.__uvArray,ba=f.__normalArray,Z=f.__tangentArray,ja=f.__faceArray,Y=f.__lineArray,qa=f.__needsSmoothNormals,ka=j.geometry,fa=ka.vertices,ha=f.faces,sa=ka.faces,ua=ka.uvs;j=0;for(v=ha.length;j<v;j++){s=ha[j];n=sa[s];s=ua[s];E=n.vertexNormals;A=n.normal;if(n instanceof THREE.Face3){if(l){O=
fa[n.a].position;N=fa[n.b].position;G=fa[n.c].position;Q[I]=O.x;Q[I+1]=O.y;Q[I+2]=O.z;Q[I+3]=N.x;Q[I+4]=N.y;Q[I+5]=N.z;Q[I+6]=G.x;Q[I+7]=G.y;Q[I+8]=G.z;I+=9}if(t&&ka.hasTangents){O=fa[n.a].tangent;N=fa[n.b].tangent;G=fa[n.c].tangent;Z[w]=O.x;Z[w+1]=O.y;Z[w+2]=O.z;Z[w+3]=O.w;Z[w+4]=N.x;Z[w+5]=N.y;Z[w+6]=N.z;Z[w+7]=N.w;Z[w+8]=G.x;Z[w+9]=G.y;Z[w+10]=G.z;Z[w+11]=G.w;w+=12}if(m)if(E.length==3&&qa)for(n=0;n<3;n++){A=E[n];ba[S]=A.x;ba[S+1]=A.y;ba[S+2]=A.z;S+=3}else for(n=0;n<3;n++){ba[S]=A.x;ba[S+1]=A.y;
ba[S+2]=A.z;S+=3}if(C&&s)for(n=0;n<3;n++){E=s[n];da[L]=E.u;da[L+1]=E.v;L+=2}if(r){ja[V]=P;ja[V+1]=P+1;ja[V+2]=P+2;V+=3;Y[M]=P;Y[M+1]=P+1;Y[M+2]=P;Y[M+3]=P+2;Y[M+4]=P+1;Y[M+5]=P+2;M+=6;P+=3}}else if(n instanceof THREE.Face4){if(l){O=fa[n.a].position;N=fa[n.b].position;G=fa[n.c].position;W=fa[n.d].position;Q[I]=O.x;Q[I+1]=O.y;Q[I+2]=O.z;Q[I+3]=N.x;Q[I+4]=N.y;Q[I+5]=N.z;Q[I+6]=G.x;Q[I+7]=G.y;Q[I+8]=G.z;Q[I+9]=W.x;Q[I+10]=W.y;Q[I+11]=W.z;I+=12}if(t&&ka.hasTangents){O=fa[n.a].tangent;N=fa[n.b].tangent;
G=fa[n.c].tangent;n=fa[n.d].tangent;Z[w]=O.x;Z[w+1]=O.y;Z[w+2]=O.z;Z[w+3]=O.w;Z[w+4]=N.x;Z[w+5]=N.y;Z[w+6]=N.z;Z[w+7]=N.w;Z[w+8]=G.x;Z[w+9]=G.y;Z[w+10]=G.z;Z[w+11]=G.w;Z[w+12]=n.x;Z[w+13]=n.y;Z[w+14]=n.z;Z[w+15]=n.w;w+=16}if(m)if(E.length==4&&qa)for(n=0;n<4;n++){A=E[n];ba[S]=A.x;ba[S+1]=A.y;ba[S+2]=A.z;S+=3}else for(n=0;n<4;n++){ba[S]=A.x;ba[S+1]=A.y;ba[S+2]=A.z;S+=3}if(C&&s)for(n=0;n<4;n++){E=s[n];da[L]=E.u;da[L+1]=E.v;L+=2}if(r){ja[V]=P;ja[V+1]=P+1;ja[V+2]=P+2;ja[V+3]=P;ja[V+4]=P+2;ja[V+5]=P+3;
V+=6;Y[M]=P;Y[M+1]=P+1;Y[M+2]=P;Y[M+3]=P+3;Y[M+4]=P+1;Y[M+5]=P+2;Y[M+6]=P+2;Y[M+7]=P+3;M+=8;P+=4}}}if(l){b.bindBuffer(b.ARRAY_BUFFER,f.__webGLVertexBuffer);b.bufferData(b.ARRAY_BUFFER,Q,q)}if(m){b.bindBuffer(b.ARRAY_BUFFER,f.__webGLNormalBuffer);b.bufferData(b.ARRAY_BUFFER,ba,q)}if(t&&ka.hasTangents){b.bindBuffer(b.ARRAY_BUFFER,f.__webGLTangentBuffer);b.bufferData(b.ARRAY_BUFFER,Z,q)}if(C&&L>0){b.bindBuffer(b.ARRAY_BUFFER,f.__webGLUVBuffer);b.bufferData(b.ARRAY_BUFFER,da,q)}if(r){b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,
f.__webGLFaceBuffer);b.bufferData(b.ELEMENT_ARRAY_BUFFER,ja,q);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,f.__webGLLineBuffer);b.bufferData(b.ELEMENT_ARRAY_BUFFER,Y,q)}};this.setLineBuffers=function(f,j,q,l){var r,C,m=f.vertices,t=m.length,v=f.__vertexArray,s=f.__lineArray;if(q)for(q=0;q<t;q++){r=m[q].position;C=q*3;v[C]=r.x;v[C+1]=r.y;v[C+2]=r.z}if(l)for(q=0;q<t;q++)s[q]=q;b.bindBuffer(b.ARRAY_BUFFER,f.__webGLVertexBuffer);b.bufferData(b.ARRAY_BUFFER,v,j);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,f.__webGLLineBuffer);
b.bufferData(b.ELEMENT_ARRAY_BUFFER,s,j)};this.setParticleBuffers=function(){};this.renderBuffer=function(f,j,q,l,r,C){var m,t,v,s;if(!l.program){if(l instanceof THREE.MeshDepthMaterial){c(l,THREE.ShaderLib.depth);l.uniforms.mNear.value=f.near;l.uniforms.mFar.value=f.far}else if(l instanceof THREE.MeshNormalMaterial)c(l,THREE.ShaderLib.normal);else if(l instanceof THREE.MeshBasicMaterial){c(l,THREE.ShaderLib.basic);d(l,q)}else if(l instanceof THREE.MeshLambertMaterial){c(l,THREE.ShaderLib.lambert);
d(l,q)}else if(l instanceof THREE.MeshPhongMaterial){c(l,THREE.ShaderLib.phong);d(l,q)}else if(l instanceof THREE.LineBasicMaterial){c(l,THREE.ShaderLib.basic);e(l,q)}var n,E,A;n=s=t=0;for(E=j.length;n<E;n++){A=j[n];A instanceof THREE.DirectionalLight&&s++;A instanceof THREE.PointLight&&t++}if(t+s<=4){n=s;t=t}else{n=Math.ceil(4*s/(t+s));t=4-n}t={directional:n,point:t};s={fog:q,map:l.map,env_map:l.env_map,maxDirLights:t.directional,maxPointLights:t.point};t=l.fragment_shader;n=l.vertex_shader;E=b.createProgram();
A=["#ifdef GL_ES\nprecision highp float;\n#endif","#define MAX_DIR_LIGHTS "+s.maxDirLights,"#define MAX_POINT_LIGHTS "+s.maxPointLights,s.fog?"#define USE_FOG":"",s.fog instanceof THREE.FogExp2?"#define FOG_EXP2":"",s.map?"#define USE_MAP":"",s.env_map?"#define USE_ENVMAP":"","uniform mat4 viewMatrix;\nuniform vec3 cameraPosition;\n"].join("\n");s=[b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0?"#define VERTEX_TEXTURES":"","#define MAX_DIR_LIGHTS "+s.maxDirLights,"#define MAX_POINT_LIGHTS "+s.maxPointLights,
s.map?"#define USE_MAP":"",s.env_map?"#define USE_ENVMAP":"","uniform mat4 objectMatrix;\nuniform mat4 modelViewMatrix;\nuniform mat4 projectionMatrix;\nuniform mat4 viewMatrix;\nuniform mat3 normalMatrix;\nuniform vec3 cameraPosition;\nattribute vec3 position;\nattribute vec3 normal;\nattribute vec2 uv;\n"].join("\n");b.attachShader(E,g("fragment",A+t));b.attachShader(E,g("vertex",s+n));b.linkProgram(E);b.getProgramParameter(E,b.LINK_STATUS)||alert("Could not initialise shaders\nVALIDATE_STATUS: "+
b.getProgramParameter(E,b.VALIDATE_STATUS)+", gl error ["+b.getError()+"]");E.uniforms={};E.attributes={};l.program=E;t=["viewMatrix","modelViewMatrix","projectionMatrix","normalMatrix","objectMatrix","cameraPosition"];for(m in l.uniforms)t.push(m);m=l.program;n=0;for(E=t.length;n<E;n++){A=t[n];m.uniforms[A]=b.getUniformLocation(m,A)}m=l.program;t=["position","normal","uv","tangent"];n=0;for(E=t.length;n<E;n++){A=t[n];m.attributes[A]=b.getAttribLocation(m,A)}}m=l.program;if(m!=i){b.useProgram(m);
i=m}this.loadCamera(m,f);this.loadMatrices(m);if(l instanceof THREE.MeshPhongMaterial||l instanceof THREE.MeshLambertMaterial){this.setupLights(m,j);f=this.lights;l.uniforms.enableLighting.value=f.directional.length+f.point.length;l.uniforms.ambientLightColor.value=f.ambient;l.uniforms.directionalLightColor.value=f.directional.colors;l.uniforms.directionalLightDirection.value=f.directional.positions;l.uniforms.pointLightColor.value=f.point.colors;l.uniforms.pointLightPosition.value=f.point.positions}if(l instanceof
THREE.MeshBasicMaterial||l instanceof THREE.MeshLambertMaterial||l instanceof THREE.MeshPhongMaterial)d(l,q);l instanceof THREE.LineBasicMaterial&&e(l,q);if(l instanceof THREE.MeshPhongMaterial){l.uniforms.ambient.value.setRGB(l.ambient.r,l.ambient.g,l.ambient.b);l.uniforms.specular.value.setRGB(l.specular.r,l.specular.g,l.specular.b);l.uniforms.shininess.value=l.shininess}q=l.uniforms;for(v in q)if(n=m.uniforms[v]){j=q[v];t=j.type;f=j.value;if(t=="i")b.uniform1i(n,f);else if(t=="f")b.uniform1f(n,
f);else if(t=="fv1")b.uniform1fv(n,f);else if(t=="fv")b.uniform3fv(n,f);else if(t=="v2")b.uniform2f(n,f.x,f.y);else if(t=="v3")b.uniform3f(n,f.x,f.y,f.z);else if(t=="c")b.uniform3f(n,f.r,f.g,f.b);else if(t=="t"){b.uniform1i(n,f);if(j=j.texture)if(j.image instanceof Array&&j.image.length==6){j=j;f=f;if(j.image.length==6){if(!j.image.__webGLTextureCube&&!j.image.__cubeMapInitialized&&j.image.loadCount==6){j.image.__webGLTextureCube=b.createTexture();b.bindTexture(b.TEXTURE_CUBE_MAP,j.image.__webGLTextureCube);
b.texParameteri(b.TEXTURE_CUBE_MAP,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_CUBE_MAP,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE);b.texParameteri(b.TEXTURE_CUBE_MAP,b.TEXTURE_MAG_FILTER,b.LINEAR);b.texParameteri(b.TEXTURE_CUBE_MAP,b.TEXTURE_MIN_FILTER,b.LINEAR_MIPMAP_LINEAR);for(t=0;t<6;++t)b.texImage2D(b.TEXTURE_CUBE_MAP_POSITIVE_X+t,0,b.RGBA,b.RGBA,b.UNSIGNED_BYTE,j.image[t]);b.generateMipmap(b.TEXTURE_CUBE_MAP);b.bindTexture(b.TEXTURE_CUBE_MAP,null);j.image.__cubeMapInitialized=true}b.activeTexture(b.TEXTURE0+
f);b.bindTexture(b.TEXTURE_CUBE_MAP,j.image.__webGLTextureCube)}}else{j=j;f=f;if(!j.__webGLTexture&&j.image.loaded){j.__webGLTexture=b.createTexture();b.bindTexture(b.TEXTURE_2D,j.__webGLTexture);b.texImage2D(b.TEXTURE_2D,0,b.RGBA,b.RGBA,b.UNSIGNED_BYTE,j.image);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,h(j.wrap_s));b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,h(j.wrap_t));b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,h(j.mag_filter));b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,h(j.min_filter));
b.generateMipmap(b.TEXTURE_2D);b.bindTexture(b.TEXTURE_2D,null)}b.activeTexture(b.TEXTURE0+f);b.bindTexture(b.TEXTURE_2D,j.__webGLTexture)}}}v=m.attributes;b.bindBuffer(b.ARRAY_BUFFER,r.__webGLVertexBuffer);b.vertexAttribPointer(v.position,3,b.FLOAT,false,0,0);b.enableVertexAttribArray(v.position);if(v.normal>=0){b.bindBuffer(b.ARRAY_BUFFER,r.__webGLNormalBuffer);b.vertexAttribPointer(v.normal,3,b.FLOAT,false,0,0);b.enableVertexAttribArray(v.normal)}if(v.tangent>=0){b.bindBuffer(b.ARRAY_BUFFER,r.__webGLTangentBuffer);
b.vertexAttribPointer(v.tangent,4,b.FLOAT,false,0,0);b.enableVertexAttribArray(v.tangent)}if(v.uv>=0)if(r.__webGLUVBuffer){b.bindBuffer(b.ARRAY_BUFFER,r.__webGLUVBuffer);b.vertexAttribPointer(v.uv,2,b.FLOAT,false,0,0);b.enableVertexAttribArray(v.uv)}else b.disableVertexAttribArray(v.uv);if(l.wireframe||l instanceof THREE.LineBasicMaterial){v=l.wireframe_linewidth!==undefined?l.wireframe_linewidth:l.linewidth!==undefined?l.linewidth:1;l=l instanceof THREE.LineBasicMaterial&&C.type==THREE.LineStrip?
b.LINE_STRIP:b.LINES;b.lineWidth(v);b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,r.__webGLLineBuffer);b.drawElements(l,r.__webGLLineCount,b.UNSIGNED_SHORT,0)}else{b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,r.__webGLFaceBuffer);b.drawElements(b.TRIANGLES,r.__webGLFaceCount,b.UNSIGNED_SHORT,0)}};this.renderPass=function(f,j,q,l,r,C,m){var t,v,s,n,E;s=0;for(n=l.materials.length;s<n;s++){t=l.materials[s];if(t instanceof THREE.MeshFaceMaterial){t=0;for(v=r.materials.length;t<v;t++)if((E=r.materials[t])&&E.blending==C&&
E.opacity<1==m){this.setBlending(E.blending);this.renderBuffer(f,j,q,E,r,l)}}else if((E=t)&&E.blending==C&&E.opacity<1==m){this.setBlending(E.blending);this.renderBuffer(f,j,q,E,r,l)}}};this.render=function(f,j,q,l){var r,C,m,t=f.lights,v=f.fog;this.initWebGLObjects(f);l=l!==undefined?l:true;if(q&&!q.__webGLFramebuffer){q.__webGLFramebuffer=b.createFramebuffer();q.__webGLRenderbuffer=b.createRenderbuffer();q.__webGLTexture=b.createTexture();b.bindRenderbuffer(b.RENDERBUFFER,q.__webGLRenderbuffer);
b.renderbufferStorage(b.RENDERBUFFER,b.DEPTH_COMPONENT16,q.width,q.height);b.bindTexture(b.TEXTURE_2D,q.__webGLTexture);b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,h(q.wrap_s));b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,h(q.wrap_t));b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MAG_FILTER,h(q.mag_filter));b.texParameteri(b.TEXTURE_2D,b.TEXTURE_MIN_FILTER,h(q.min_filter));b.texImage2D(b.TEXTURE_2D,0,h(q.format),q.width,q.height,0,h(q.format),h(q.type),null);b.bindFramebuffer(b.FRAMEBUFFER,q.__webGLFramebuffer);
b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,q.__webGLTexture,0);b.framebufferRenderbuffer(b.FRAMEBUFFER,b.DEPTH_ATTACHMENT,b.RENDERBUFFER,q.__webGLRenderbuffer);b.bindTexture(b.TEXTURE_2D,null);b.bindRenderbuffer(b.RENDERBUFFER,null);b.bindFramebuffer(b.FRAMEBUFFER,null)}if(q){r=q.__webGLFramebuffer;m=q.width;C=q.height}else{r=null;m=o.width;C=o.height}if(r!=k){b.bindFramebuffer(b.FRAMEBUFFER,r);b.viewport(0,0,m,C);l&&b.clear(b.COLOR_BUFFER_BIT|b.DEPTH_BUFFER_BIT);k=r}this.autoClear&&
this.clear();j.autoUpdateMatrix&&j.updateMatrix();u.set(j.matrix.flatten());H.set(j.projectionMatrix.flatten());l=0;for(r=f.__webGLObjects.length;l<r;l++){C=f.__webGLObjects[l];m=C.object;C=C.buffer;if(m.visible){this.setupMatrices(m,j);this.renderPass(j,t,v,m,C,THREE.NormalBlending,false)}}l=0;for(r=f.__webGLObjects.length;l<r;l++){C=f.__webGLObjects[l];m=C.object;C=C.buffer;if(m.visible){this.setupMatrices(m,j);if(m.doubleSided)b.disable(b.CULL_FACE);else{b.enable(b.CULL_FACE);m.flipSided?b.frontFace(b.CW):
b.frontFace(b.CCW)}this.renderPass(j,t,v,m,C,THREE.AdditiveBlending,false);this.renderPass(j,t,v,m,C,THREE.SubtractiveBlending,false);this.renderPass(j,t,v,m,C,THREE.AdditiveBlending,true);this.renderPass(j,t,v,m,C,THREE.SubtractiveBlending,true);this.renderPass(j,t,v,m,C,THREE.NormalBlending,true)}}if(q&&q.min_filter!==THREE.NearestFilter&&q.min_filter!==THREE.LinearFilter){b.bindTexture(b.TEXTURE_2D,q.__webGLTexture);b.generateMipmap(b.TEXTURE_2D);b.bindTexture(b.TEXTURE_2D,null)}};this.initWebGLObjects=
function(f){function j(s,n,E,A){if(s[n]==undefined){f.__webGLObjects.push({buffer:E,object:A});s[n]=1}}var q,l,r,C,m,t,v;if(!f.__webGLObjects){f.__webGLObjects=[];f.__webGLObjectsMap={}}q=0;for(l=f.objects.length;q<l;q++){r=f.objects[q];m=r.geometry;if(f.__webGLObjectsMap[r.id]==undefined)f.__webGLObjectsMap[r.id]={};v=f.__webGLObjectsMap[r.id];if(r instanceof THREE.Mesh){for(C in m.geometryChunks){t=m.geometryChunks[C];if(!t.__webGLVertexBuffer){this.createMeshBuffers(t);this.initMeshBuffers(t,r);
m.__dirtyVertices=true;m.__dirtyElements=true;m.__dirtyUvs=true;m.__dirtyNormals=true;m.__dirtyTangents=true}if(m.__dirtyVertices||m.__dirtyElements||m.__dirtyUvs)this.setMeshBuffers(t,r,b.DYNAMIC_DRAW,m.__dirtyVertices,m.__dirtyElements,m.__dirtyUvs,m.__dirtyNormals,m.__dirtyTangents);j(v,C,t,r)}m.__dirtyVertices=false;m.__dirtyElements=false;m.__dirtyUvs=false;m.__dirtyNormals=false;m.__dirtyTangents=false}else if(r instanceof THREE.Line){if(!m.__webGLVertexBuffer){this.createLineBuffers(m);this.initLineBuffers(m);
m.__dirtyVertices=true;m.__dirtyElements=true}m.__dirtyVertices&&this.setLineBuffers(m,b.DYNAMIC_DRAW,m.__dirtyVertices,m.__dirtyElements);j(v,0,m,r);m.__dirtyVertices=false;m.__dirtyElements=false}else if(r instanceof THREE.ParticleSystem){m.__webGLVertexBuffer||this.createParticleBuffers(m);j(v,0,m,r)}}};this.removeObject=function(f,j){var q,l;for(q=f.__webGLObjects.length-1;q>=0;q--){l=f.__webGLObjects[q].object;j==l&&f.__webGLObjects.splice(q,1)}};this.setupMatrices=function(f,j){f.autoUpdateMatrix&&
f.updateMatrix();y.multiply(j.matrix,f.matrix);x.set(y.flatten());z=THREE.Matrix4.makeInvert3x3(y).transpose();J.set(z.m);K.set(f.matrix.flatten())};this.loadMatrices=function(f){b.uniformMatrix4fv(f.uniforms.viewMatrix,false,u);b.uniformMatrix4fv(f.uniforms.modelViewMatrix,false,x);b.uniformMatrix4fv(f.uniforms.projectionMatrix,false,H);b.uniformMatrix3fv(f.uniforms.normalMatrix,false,J);b.uniformMatrix4fv(f.uniforms.objectMatrix,false,K)};this.loadCamera=function(f,j){b.uniform3f(f.uniforms.cameraPosition,
j.position.x,j.position.y,j.position.z)};this.setBlending=function(f){switch(f){case THREE.AdditiveBlending:b.blendEquation(b.FUNC_ADD);b.blendFunc(b.ONE,b.ONE);break;case THREE.SubtractiveBlending:b.blendFunc(b.DST_COLOR,b.ZERO);break;default:b.blendEquation(b.FUNC_ADD);b.blendFunc(b.ONE,b.ONE_MINUS_SRC_ALPHA)}};this.setFaceCulling=function(f,j){if(f){!j||j=="ccw"?b.frontFace(b.CCW):b.frontFace(b.CW);if(f=="back")b.cullFace(b.BACK);else f=="front"?b.cullFace(b.FRONT):b.cullFace(b.FRONT_AND_BACK);
b.enable(b.CULL_FACE)}else b.disable(b.CULL_FACE)};this.supportsVertexTextures=function(){return b.getParameter(b.MAX_VERTEX_TEXTURE_IMAGE_UNITS)>0}};
THREE.Snippets={fog_pars_fragment:"#ifdef USE_FOG\nuniform vec3 fogColor;\n#ifdef FOG_EXP2\nuniform float fogDensity;\n#else\nuniform float fogNear;\nuniform float fogFar;\n#endif\n#endif",fog_fragment:"#ifdef USE_FOG\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n#ifdef FOG_EXP2\nconst float LOG2 = 1.442695;\nfloat fogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n#else\nfloat fogFactor = smoothstep( fogNear, fogFar, depth );\n#endif\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, 1.0 ), fogFactor );\n#endif",envmap_pars_fragment:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float reflectivity;\nuniform samplerCube env_map;\nuniform int combine;\n#endif",
envmap_fragment:"#ifdef USE_ENVMAP\ncubeColor = textureCube( env_map, vec3( -vReflect.x, vReflect.yz ) );\nif ( combine == 1 ) {\ngl_FragColor = mix( gl_FragColor, cubeColor, reflectivity );\n} else {\ngl_FragColor = gl_FragColor * cubeColor;\n}\n#endif",envmap_pars_vertex:"#ifdef USE_ENVMAP\nvarying vec3 vReflect;\nuniform float refraction_ratio;\nuniform bool useRefract;\n#endif",envmap_vertex:"#ifdef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\nvec3 nWorld = mat3( objectMatrix[0].xyz, objectMatrix[1].xyz, objectMatrix[2].xyz ) * normal;\nif ( useRefract ) {\nvReflect = refract( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ), refraction_ratio );\n} else {\nvReflect = reflect( normalize( mPosition.xyz - cameraPosition ), normalize( nWorld.xyz ) );\n}\n#endif",
map_pars_fragment:"#ifdef USE_MAP\nvarying vec2 vUv;\nuniform sampler2D map;\n#endif",map_pars_vertex:"#ifdef USE_MAP\nvarying vec2 vUv;\n#endif",map_fragment:"#ifdef USE_MAP\nmapColor = texture2D( map, vUv );\n#endif",map_vertex:"#ifdef USE_MAP\nvUv = uv;\n#endif",lights_pars_vertex:"uniform bool enableLighting;\nuniform vec3 ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nuniform vec3 pointLightColor[ MAX_POINT_LIGHTS ];\nuniform vec3 pointLightPosition[ MAX_POINT_LIGHTS ];\n#ifdef PHONG\nvarying vec3 vPointLightVector[ MAX_POINT_LIGHTS ];\n#endif\n#endif",
lights_vertex:"if ( !enableLighting ) {\nvLightWeighting = vec3( 1.0 );\n} else {\nvLightWeighting = ambientLightColor;\n#if MAX_DIR_LIGHTS > 0\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nfloat directionalLightWeighting = max( dot( transformedNormal, normalize( lDirection.xyz ) ), 0.0 );\nvLightWeighting += directionalLightColor[ i ] * directionalLightWeighting;\n}\n#endif\n#if MAX_POINT_LIGHTS > 0\nfor( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {\nvec4 lPosition = viewMatrix * vec4( pointLightPosition[ i ], 1.0 );\nvec3 pointLightVector = normalize( lPosition.xyz - mvPosition.xyz );\nfloat pointLightWeighting = max( dot( transformedNormal, pointLightVector ), 0.0 );\nvLightWeighting += pointLightColor[ i ] * pointLightWeighting;\n#ifdef PHONG\nvPointLightVector[ i ] = pointLightVector;\n#endif\n}\n#endif\n}",
lights_pars_fragment:"#if MAX_DIR_LIGHTS > 0\nuniform vec3 directionalLightDirection[ MAX_DIR_LIGHTS ];\n#endif\n#if MAX_POINT_LIGHTS > 0\nvarying vec3 vPointLightVector[ MAX_POINT_LIGHTS ];\n#endif\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",lights_fragment:"vec3 normal = normalize( vNormal );\nvec3 viewPosition = normalize( vViewPosition );\nvec4 mSpecular = vec4( specular, opacity );\n#if MAX_POINT_LIGHTS > 0\nvec4 pointDiffuse = vec4( 0.0 );\nvec4 pointSpecular = vec4( 0.0 );\nfor( int i = 0; i < MAX_POINT_LIGHTS; i++ ) {\nvec3 pointVector = normalize( vPointLightVector[ i ] );\nvec3 pointHalfVector = normalize( vPointLightVector[ i ] + vViewPosition );\nfloat pointDotNormalHalf = dot( normal, pointHalfVector );\nfloat pointDiffuseWeight = max( dot( normal, pointVector ), 0.0 );\nfloat pointSpecularWeight = 0.0;\nif ( pointDotNormalHalf >= 0.0 )\npointSpecularWeight = pow( pointDotNormalHalf, shininess );\npointDiffuse += mColor * pointDiffuseWeight;\npointSpecular += mSpecular * pointSpecularWeight;\n}\n#endif\n#if MAX_DIR_LIGHTS > 0\nvec4 dirDiffuse = vec4( 0.0 );\nvec4 dirSpecular = vec4( 0.0 );\nfor( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {\nvec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );\nvec3 dirVector = normalize( lDirection.xyz );\nvec3 dirHalfVector = normalize( lDirection.xyz + vViewPosition );\nfloat dirDotNormalHalf = dot( normal, dirHalfVector );\nfloat dirDiffuseWeight = max( dot( normal, dirVector ), 0.0 );\nfloat dirSpecularWeight = 0.0;\nif ( dirDotNormalHalf >= 0.0 )\ndirSpecularWeight = pow( dirDotNormalHalf, shininess );\ndirDiffuse += mColor * dirDiffuseWeight;\ndirSpecular += mSpecular * dirSpecularWeight;\n}\n#endif\nvec4 totalLight = vec4( ambient, opacity );\n#if MAX_DIR_LIGHTS > 0\ntotalLight += dirDiffuse + dirSpecular;\n#endif\n#if MAX_POINT_LIGHTS > 0\ntotalLight += pointDiffuse + pointSpecular;\n#endif"};
THREE.UniformsLib={common:{color:{type:"c",value:new THREE.Color(15658734)},opacity:{type:"f",value:1},map:{type:"t",value:0,texture:null},env_map:{type:"t",value:1,texture:null},useRefract:{type:"i",value:0},reflectivity:{type:"f",value:1},refraction_ratio:{type:"f",value:0.98},combine:{type:"i",value:0},fogDensity:{type:"f",value:2.5E-4},fogNear:{type:"f",value:1},fogFar:{type:"f",value:2E3},fogColor:{type:"c",value:new THREE.Color(16777215)}},lights:{enableLighting:{type:"i",value:1},ambientLightColor:{type:"fv",
value:[]},directionalLightDirection:{type:"fv",value:[]},directionalLightColor:{type:"fv",value:[]},pointLightPosition:{type:"fv",value:[]},pointLightColor:{type:"fv",value:[]}}};
THREE.ShaderLib={depth:{uniforms:{mNear:{type:"f",value:1},mFar:{type:"f",value:2E3}},fragment_shader:"uniform float mNear;\nuniform float mFar;\nvoid main() {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat color = 1.0 - smoothstep( mNear, mFar, depth );\ngl_FragColor = vec4( vec3( color ), 1.0 );\n}",vertex_shader:"void main() {\ngl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );\n}"},normal:{uniforms:{},fragment_shader:"varying vec3 vNormal;\nvoid main() {\ngl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, 1.0 );\n}",
vertex_shader:"varying vec3 vNormal;\nvoid main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\nvNormal = normalize( normalMatrix * normal );\ngl_Position = projectionMatrix * mvPosition;\n}"},basic:{uniforms:THREE.UniformsLib.common,fragment_shader:["uniform vec3 color;\nuniform float opacity;",THREE.Snippets.map_pars_fragment,THREE.Snippets.envmap_pars_fragment,THREE.Snippets.fog_pars_fragment,"void main() {\nvec4 mColor = vec4( color, opacity );\nvec4 mapColor = vec4( 1.0 );\nvec4 cubeColor = vec4( 1.0 );",
THREE.Snippets.map_fragment,"gl_FragColor = mColor * mapColor;",THREE.Snippets.envmap_fragment,THREE.Snippets.fog_fragment,"}"].join("\n"),vertex_shader:[THREE.Snippets.map_pars_vertex,THREE.Snippets.envmap_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.Snippets.map_vertex,THREE.Snippets.envmap_vertex,"gl_Position = projectionMatrix * mvPosition;\n}"].join("\n")},lambert:{uniforms:Uniforms.merge([THREE.UniformsLib.common,THREE.UniformsLib.lights]),fragment_shader:["uniform vec3 color;\nuniform float opacity;\nvarying vec3 vLightWeighting;",
THREE.Snippets.map_pars_fragment,THREE.Snippets.envmap_pars_fragment,THREE.Snippets.fog_pars_fragment,"void main() {\nvec4 mColor = vec4( color, opacity );\nvec4 mapColor = vec4( 1.0 );\nvec4 cubeColor = vec4( 1.0 );",THREE.Snippets.map_fragment,"gl_FragColor = mColor * mapColor * vec4( vLightWeighting, 1.0 );",THREE.Snippets.envmap_fragment,THREE.Snippets.fog_fragment,"}"].join("\n"),vertex_shader:["varying vec3 vLightWeighting;",THREE.Snippets.map_pars_vertex,THREE.Snippets.envmap_pars_vertex,
THREE.Snippets.lights_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.Snippets.map_vertex,THREE.Snippets.envmap_vertex,"vec3 transformedNormal = normalize( normalMatrix * normal );",THREE.Snippets.lights_vertex,"gl_Position = projectionMatrix * mvPosition;\n}"].join("\n")},phong:{uniforms:Uniforms.merge([THREE.UniformsLib.common,THREE.UniformsLib.lights,{ambient:{type:"c",value:new THREE.Color(328965)},specular:{type:"c",value:new THREE.Color(1118481)},
shininess:{type:"f",value:30}}]),fragment_shader:["uniform vec3 color;\nuniform float opacity;\nuniform vec3 ambient;\nuniform vec3 specular;\nuniform float shininess;\nvarying vec3 vLightWeighting;",THREE.Snippets.map_pars_fragment,THREE.Snippets.envmap_pars_fragment,THREE.Snippets.fog_pars_fragment,THREE.Snippets.lights_pars_fragment,"void main() {\nvec4 mColor = vec4( color, opacity );\nvec4 mapColor = vec4( 1.0 );\nvec4 cubeColor = vec4( 1.0 );",THREE.Snippets.map_fragment,THREE.Snippets.lights_fragment,
"gl_FragColor = mapColor * totalLight * vec4( vLightWeighting, 1.0 );",THREE.Snippets.envmap_fragment,THREE.Snippets.fog_fragment,"}"].join("\n"),vertex_shader:["#define PHONG\nvarying vec3 vLightWeighting;\nvarying vec3 vViewPosition;\nvarying vec3 vNormal;",THREE.Snippets.map_pars_vertex,THREE.Snippets.envmap_pars_vertex,THREE.Snippets.lights_pars_vertex,"void main() {\nvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",THREE.Snippets.map_vertex,THREE.Snippets.envmap_vertex,"#ifndef USE_ENVMAP\nvec4 mPosition = objectMatrix * vec4( position, 1.0 );\n#endif\nvViewPosition = cameraPosition - mPosition.xyz;\nvec3 transformedNormal = normalize( normalMatrix * normal );\nvNormal = transformedNormal;",
THREE.Snippets.lights_vertex,"gl_Position = projectionMatrix * mvPosition;\n}"].join("\n")}};THREE.RenderableObject=function(){this.z=this.object=null};THREE.RenderableFace3=function(){this.z=null;this.v1=new THREE.Vertex;this.v2=new THREE.Vertex;this.v3=new THREE.Vertex;this.centroidWorld=new THREE.Vector3;this.centroidScreen=new THREE.Vector3;this.normalWorld=new THREE.Vector3;this.vertexNormalsWorld=[];this.faceMaterials=this.meshMaterials=null;this.overdraw=false;this.uvs=[null,null,null]};
THREE.RenderableParticle=function(){this.rotation=this.z=this.y=this.x=null;this.scale=new THREE.Vector2;this.materials=null};THREE.RenderableLine=function(){this.z=null;this.v1=new THREE.Vertex;this.v2=new THREE.Vertex;this.materials=null};

View File

@ -0,0 +1,126 @@
// BinaryReader
// Refactored by Vjeux <vjeuxx@gmail.com>
// http://blog.vjeux.com/2010/javascript/javascript-binary-reader.html
// Original
//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/classes/binary-parser [rev. #1]
BinaryReader = function (data) {
this._buffer = data;
this._pos = 0;
};
BinaryReader.prototype = {
/* Public */
readInt8: function (){ return this._decodeInt(8, true); },
readUInt8: function (){ return this._decodeInt(8, false); },
readInt16: function (){ return this._decodeInt(16, true); },
readUInt16: function (){ return this._decodeInt(16, false); },
readInt32: function (){ return this._decodeInt(32, true); },
readUInt32: function (){ return this._decodeInt(32, false); },
readFloat: function (){ return this._decodeFloat(23, 8); },
readDouble: function (){ return this._decodeFloat(52, 11); },
readChar: function () { return this.readString(1); },
readString: function (length) {
this._checkSize(length * 8);
var result = this._buffer.substr(this._pos, length);
this._pos += length;
return result;
},
seek: function (pos) {
this._pos = pos;
this._checkSize(0);
},
getPosition: function () {
return this._pos;
},
getSize: function () {
return this._buffer.length;
},
/* Private */
_decodeFloat: function(precisionBits, exponentBits){
var length = precisionBits + exponentBits + 1;
var size = length >> 3;
this._checkSize(length);
var bias = Math.pow(2, exponentBits - 1) - 1;
var signal = this._readBits(precisionBits + exponentBits, 1, size);
var exponent = this._readBits(precisionBits, exponentBits, size);
var significand = 0;
var divisor = 2;
// var curByte = length + (-precisionBits >> 3) - 1;
var curByte = 0;
do {
var byteValue = this._readByte(++curByte, size);
var startBit = precisionBits % 8 || 8;
var mask = 1 << startBit;
while (mask >>= 1) {
if (byteValue & mask) {
significand += 1 / divisor;
}
divisor *= 2;
}
} while (precisionBits -= startBit);
this._pos += size;
return exponent == (bias << 1) + 1 ? significand ? NaN : signal ? -Infinity : +Infinity
: (1 + signal * -2) * (exponent || significand ? !exponent ? Math.pow(2, -bias + 1) * significand
: Math.pow(2, exponent - bias) * (1 + significand) : 0);
},
_decodeInt: function(bits, signed){
var x = this._readBits(0, bits, bits / 8), max = Math.pow(2, bits);
var result = signed && x >= max / 2 ? x - max : x;
this._pos += bits / 8;
return result;
},
//shl fix: Henri Torgemane ~1996 (compressed by Jonas Raoni)
_shl: function (a, b){
for (++b; --b; a = ((a %= 0x7fffffff + 1) & 0x40000000) == 0x40000000 ? a * 2 : (a - 0x40000000) * 2 + 0x7fffffff + 1);
return a;
},
_readByte: function (i, size) {
return this._buffer.charCodeAt(this._pos + size - i - 1) & 0xff;
},
_readBits: function (start, length, size) {
var offsetLeft = (start + length) % 8;
var offsetRight = start % 8;
var curByte = size - (start >> 3) - 1;
var lastByte = size + (-(start + length) >> 3);
var diff = curByte - lastByte;
var sum = (this._readByte(curByte, size) >> offsetRight) & ((1 << (diff ? 8 - offsetRight : length)) - 1);
if (diff && offsetLeft) {
sum += (this._readByte(lastByte++, size) & ((1 << offsetLeft) - 1)) << (diff-- << 3) - offsetRight;
}
while (diff) {
sum += this._shl(this._readByte(lastByte++, size), (diff-- << 3) - offsetRight);
}
return sum;
},
_checkSize: function (neededBits) {
if (!(this._pos + Math.ceil(neededBits / 8) < this._buffer.length)) {
throw new Error("Index out of bound");
}
}
};

View File

@ -0,0 +1,62 @@
/**
* @author mr.doob / http://mrdoob.com/
* based on http://papervision3d.googlecode.com/svn/trunk/as3/trunk/src/org/papervision3d/objects/primitives/Plane.as
*/
var Plane = function ( width, height, segments_width, segments_height ) {
THREE.Geometry.call( this );
var ix, iy,
width_half = width / 2,
height_half = height / 2,
gridX = segments_width || 1,
gridY = segments_height || 1,
gridX1 = gridX + 1,
gridY1 = gridY + 1,
segment_width = width / gridX,
segment_height = height / gridY;
for( iy = 0; iy < gridY1; iy++ ) {
for( ix = 0; ix < gridX1; ix++ ) {
var x = ix * segment_width - width_half;
var y = iy * segment_height - height_half;
this.vertices.push( new THREE.Vertex( new THREE.Vector3( x, - y, 0 ) ) );
}
}
for( iy = 0; iy < gridY; iy++ ) {
for( ix = 0; ix < gridX; ix++ ) {
var a = ix + gridX1 * iy;
var b = ix + gridX1 * ( iy + 1 );
var c = ( ix + 1 ) + gridX1 * ( iy + 1 );
var d = ( ix + 1 ) + gridX1 * iy;
this.faces.push( new THREE.Face4( a, b, c, d ) );
this.uvs.push( [
new THREE.UV( ix / gridX, iy / gridY ),
new THREE.UV( ix / gridX, ( iy + 1 ) / gridY ),
new THREE.UV( ( ix + 1 ) / gridX, ( iy + 1 ) / gridY ),
new THREE.UV( ( ix + 1 ) / gridX, iy / gridY )
] );
}
}
this.computeCentroids();
this.computeFaceNormals();
this.sortFacesByMaterial();
};
Plane.prototype = new THREE.Geometry();
Plane.prototype.constructor = Plane;

View File

@ -0,0 +1,2 @@
// stats.js r5 - http://github.com/mrdoob/stats.js
var Stats=function(){var j=0,u=2,r,C=0,E=new Date().getTime(),w=E,f=E,m=0,e=1000,i=0,F,q,c,d,B,k=0,G=1000,a=0,A,t,p,D,l,v=0,o=1000,s=0,h,n,z,g,b,y={fps:{bg:{r:16,g:16,b:48},fg:{r:0,g:255,b:255}},ms:{bg:{r:16,g:48,b:16},fg:{r:0,g:255,b:0}},mem:{bg:{r:48,g:16,b:26},fg:{r:255,g:0,b:128}}};r=document.createElement("div");r.style.fontFamily="Helvetica, Arial, sans-serif";r.style.textAlign="left";r.style.fontSize="9px";r.style.opacity="0.9";r.style.width="80px";r.style.cursor="pointer";r.addEventListener("click",H,false);F=document.createElement("div");F.style.backgroundColor="rgb("+Math.floor(y.fps.bg.r/2)+","+Math.floor(y.fps.bg.g/2)+","+Math.floor(y.fps.bg.b/2)+")";F.style.padding="2px 0px 3px 0px";r.appendChild(F);q=document.createElement("div");q.innerHTML="<strong>FPS</strong>";q.style.color="rgb("+y.fps.fg.r+","+y.fps.fg.g+","+y.fps.fg.b+")";q.style.margin="0px 0px 1px 3px";F.appendChild(q);c=document.createElement("canvas");c.width=74;c.height=30;c.style.display="block";c.style.marginLeft="3px";F.appendChild(c);d=c.getContext("2d");d.fillStyle="rgb("+y.fps.bg.r+","+y.fps.bg.g+","+y.fps.bg.b+")";d.fillRect(0,0,c.width,c.height);B=d.getImageData(0,0,c.width,c.height);A=document.createElement("div");A.style.backgroundColor="rgb("+Math.floor(y.ms.bg.r/2)+","+Math.floor(y.ms.bg.g/2)+","+Math.floor(y.ms.bg.b/2)+")";A.style.padding="2px 0px 3px 0px";A.style.display="none";r.appendChild(A);t=document.createElement("div");t.innerHTML="<strong>MS</strong>";t.style.color="rgb("+y.ms.fg.r+","+y.ms.fg.g+","+y.ms.fg.b+")";t.style.margin="0px 0px 1px 3px";A.appendChild(t);p=document.createElement("canvas");p.width=74;p.height=30;p.style.display="block";p.style.marginLeft="3px";A.appendChild(p);D=p.getContext("2d");D.fillStyle="rgb("+y.ms.bg.r+","+y.ms.bg.g+","+y.ms.bg.b+")";D.fillRect(0,0,p.width,p.height);l=D.getImageData(0,0,p.width,p.height);try{if(webkitPerformance&&webkitPerformance.memory.totalJSHeapSize){u=3}}catch(x){}h=document.createElement("div");h.style.backgroundColor="rgb("+Math.floor(y.mem.bg.r/2)+","+Math.floor(y.mem.bg.g/2)+","+Math.floor(y.mem.bg.b/2)+")";h.style.padding="2px 0px 3px 0px";h.style.display="none";r.appendChild(h);n=document.createElement("div");n.innerHTML="<strong>MEM</strong>";n.style.color="rgb("+y.mem.fg.r+","+y.mem.fg.g+","+y.mem.fg.b+")";n.style.margin="0px 0px 1px 3px";h.appendChild(n);z=document.createElement("canvas");z.width=74;z.height=30;z.style.display="block";z.style.marginLeft="3px";h.appendChild(z);g=z.getContext("2d");g.fillStyle="#301010";g.fillRect(0,0,z.width,z.height);b=g.getImageData(0,0,z.width,z.height);function I(N,M,K){var J,O,L;for(O=0;O<30;O++){for(J=0;J<73;J++){L=(J+O*74)*4;N[L]=N[L+4];N[L+1]=N[L+5];N[L+2]=N[L+6]}}for(O=0;O<30;O++){L=(73+O*74)*4;if(O<M){N[L]=y[K].bg.r;N[L+1]=y[K].bg.g;N[L+2]=y[K].bg.b}else{N[L]=y[K].fg.r;N[L+1]=y[K].fg.g;N[L+2]=y[K].fg.b}}}function H(){j++;j==u?j=0:j;F.style.display="none";A.style.display="none";h.style.display="none";switch(j){case 0:F.style.display="block";break;case 1:A.style.display="block";break;case 2:h.style.display="block";break}}return{domElement:r,update:function(){C++;E=new Date().getTime();k=E-w;G=Math.min(G,k);a=Math.max(a,k);I(l.data,Math.min(30,30-(k/200)*30),"ms");t.innerHTML="<strong>"+k+" MS</strong> ("+G+"-"+a+")";D.putImageData(l,0,0);w=E;if(E>f+1000){m=Math.round((C*1000)/(E-f));e=Math.min(e,m);i=Math.max(i,m);I(B.data,Math.min(30,30-(m/100)*30),"fps");q.innerHTML="<strong>"+m+" FPS</strong> ("+e+"-"+i+")";d.putImageData(B,0,0);if(u==3){v=webkitPerformance.memory.usedJSHeapSize*9.54e-7;o=Math.min(o,v);s=Math.max(s,v);I(b.data,Math.min(30,30-(v/2)),"mem");n.innerHTML="<strong>"+Math.round(v)+" MEM</strong> ("+Math.round(o)+"-"+Math.round(s)+")";g.putImageData(b,0,0)}f=E;C=0}}}};

View File

@ -0,0 +1,318 @@
Thingiloader = function(event) {
// Code from https://developer.mozilla.org/En/Using_XMLHttpRequest#Receiving_binary_data
this.load_binary_resource = function(url) {
var req = new XMLHttpRequest();
req.open('GET', url, false);
// The following line says we want to receive data as Binary and not as Unicode
req.overrideMimeType('text/plain; charset=x-user-defined');
req.send(null);
if (req.status != 200) return '';
return req.responseText;
};
this.loadSTL = function(url) {
var looksLikeBinary = function(reader) {
// STL files don't specify a way to distinguish ASCII from binary.
// The usual way is checking for "solid" at the start of the file --
// but Thingiverse has seen at least one binary STL file in the wild
// that breaks this.
// The approach here is different: binary STL files contain a triangle
// count early in the file. If this correctly predicts the file's length,
// it is most probably a binary STL file.
reader.seek(80); // skip the header
var count = reader.readUInt32();
var predictedSize = 80 /* header */ + 4 /* count */ + 50 * count;
return reader.getSize() == predictedSize;
};
workerFacadeMessage({'status':'message', 'content':'Downloading ' + url});
var file = this.load_binary_resource(url);
var reader = new BinaryReader(file);
if (looksLikeBinary(reader)) {
this.loadSTLBinary(reader);
} else {
this.loadSTLString(file);
}
};
this.loadOBJ = function(url) {
workerFacadeMessage({'status':'message', 'content':'Downloading ' + url});
var file = this.load_binary_resource(url);
this.loadOBJString(file);
};
this.loadJSON = function(url) {
workerFacadeMessage({'status':'message', 'content':'Downloading ' + url});
var file = this.load_binary_resource(url);
this.loadJSONString(file);
};
this.loadPLY = function(url) {
workerFacadeMessage({'status':'message', 'content':'Downloading ' + url});
var file = this.load_binary_resource(url);
if (file.match(/format ascii/i)) {
this.loadPLYString(file);
} else {
this.loadPLYBinary(file);
}
};
this.loadSTLString = function(STLString) {
workerFacadeMessage({'status':'message', 'content':'Parsing STL String...'});
workerFacadeMessage({'status':'complete', 'content':this.ParseSTLString(STLString)});
};
this.loadSTLBinary = function(STLBinary) {
workerFacadeMessage({'status':'message', 'content':'Parsing STL Binary...'});
workerFacadeMessage({'status':'complete', 'content':this.ParseSTLBinary(STLBinary)});
};
this.loadOBJString = function(OBJString) {
workerFacadeMessage({'status':'message', 'content':'Parsing OBJ String...'});
workerFacadeMessage({'status':'complete', 'content':this.ParseOBJString(OBJString)});
};
this.loadJSONString = function(JSONString) {
workerFacadeMessage({'status':'message', 'content':'Parsing JSON String...'});
workerFacadeMessage({'status':'complete', 'content':eval(JSONString)});
};
this.loadPLYString = function(PLYString) {
workerFacadeMessage({'status':'message', 'content':'Parsing PLY String...'});
workerFacadeMessage({'status':'complete_points', 'content':this.ParsePLYString(PLYString)});
};
this.loadPLYBinary = function(PLYBinary) {
workerFacadeMessage({'status':'message', 'content':'Parsing PLY Binary...'});
workerFacadeMessage({'status':'complete_points', 'content':this.ParsePLYBinary(PLYBinary)});
};
this.ParsePLYString = function(input) {
var properties = [];
var vertices = [];
var colors = [];
var vertex_count = 0;
var header = /ply\n([\s\S]+)\nend_header/ig.exec(input)[1];
var data = /end_header\n([\s\S]+)$/ig.exec(input)[1];
// workerFacadeMessage({'status':'message', 'content':'header:\n' + header});
// workerFacadeMessage({'status':'message', 'content':'data:\n' + data});
header_parts = header.split("\n");
for (i in header_parts) {
if (/element vertex/i.test(header_parts[i])) {
vertex_count = /element vertex (\d+)/i.exec(header_parts[i])[1];
} else if (/property/i.test(header_parts[i])) {
properties.push(/property (.*) (.*)/i.exec(header_parts[i])[2]);
}
}
// workerFacadeMessage({'status':'message', 'content':'properties: ' + properties});
data_parts = data.split("\n");
for (i in data_parts) {
data_line = data_parts[i];
data_line_parts = data_line.split(" ");
vertices.push([
parseFloat(data_line_parts[properties.indexOf("x")]),
parseFloat(data_line_parts[properties.indexOf("y")]),
parseFloat(data_line_parts[properties.indexOf("z")])
]);
colors.push([
parseInt(data_line_parts[properties.indexOf("red")]),
parseInt(data_line_parts[properties.indexOf("green")]),
parseInt(data_line_parts[properties.indexOf("blue")])
]);
}
// workerFacadeMessage({'status':'message', 'content':'vertices: ' + vertices});
return [vertices, colors];
};
this.ParsePLYBinary = function(input) {
return false;
};
this.ParseSTLBinary = function(input) {
// Skip the header.
input.seek(80);
// Load the number of vertices.
var count = input.readUInt32();
// During the parse loop we maintain the following data structures:
var vertices = []; // Append-only list of all unique vertices.
var vert_hash = {}; // Mapping from vertex to index in 'vertices', above.
var faces = []; // List of triangle descriptions, each a three-element
// list of indices in 'vertices', above.
for (var i = 0; i < count; i++) {
if (i % 100 == 0) {
workerFacadeMessage({
'status':'message',
'content':'Parsing ' + (i+1) + ' of ' + count + ' polygons...'
});
workerFacadeMessage({
'status':'progress',
'content':parseInt(i / count * 100) + '%'
});
}
// Skip the normal (3 single-precision floats)
input.seek(input.getPosition() + 12);
var face_indices = [];
for (var x = 0; x < 3; x++) {
var vertex = [input.readFloat(), input.readFloat(), input.readFloat()];
var vertexIndex = vert_hash[vertex];
if (vertexIndex == null) {
vertexIndex = vertices.length;
vertices.push(vertex);
vert_hash[vertex] = vertexIndex;
}
face_indices.push(vertexIndex);
}
faces.push(face_indices);
// Skip the "attribute" field (unused in common models)
input.readUInt16();
}
return [vertices, faces];
};
// build stl's vertex and face arrays
this.ParseSTLString = function(STLString) {
var vertexes = [];
var faces = [];
var face_vertexes = [];
var vert_hash = {}
// console.log(STLString);
// strip out extraneous stuff
STLString = STLString.replace(/\r/, "\n");
STLString = STLString.replace(/^solid[^\n]*/, "");
STLString = STLString.replace(/\n/g, " ");
STLString = STLString.replace(/facet normal /g,"");
STLString = STLString.replace(/outer loop/g,"");
STLString = STLString.replace(/vertex /g,"");
STLString = STLString.replace(/endloop/g,"");
STLString = STLString.replace(/endfacet/g,"");
STLString = STLString.replace(/endsolid[^\n]*/, "");
STLString = STLString.replace(/\s+/g, " ");
STLString = STLString.replace(/^\s+/, "");
// console.log(STLString);
var facet_count = 0;
var block_start = 0;
var points = STLString.split(" ");
workerFacadeMessage({'status':'message', 'content':'Parsing vertices...'});
for (var i=0; i<points.length/12-1; i++) {
if ((i % 100) == 0) {
workerFacadeMessage({'status':'progress', 'content':parseInt(i / (points.length/12-1) * 100) + '%'});
}
var face_indices = [];
for (var x=0; x<3; x++) {
var vertex = [parseFloat(points[block_start+x*3+3]), parseFloat(points[block_start+x*3+4]), parseFloat(points[block_start+x*3+5])];
var vertexIndex = vert_hash[vertex];
if (vertexIndex == null) {
vertexIndex = vertexes.length;
vertexes.push(vertex);
vert_hash[vertex] = vertexIndex;
}
face_indices.push(vertexIndex);
}
faces.push(face_indices);
block_start = block_start + 12;
}
return [vertexes, faces];
};
this.ParseOBJString = function(OBJString) {
var vertexes = [];
var faces = [];
var lines = OBJString.split("\n");
// var normal_position = 0;
for (var i=0; i<lines.length; i++) {
workerFacadeMessage({'status':'progress', 'content':parseInt(i / lines.length * 100) + '%'});
line_parts = lines[i].replace(/\s+/g, " ").split(" ");
if (line_parts[0] == "v") {
vertexes.push([parseFloat(line_parts[1]), parseFloat(line_parts[2]), parseFloat(line_parts[3])]);
} else if (line_parts[0] == "f") {
faces.push([parseFloat(line_parts[1].split("/")[0])-1, parseFloat(line_parts[2].split("/")[0])-1, parseFloat(line_parts[3].split("/")[0]-1), 0])
}
}
return [vertexes, faces];
};
switch(event.data.cmd) {
case "loadSTL":
this.loadSTL(event.data.param);
break;
case "loadSTLString":
this.loadSTLString(event.data.param);
break;
case "loadSTLBinary":
this.loadSTLBinary(event.data.param);
break;
case "loadOBJ":
this.loadOBJ(event.data.param);
break;
case "loadOBJString":
this.loadOBJString(event.data.param);
break;
case "loadJSON":
this.loadJSON(event.data.param);
break;
case "loadPLY":
this.loadPLY(event.data.param);
break;
case "loadPLYString":
this.loadPLYString(event.data.param);
break;
case "loadPLYBinary":
this.loadPLYBinary(event.data.param);
break;
}
};
if (typeof(window) === "undefined") {
onmessage = Thingiloader;
workerFacadeMessage = postMessage;
importScripts('binaryReader.js');
} else {
workerFacadeMessage = WorkerFacade.add(thingiurlbase + "/thingiloader.js", Thingiloader);
}

View File

@ -0,0 +1,898 @@
Thingiview = function(containerId) {
scope = this;
this.containerId = containerId;
var container = document.getElementById(containerId);
// var stats = null;
var camera = null;
var scene = null;
var renderer = null;
var object = null;
var plane = null;
var ambientLight = null;
var directionalLight = null;
var pointLight = null;
var targetXRotation = 0;
var targetXRotationOnMouseDown = 0;
var mouseX = 0;
var mouseXOnMouseDown = 0;
var targetYRotation = 0;
var targetYRotationOnMouseDown = 0;
var mouseY = 0;
var mouseYOnMouseDown = 0;
var mouseDown = false;
var mouseOver = false;
var windowHalfX = window.innerWidth / 2;
var windowHalfY = window.innerHeight / 2
var view = null;
var infoMessage = null;
var progressBar = null;
var alertBox = null;
var timer = null;
var rotateTimer = null;
var rotateListener = null;
var wasRotating = null;
var cameraView = 'diagonal';
var cameraZoom = 0;
var rotate = false;
var backgroundColor = '#606060';
var objectMaterial = 'solid';
var objectColor = 0xffffff;
var showPlane = true;
var isWebGl = false;
if (document.defaultView && document.defaultView.getComputedStyle) {
var width = parseFloat(document.defaultView.getComputedStyle(container,null).getPropertyValue('width'));
var height = parseFloat(document.defaultView.getComputedStyle(container,null).getPropertyValue('height'));
} else {
var width = parseFloat(container.currentStyle.width);
var height = parseFloat(container.currentStyle.height);
}
var geometry;
this.initScene = function() {
container.style.position = 'relative';
container.innerHTML = '';
camera = new THREE.Camera(45, width/ height, 1, 100000);
camera.updateMatrix();
scene = new THREE.Scene();
ambientLight = new THREE.AmbientLight(0x202020);
scene.addLight(ambientLight);
directionalLight = new THREE.DirectionalLight(0xffffff, 0.75);
directionalLight.position.x = 1;
directionalLight.position.y = 1;
directionalLight.position.z = 2;
directionalLight.position.normalize();
scene.addLight(directionalLight);
pointLight = new THREE.PointLight(0xffffff, 0.3);
pointLight.position.x = 0;
pointLight.position.y = -25;
pointLight.position.z = 10;
scene.addLight(pointLight);
progressBar = document.createElement('div');
progressBar.style.position = 'absolute';
progressBar.style.top = '0px';
progressBar.style.left = '0px';
progressBar.style.backgroundColor = 'red';
progressBar.style.padding = '5px';
progressBar.style.display = 'none';
progressBar.style.overflow = 'visible';
progressBar.style.whiteSpace = 'nowrap';
progressBar.style.zIndex = 100;
container.appendChild(progressBar);
alertBox = document.createElement('div');
alertBox.id = 'alertBox';
alertBox.style.position = 'absolute';
alertBox.style.top = '25%';
alertBox.style.left = '25%';
alertBox.style.width = '50%';
alertBox.style.height = '50%';
alertBox.style.backgroundColor = '#dddddd';
alertBox.style.padding = '10px';
// alertBox.style.overflowY = 'scroll';
alertBox.style.display = 'none';
alertBox.style.zIndex = 100;
container.appendChild(alertBox);
// load a blank object
// this.loadSTLString('');
if (showPlane) {
loadPlaneGeometry();
}
this.setCameraView(cameraView);
this.setObjectMaterial(objectMaterial);
testCanvas = document.createElement('canvas');
try {
if (testCanvas.getContext('experimental-webgl')) {
// showPlane = false;
isWebGl = true;
renderer = new THREE.WebGLRenderer();
// renderer = new THREE.CanvasRenderer();
} else {
renderer = new THREE.CanvasRenderer();
}
} catch(e) {
renderer = new THREE.CanvasRenderer();
// log("failed webgl detection");
}
// renderer.setSize(container.innerWidth, container.innerHeight);
renderer.setSize(width, height);
renderer.domElement.style.backgroundColor = backgroundColor;
container.appendChild(renderer.domElement);
// stats = new Stats();
// stats.domElement.style.position = 'absolute';
// stats.domElement.style.top = '0px';
// container.appendChild(stats.domElement);
// TODO: figure out how to get the render window to resize when window resizes
// window.addEventListener('resize', onContainerResize(), false);
// container.addEventListener('resize', onContainerResize(), false);
// renderer.domElement.addEventListener('mousemove', onRendererMouseMove, false);
window.addEventListener('mousemove', onRendererMouseMove, false);
renderer.domElement.addEventListener('mouseover', onRendererMouseOver, false);
renderer.domElement.addEventListener('mouseout', onRendererMouseOut, false);
renderer.domElement.addEventListener('mousedown', onRendererMouseDown, false);
// renderer.domElement.addEventListener('mouseup', onRendererMouseUp, false);
window.addEventListener('mouseup', onRendererMouseUp, false);
renderer.domElement.addEventListener('touchstart', onRendererTouchStart, false);
renderer.domElement.addEventListener('touchend', onRendererTouchEnd, false);
renderer.domElement.addEventListener('touchmove', onRendererTouchMove, false);
renderer.domElement.addEventListener('DOMMouseScroll', onRendererScroll, false);
renderer.domElement.addEventListener('mousewheel', onRendererScroll, false);
renderer.domElement.addEventListener('gesturechange', onRendererGestureChange, false);
}
// FIXME
// onContainerResize = function(event) {
// width = parseFloat(document.defaultView.getComputedStyle(container,null).getPropertyValue('width'));
// height = parseFloat(document.defaultView.getComputedStyle(container,null).getPropertyValue('height'));
//
// // log("resized width: " + width + ", height: " + height);
//
// if (renderer) {
// renderer.setSize(width, height);
// camera.projectionMatrix = THREE.Matrix4.makePerspective(70, width / height, 1, 10000);
// sceneLoop();
// }
// };
onRendererScroll = function(event) {
event.preventDefault();
var rolled = 0;
if (event.wheelDelta === undefined) {
// Firefox
// The measurement units of the detail and wheelDelta properties are different.
rolled = -40 * event.detail;
} else {
rolled = event.wheelDelta;
}
if (rolled > 0) {
// up
scope.setCameraZoom(+10);
} else {
// down
scope.setCameraZoom(-10);
}
}
onRendererGestureChange = function(event) {
event.preventDefault();
if (event.scale > 1) {
scope.setCameraZoom(+5);
} else {
scope.setCameraZoom(-5);
}
}
onRendererMouseOver = function(event) {
mouseOver = true;
// targetRotation = object.rotation.z;
if (timer == null) {
// log('starting loop');
timer = setInterval(sceneLoop, 1000/60);
}
}
onRendererMouseDown = function(event) {
// log("down");
event.preventDefault();
mouseDown = true;
if(scope.getRotation()){
wasRotating = true;
scope.setRotation(false);
} else {
wasRotating = false;
}
mouseXOnMouseDown = event.clientX - windowHalfX;
mouseYOnMouseDown = event.clientY - windowHalfY;
targetXRotationOnMouseDown = targetXRotation;
targetYRotationOnMouseDown = targetYRotation;
}
onRendererMouseMove = function(event) {
// log("move");
if (mouseDown) {
mouseX = event.clientX - windowHalfX;
// targetXRotation = targetXRotationOnMouseDown + (mouseX - mouseXOnMouseDown) * 0.02;
xrot = targetXRotationOnMouseDown + (mouseX - mouseXOnMouseDown) * 0.02;
mouseY = event.clientY - windowHalfY;
// targetYRotation = targetYRotationOnMouseDown + (mouseY - mouseYOnMouseDown) * 0.02;
yrot = targetYRotationOnMouseDown + (mouseY - mouseYOnMouseDown) * 0.02;
targetXRotation = xrot;
targetYRotation = yrot;
}
}
onRendererMouseUp = function(event) {
// log("up");
if (mouseDown) {
mouseDown = false;
if (!mouseOver) {
clearInterval(timer);
timer = null;
}
if (wasRotating) {
scope.setRotation(true);
}
}
}
onRendererMouseOut = function(event) {
if (!mouseDown) {
clearInterval(timer);
timer = null;
}
mouseOver = false;
}
onRendererTouchStart = function(event) {
targetXRotation = object.rotation.z;
targetYRotation = object.rotation.x;
timer = setInterval(sceneLoop, 1000/60);
if (event.touches.length == 1) {
event.preventDefault();
mouseXOnMouseDown = event.touches[0].pageX - windowHalfX;
targetXRotationOnMouseDown = targetXRotation;
mouseYOnMouseDown = event.touches[0].pageY - windowHalfY;
targetYRotationOnMouseDown = targetYRotation;
}
}
onRendererTouchEnd = function(event) {
clearInterval(timer);
timer = null;
// targetXRotation = object.rotation.z;
// targetYRotation = object.rotation.x;
}
onRendererTouchMove = function(event) {
if (event.touches.length == 1) {
event.preventDefault();
mouseX = event.touches[0].pageX - windowHalfX;
targetXRotation = targetXRotationOnMouseDown + (mouseX - mouseXOnMouseDown) * 0.05;
mouseY = event.touches[0].pageY - windowHalfY;
targetYRotation = targetYRotationOnMouseDown + (mouseY - mouseYOnMouseDown) * 0.05;
}
}
sceneLoop = function() {
if (object) {
// if (view == 'bottom') {
// if (showPlane) {
// plane.rotation.z = object.rotation.z -= (targetRotation + object.rotation.z) * 0.05;
// } else {
// object.rotation.z -= (targetRotation + object.rotation.z) * 0.05;
// }
// } else {
// if (showPlane) {
// plane.rotation.z = object.rotation.z += (targetRotation - object.rotation.z) * 0.05;
// } else {
// object.rotation.z += (targetRotation - object.rotation.z) * 0.05;
// }
// }
if (showPlane) {
plane.rotation.z = object.rotation.z = (targetXRotation - object.rotation.z) * 0.2;
plane.rotation.x = object.rotation.x = (targetYRotation - object.rotation.x) * 0.2;
} else {
object.rotation.z = (targetXRotation - object.rotation.z) * 0.2;
object.rotation.x = (targetYRotation - object.rotation.x) * 0.2;
}
// log(object.rotation.x);
camera.updateMatrix();
object.updateMatrix();
if (showPlane) {
plane.updateMatrix();
}
renderer.render(scene, camera);
// stats.update();
}
}
rotateLoop = function() {
// targetRotation += 0.01;
targetXRotation += 0.05;
sceneLoop();
}
this.getShowPlane = function(){
return showPlane;
}
this.setShowPlane = function(show) {
showPlane = show;
if (show) {
if (scene && !plane) {
loadPlaneGeometry();
}
plane.material[0].opacity = 1;
// plane.updateMatrix();
} else {
if (scene && plane) {
// alert(plane.material[0].opacity);
plane.material[0].opacity = 0;
// plane.updateMatrix();
}
}
sceneLoop();
}
this.getRotation = function() {
return rotateTimer !== null;
}
this.resetRotation = function () {
if (rotate) {
this.setRotation(false);
this.setRotation(true);
}
}
this.setRotation = function(rotate) {
rotation = rotate;
if (rotate) {
rotateTimer = setInterval(rotateLoop, 1000/60);
} else {
clearInterval(rotateTimer);
rotateTimer = null;
}
scope.onSetRotation();
}
this.onSetRotation = function(callback) {
if(callback === undefined){
if(rotateListener !== null){
try{
rotateListener(scope.getRotation());
} catch(ignored) {}
}
} else {
rotateListener = callback;
}
}
this.setCameraView = function(dir) {
cameraView = dir;
targetXRotation = 0;
targetYRotation = 0;
if (object) {
object.rotation.x = 0;
object.rotation.y = 0;
object.rotation.z = 0;
}
if (showPlane && object) {
plane.rotation.x = object.rotation.x;
plane.rotation.y = object.rotation.y;
plane.rotation.z = object.rotation.z;
}
if (dir == 'top') {
// camera.position.y = 0;
// camera.position.z = 100;
// camera.target.position.z = 0;
if (showPlane) {
plane.flipSided = false;
}
} else if (dir == 'side') {
// camera.position.y = -70;
// camera.position.z = 70;
// camera.target.position.z = 0;
targetYRotation = -4.5;
if (showPlane) {
plane.flipSided = false;
}
} else if (dir == 'bottom') {
// camera.position.y = 0;
// camera.position.z = -100;
// camera.target.position.z = 0;
if (showPlane) {
plane.flipSided = true;
}
} else {
// camera.position.y = -70;
// camera.position.z = 70;
// camera.target.position.z = 0;
if (showPlane) {
plane.flipSided = false;
}
}
mouseX = targetXRotation;
mouseXOnMouseDown = targetXRotation;
mouseY = targetYRotation;
mouseYOnMouseDown = targetYRotation;
scope.centerCamera();
sceneLoop();
}
this.setCameraZoom = function(factor) {
cameraZoom = factor;
if (cameraView == 'bottom') {
if (camera.position.z + factor > 0) {
factor = 0;
}
} else {
if (camera.position.z - factor < 0) {
factor = 0;
}
}
if (cameraView == 'top') {
camera.position.z -= factor;
} else if (cameraView == 'bottom') {
camera.position.z += factor;
} else if (cameraView == 'side') {
camera.position.y += factor;
camera.position.z -= factor;
} else {
camera.position.y += factor;
camera.position.z -= factor;
}
sceneLoop();
}
this.getObjectMaterial = function() {
return objectMaterial;
}
this.setObjectMaterial = function(type) {
objectMaterial = type;
loadObjectGeometry();
}
this.setBackgroundColor = function(color) {
backgroundColor = color
if (renderer) {
renderer.domElement.style.backgroundColor = color;
}
}
this.setObjectColor = function(color) {
objectColor = parseInt(color.replace(/\#/g, ''), 16);
loadObjectGeometry();
}
this.loadSTL = function(url) {
scope.newWorker('loadSTL', url);
}
this.loadOBJ = function(url) {
scope.newWorker('loadOBJ', url);
}
this.loadSTLString = function(STLString) {
scope.newWorker('loadSTLString', STLString);
}
this.loadSTLBinary = function(STLBinary) {
scope.newWorker('loadSTLBinary', STLBinary);
}
this.loadOBJString = function(OBJString) {
scope.newWorker('loadOBJString', OBJString);
}
this.loadJSON = function(url) {
scope.newWorker('loadJSON', url);
}
this.loadPLY = function(url) {
scope.newWorker('loadPLY', url);
}
this.loadPLYString = function(PLYString) {
scope.newWorker('loadPLYString', PLYString);
}
this.loadPLYBinary = function(PLYBinary) {
scope.newWorker('loadPLYBinary', PLYBinary);
}
this.centerCamera = function() {
if (geometry) {
// Using method from http://msdn.microsoft.com/en-us/library/bb197900(v=xnagamestudio.10).aspx
// log("bounding sphere radius = " + geometry.boundingSphere.radius);
// look at the center of the object
camera.target.position.x = geometry.center_x;
camera.target.position.y = geometry.center_y;
camera.target.position.z = geometry.center_z;
// set camera position to center of sphere
camera.position.x = geometry.center_x;
camera.position.y = geometry.center_y;
camera.position.z = geometry.center_z;
// find distance to center
distance = geometry.boundingSphere.radius / Math.sin((camera.fov/2) * (Math.PI / 180));
// zoom backwards about half that distance, I don't think I'm doing the math or backwards vector calculation correctly?
// scope.setCameraZoom(-distance/1.8);
// scope.setCameraZoom(-distance/1.5);
scope.setCameraZoom(-distance/1.9);
directionalLight.position.x = geometry.min_y * 2;
directionalLight.position.y = geometry.min_y * 2;
directionalLight.position.z = geometry.max_z * 2;
pointLight.position.x = geometry.center_y;
pointLight.position.y = geometry.center_y;
pointLight.position.z = geometry.max_z * 2;
} else {
// set to any valid position so it doesn't fail before geometry is available
camera.position.y = -70;
camera.position.z = 70;
camera.target.position.z = 0;
}
}
this.loadArray = function(array) {
log("loading array...");
geometry = new STLGeometry(array);
loadObjectGeometry();
scope.resetRotation();
scope.centerCamera();
log("finished loading " + geometry.faces.length + " faces.");
}
this.newWorker = function(cmd, param) {
scope.setRotation(false);
var worker = new WorkerFacade(thingiurlbase + '/thingiloader.js');
worker.onmessage = function(event) {
if (event.data.status == "complete") {
progressBar.innerHTML = 'Initializing geometry...';
// scene.removeObject(object);
geometry = new STLGeometry(event.data.content);
loadObjectGeometry();
progressBar.innerHTML = '';
progressBar.style.display = 'none';
scope.resetRotation();
log("finished loading " + geometry.faces.length + " faces.");
scope.centerCamera();
} else if (event.data.status == "complete_points") {
progressBar.innerHTML = 'Initializing points...';
geometry = new THREE.Geometry();
var material = new THREE.ParticleBasicMaterial( { color: 0xff0000, opacity: 1 } );
// material = new THREE.ParticleBasicMaterial( { size: 35, sizeAttenuation: false} );
// material.color.setHSV( 1.0, 0.2, 0.8 );
for (i in event.data.content[0]) {
// for (var i=0; i<10; i++) {
vector = new THREE.Vector3( event.data.content[0][i][0], event.data.content[0][i][1], event.data.content[0][i][2] );
geometry.vertices.push( new THREE.Vertex( vector ) );
}
particles = new THREE.ParticleSystem( geometry, material );
particles.sortParticles = true;
particles.updateMatrix();
scene.addObject( particles );
camera.updateMatrix();
renderer.render(scene, camera);
progressBar.innerHTML = '';
progressBar.style.display = 'none';
scope.resetRotation();
log("finished loading " + event.data.content[0].length + " points.");
// scope.centerCamera();
} else if (event.data.status == "progress") {
progressBar.style.display = 'block';
progressBar.style.width = event.data.content;
// log(event.data.content);
} else if (event.data.status == "message") {
progressBar.style.display = 'block';
progressBar.innerHTML = event.data.content;
log(event.data.content);
} else if (event.data.status == "alert") {
scope.displayAlert(event.data.content);
} else {
alert('Error: ' + event.data);
log('Unknown Worker Message: ' + event.data);
}
}
worker.onerror = function(error) {
log(error);
error.preventDefault();
}
worker.postMessage({'cmd':cmd, 'param':param});
}
this.displayAlert = function(msg) {
msg = msg + "<br/><br/><center><input type=\"button\" value=\"Ok\" onclick=\"document.getElementById('alertBox').style.display='none'\"></center>"
alertBox.innerHTML = msg;
alertBox.style.display = 'block';
// log(msg);
}
function loadPlaneGeometry() {
// TODO: switch to lines instead of the Plane object so we can get rid of the horizontal lines in canvas renderer...
plane = new THREE.Mesh(new Plane(100, 100, 10, 10), new THREE.MeshBasicMaterial({color:0xafafaf,wireframe:true}));
scene.addObject(plane);
}
function loadObjectGeometry() {
if (scene && geometry) {
if (objectMaterial == 'wireframe') {
// material = new THREE.MeshColorStrokeMaterial(objectColor, 1, 1);
material = new THREE.MeshBasicMaterial({color:objectColor,wireframe:true});
} else {
if (isWebGl) {
// material = new THREE.MeshPhongMaterial(objectColor, objectColor, 0xffffff, 50, 1.0);
// material = new THREE.MeshColorFillMaterial(objectColor);
// material = new THREE.MeshLambertMaterial({color:objectColor});
material = new THREE.MeshLambertMaterial({color:objectColor, shading: THREE.FlatShading});
} else {
// material = new THREE.MeshColorFillMaterial(objectColor);
material = new THREE.MeshLambertMaterial({color:objectColor, shading: THREE.FlatShading});
}
}
// scene.removeObject(object);
if (object) {
// shouldn't be needed, but this fixes a bug with webgl not removing previous object when loading a new one dynamically
object.materials = [new THREE.MeshBasicMaterial({color:0xffffff, opacity:0})];
scene.removeObject(object);
// object.geometry = geometry;
// object.materials = [material];
}
object = new THREE.Mesh(geometry, material);
scene.addObject(object);
if (objectMaterial != 'wireframe') {
object.overdraw = true;
object.doubleSided = true;
}
object.updateMatrix();
targetXRotation = 0;
targetYRotation = 0;
sceneLoop();
}
}
};
var STLGeometry = function(stlArray) {
// log("building geometry...");
THREE.Geometry.call(this);
var scope = this;
// var vertexes = stlArray[0];
// var normals = stlArray[1];
// var faces = stlArray[2];
for (var i=0; i<stlArray[0].length; i++) {
v(stlArray[0][i][0], stlArray[0][i][1], stlArray[0][i][2]);
}
for (var i=0; i<stlArray[1].length; i++) {
f3(stlArray[1][i][0], stlArray[1][i][1], stlArray[1][i][2]);
}
function v(x, y, z) {
// log("adding vertex: " + x + "," + y + "," + z);
scope.vertices.push( new THREE.Vertex( new THREE.Vector3( x, y, z ) ) );
}
function f3(a, b, c) {
// log("adding face: " + a + "," + b + "," + c)
scope.faces.push( new THREE.Face3( a, b, c ) );
}
// log("computing centroids...");
this.computeCentroids();
// log("computing normals...");
// this.computeNormals();
this.computeFaceNormals();
this.sortFacesByMaterial();
// log("finished building geometry");
scope.min_x = 0;
scope.min_y = 0;
scope.min_z = 0;
scope.max_x = 0;
scope.max_y = 0;
scope.max_z = 0;
for (var v = 0, vl = scope.vertices.length; v < vl; v ++) {
scope.max_x = Math.max(scope.max_x, scope.vertices[v].position.x);
scope.max_y = Math.max(scope.max_y, scope.vertices[v].position.y);
scope.max_z = Math.max(scope.max_z, scope.vertices[v].position.z);
scope.min_x = Math.min(scope.min_x, scope.vertices[v].position.x);
scope.min_y = Math.min(scope.min_y, scope.vertices[v].position.y);
scope.min_z = Math.min(scope.min_z, scope.vertices[v].position.z);
}
scope.center_x = (scope.max_x + scope.min_x)/2;
scope.center_y = (scope.max_y + scope.min_y)/2;
scope.center_z = (scope.max_z + scope.min_z)/2;
}
STLGeometry.prototype = new THREE.Geometry();
STLGeometry.prototype.constructor = STLGeometry;
function log(msg) {
if (this.console) {
console.log(msg);
}
}
/* A facade for the Web Worker API that fakes it in case it's missing.
Good when web workers aren't supported in the browser, but it's still fast enough, so execution doesn't hang too badly (e.g. Opera 10.5).
By Stefan Wehrmeyer, licensed under MIT
*/
var WorkerFacade;
if(!!window.Worker){
WorkerFacade = (function(){
return function(path){
return new window.Worker(path);
};
}());
} else {
WorkerFacade = (function(){
var workers = {}, masters = {}, loaded = false;
var that = function(path){
var theworker = {}, loaded = false, callings = [];
theworker.postToWorkerFunction = function(args){
try{
workers[path]({"data":args});
}catch(err){
theworker.onerror(err);
}
};
theworker.postMessage = function(params){
if(!loaded){
callings.push(params);
return;
}
theworker.postToWorkerFunction(params);
};
masters[path] = theworker;
var scr = document.createElement("SCRIPT");
scr.src = path;
scr.type = "text/javascript";
scr.onload = function(){
loaded = true;
while(callings.length > 0){
theworker.postToWorkerFunction(callings[0]);
callings.shift();
}
};
document.body.appendChild(scr);
var binaryscr = document.createElement("SCRIPT");
binaryscr.src = thingiurlbase + '/binaryReader.js';
binaryscr.type = "text/javascript";
document.body.appendChild(binaryscr);
return theworker;
};
that.fake = true;
that.add = function(pth, worker){
workers[pth] = worker;
return function(param){
masters[pth].onmessage({"data": param});
};
};
that.toString = function(){
return "FakeWorker('"+path+"')";
};
return that;
}());
}
/* Then just use WorkerFacade instead of Worker (or alias it)
The Worker code must should use a custom function (name it how you want) instead of postMessage.
Put this at the end of the Worker:
if(typeof(window) === "undefined"){
onmessage = nameOfWorkerFunction;
customPostMessage = postMessage;
} else {
customPostMessage = WorkerFacade.add("path/to/thisworker.js", nameOfWorkerFunction);
}
*/

View File

@ -29,6 +29,9 @@ allow_registration = true
## install other themes. ## install other themes.
# theme = airy # theme = airy
# Should geotagged images be displayed with a map of the location?
geolocation_map_visible = true
[storage:queuestore] [storage:queuestore]
base_dir = %(here)s/user_dev/media/queue base_dir = %(here)s/user_dev/media/queue

View File

@ -23,4 +23,4 @@
# see http://www.python.org/dev/peps/pep-0386/ # see http://www.python.org/dev/peps/pep-0386/
__version__ = "0.3.2.dev" __version__ = "0.3.2"

View File

@ -14,8 +14,7 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from routes.route import Route
admin_routes = [ admin_routes = [
Route('mediagoblin.admin.panel', '/panel', ('mediagoblin.admin.panel',
controller='mediagoblin.admin.views:admin_processing_panel')] '/panel',
'mediagoblin.admin.views:admin_processing_panel')]

View File

@ -14,18 +14,19 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin.tools.response import render_to_response, render_404
from mediagoblin.db.util import DESCENDING from mediagoblin.db.util import DESCENDING
from mediagoblin.decorators import require_active_login from mediagoblin.decorators import require_active_login
from mediagoblin.tools.response import (render_to_response, render_403,
render_404)
@require_active_login @require_active_login
def admin_processing_panel(request): def admin_processing_panel(request):
''' '''
Show the global processing panel for this instance Show the global processing panel for this instance
''' '''
# TODO: Why not a "require_admin_login" decorator throwing a 403 exception?
if not request.user.is_admin: if not request.user.is_admin:
return render_404(request) return render_403(request)
processing_entries = request.db.MediaEntry.find( processing_entries = request.db.MediaEntry.find(
{'state': u'processing'}).sort('created', DESCENDING) {'state': u'processing'}).sort('created', DESCENDING)

View File

@ -15,14 +15,14 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import os import os
import urllib
import logging import logging
import routes from mediagoblin.routing import url_map, view_functions, add_route
from webob import exc
from werkzeug.wrappers import Request
from mediagoblin import routing, meddleware, __version__ from werkzeug.wrappers import Request
from werkzeug.exceptions import HTTPException, NotFound
from mediagoblin import meddleware, __version__
from mediagoblin.tools import common, translate, template from mediagoblin.tools import common, translate, template
from mediagoblin.tools.response import render_404 from mediagoblin.tools.response import render_404
from mediagoblin.tools.theme import register_themes from mediagoblin.tools.theme import register_themes
@ -31,7 +31,7 @@ from mediagoblin.mg_globals import setup_globals
from mediagoblin.init.celery import setup_celery_from_config from mediagoblin.init.celery import setup_celery_from_config
from mediagoblin.init.plugins import setup_plugins from mediagoblin.init.plugins import setup_plugins
from mediagoblin.init import (get_jinja_loader, get_staticdirector, from mediagoblin.init import (get_jinja_loader, get_staticdirector,
setup_global_and_app_config, setup_workbench, setup_database, setup_global_and_app_config, setup_locales, setup_workbench, setup_database,
setup_storage, setup_beaker_cache) setup_storage, setup_beaker_cache)
from mediagoblin.tools.pluginapi import PluginManager from mediagoblin.tools.pluginapi import PluginManager
@ -68,6 +68,9 @@ class MediaGoblinApp(object):
# Setup other connections / useful objects # Setup other connections / useful objects
########################################## ##########################################
# load all available locales
setup_locales()
# Set up plugins -- need to do this early so that plugins can # Set up plugins -- need to do this early so that plugins can
# affect startup. # affect startup.
_log.info("Setting up plugins.") _log.info("Setting up plugins.")
@ -90,7 +93,11 @@ class MediaGoblinApp(object):
self.public_store, self.queue_store = setup_storage() self.public_store, self.queue_store = setup_storage()
# set up routing # set up routing
self.routing = routing.get_mapper(PluginManager().get_routes()) self.url_map = url_map
for route in PluginManager().get_routes():
_log.debug('adding plugin route: {0}'.format(route))
add_route(*route)
# set up staticdirector tool # set up staticdirector tool
self.staticdirector = get_staticdirector(app_config) self.staticdirector = get_staticdirector(app_config)
@ -130,12 +137,10 @@ class MediaGoblinApp(object):
## Compatibility webob -> werkzeug ## Compatibility webob -> werkzeug
request.GET = request.args request.GET = request.args
request.accept_language = request.accept_languages
request.accept = request.accept_mimetypes request.accept = request.accept_mimetypes
## Routing / controller loading stuff ## Routing / controller loading stuff
path_info = request.path map_adapter = self.url_map.bind_to_environ(request.environ)
route_match = self.routing.match(path_info)
# By using fcgi, mediagoblin can run under a base path # By using fcgi, mediagoblin can run under a base path
# like /mediagoblin/. request.path_info contains the # like /mediagoblin/. request.path_info contains the
@ -154,47 +159,55 @@ class MediaGoblinApp(object):
environ.pop('HTTPS') environ.pop('HTTPS')
## Attach utilities to the request object ## Attach utilities to the request object
request.matchdict = route_match
request.urlgen = routes.URLGenerator(self.routing, environ)
# Do we really want to load this via middleware? Maybe? # Do we really want to load this via middleware? Maybe?
request.session = request.environ['beaker.session'] request.session = request.environ['beaker.session']
# Attach self as request.app # Attach self as request.app
# Also attach a few utilities from request.app for convenience? # Also attach a few utilities from request.app for convenience?
request.app = self request.app = self
request.locale = translate.get_locale_from_request(request)
request.template_env = template.get_jinja_env(
self.template_loader, request.locale)
request.db = self.db request.db = self.db
request.staticdirect = self.staticdirector request.staticdirect = self.staticdirector
request.locale = translate.get_locale_from_request(request)
request.template_env = template.get_jinja_env(
self.template_loader, request.locale)
def build_proxy(endpoint, **kw):
try:
qualified = kw.pop('qualified')
except KeyError:
qualified = False
return map_adapter.build(
endpoint,
values=dict(**kw),
force_external=qualified)
request.urlgen = build_proxy
mg_request.setup_user_in_request(request) mg_request.setup_user_in_request(request)
# No matching page? try:
if route_match is None: endpoint, url_values = map_adapter.match()
# Try to do see if we have a match with a trailing slash request.matchdict = url_values
# added and if so, redirect except NotFound as exc:
if not path_info.endswith('/') \
and request.method == 'GET' \
and self.routing.match(path_info + '/'):
new_path_info = path_info + '/'
if request.GET:
new_path_info = '%s?%s' % (
new_path_info, urllib.urlencode(request.GET))
redirect = exc.HTTPFound(location=new_path_info)
return request.get_response(redirect)(environ, start_response)
# Okay, no matches. 404 time!
request.matchdict = {} # in case our template expects it
return render_404(request)(environ, start_response) return render_404(request)(environ, start_response)
except HTTPException as exc:
# Support legacy webob.exc responses
return exc(environ, start_response)
# import the controller, or if it's already a callable, call that view_func = view_functions[endpoint]
route_controller = route_match['controller']
if isinstance(route_controller, unicode) \ _log.debug('endpoint: {0} view_func: {1}'.format(
or isinstance(route_controller, str): endpoint,
controller = common.import_component(route_match['controller']) view_func))
# import the endpoint, or if it's already a callable, call that
if isinstance(view_func, unicode) \
or isinstance(view_func, str):
controller = common.import_component(view_func)
else: else:
controller = route_match['controller'] controller = view_func
# pass the request through our meddleware classes # pass the request through our meddleware classes
for m in self.meddleware: for m in self.meddleware:

View File

@ -14,25 +14,20 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from routes.route import Route
auth_routes = [ auth_routes = [
Route('mediagoblin.auth.register', '/register/', ('mediagoblin.auth.register', '/register/',
controller='mediagoblin.auth.views:register'), 'mediagoblin.auth.views:register'),
Route('mediagoblin.auth.login', '/login/', ('mediagoblin.auth.login', '/login/',
controller='mediagoblin.auth.views:login'), 'mediagoblin.auth.views:login'),
Route('mediagoblin.auth.logout', '/logout/', ('mediagoblin.auth.logout', '/logout/',
controller='mediagoblin.auth.views:logout'), 'mediagoblin.auth.views:logout'),
Route('mediagoblin.auth.verify_email', '/verify_email/', ('mediagoblin.auth.verify_email', '/verify_email/',
controller='mediagoblin.auth.views:verify_email'), 'mediagoblin.auth.views:verify_email'),
Route('mediagoblin.auth.resend_verification', '/resend_verification/', ('mediagoblin.auth.resend_verification', '/resend_verification/',
controller='mediagoblin.auth.views:resend_activation'), 'mediagoblin.auth.views:resend_activation'),
Route('mediagoblin.auth.resend_verification_success', ('mediagoblin.auth.forgot_password', '/forgot_password/',
'/resend_verification_success/', 'mediagoblin.auth.views:forgot_password'),
template='mediagoblin/auth/resent_verification_email.html', ('mediagoblin.auth.verify_forgot_password',
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/', '/forgot_password/verify/',
controller='mediagoblin.auth.views:verify_forgot_password')] 'mediagoblin.auth.views:verify_forgot_password')]

View File

@ -27,8 +27,11 @@ These functions now live here and get "mixed in" into the
real objects. real objects.
""" """
from werkzeug.utils import cached_property
from mediagoblin import mg_globals from mediagoblin import mg_globals
from mediagoblin.auth import lib as auth_lib from mediagoblin.auth import lib as auth_lib
from mediagoblin.media_types import get_media_managers, FileTypeNotSupported
from mediagoblin.tools import common, licenses from mediagoblin.tools import common, licenses
from mediagoblin.tools.text import cleaned_markdown_conversion from mediagoblin.tools.text import cleaned_markdown_conversion
from mediagoblin.tools.url import slugify from mediagoblin.tools.url import slugify
@ -98,6 +101,7 @@ class MediaEntryMixin(object):
def slug_or_id(self): def slug_or_id(self):
return (self.slug or self._id) return (self.slug or self._id)
def url_for_self(self, urlgen, **extra_args): def url_for_self(self, urlgen, **extra_args):
""" """
Generate an appropriate url for ourselves Generate an appropriate url for ourselves
@ -112,6 +116,38 @@ class MediaEntryMixin(object):
media=self.slug_or_id, media=self.slug_or_id,
**extra_args) **extra_args)
@property
def thumb_url(self):
"""Return the thumbnail URL (for usage in templates)
Will return either the real thumbnail or a default fallback icon."""
# TODO: implement generic fallback in case MEDIA_MANAGER does
# not specify one?
if u'thumb' in self.media_files:
thumb_url = mg_globals.app.public_store.file_url(
self.media_files[u'thumb'])
else:
# No thumbnail in media available. Get the media's
# MEDIA_MANAGER for the fallback icon and return static URL
# Raises FileTypeNotSupported in case no such manager is enabled
manager = self.media_manager
thumb_url = mg_globals.app.staticdirector(manager[u'default_thumb'])
return thumb_url
@cached_property
def media_manager(self):
"""Returns the MEDIA_MANAGER of the media's media_type
Raises FileTypeNotSupported in case no such manager is enabled
"""
# TODO, we should be able to make this a simple lookup rather
# than iterating through all media managers.
for media_type, manager in get_media_managers():
if media_type == self.media_type:
return manager
# Not found? Then raise an error
raise FileTypeNotSupported(
"MediaManager not in enabled types. Check media_types in config?")
def get_fail_exception(self): def get_fail_exception(self):
""" """
Get the exception that's appropriate for this error Get the exception that's appropriate for this error
@ -121,7 +157,7 @@ class MediaEntryMixin(object):
def get_license_data(self): def get_license_data(self):
"""Return license dict for requested license""" """Return license dict for requested license"""
return licenses.SUPPORTED_LICENSES[self.license or ""] return licenses.get_license_by_url(self.license or "")
def exif_display_iter(self): def exif_display_iter(self):
from mediagoblin.tools.exif import USEFUL_TAGS from mediagoblin.tools.exif import USEFUL_TAGS

View File

@ -51,12 +51,18 @@ class GMGTableBase(object):
query = Session.query_property() query = Session.query_property()
@classmethod @classmethod
def find(cls, query_dict={}): def find(cls, query_dict=None):
if query_dict is None:
query_dict = {}
_fix_query_dict(query_dict) _fix_query_dict(query_dict)
return cls.query.filter_by(**query_dict) return cls.query.filter_by(**query_dict)
@classmethod @classmethod
def find_one(cls, query_dict={}): def find_one(cls, query_dict=None):
if query_dict is None:
query_dict = {}
_fix_query_dict(query_dict) _fix_query_dict(query_dict)
return cls.query.filter_by(**query_dict).first() return cls.query.filter_by(**query_dict).first()
@ -79,10 +85,12 @@ class GMGTableBase(object):
sess.add(self) sess.add(self)
sess.commit() sess.commit()
def delete(self): def delete(self, commit=True):
"""Delete the object and commit the change immediately by default"""
sess = object_session(self) sess = object_session(self)
assert sess is not None, "Not going to delete detached %r" % self assert sess is not None, "Not going to delete detached %r" % self
sess.delete(self) sess.delete(self)
if commit:
sess.commit() sess.commit()

View File

@ -17,11 +17,14 @@
import datetime import datetime
from sqlalchemy import (MetaData, Table, Column, Boolean, SmallInteger, from sqlalchemy import (MetaData, Table, Column, Boolean, SmallInteger,
Integer, Unicode, UnicodeText, DateTime, ForeignKey) Integer, Unicode, UnicodeText, DateTime,
ForeignKey)
from sqlalchemy.exc import ProgrammingError
from sqlalchemy.ext.declarative import declarative_base
from migrate.changeset.constraint import UniqueConstraint
from mediagoblin.db.sql.util import RegisterMigration from mediagoblin.db.sql.util import RegisterMigration
from mediagoblin.db.sql.models import MediaEntry, Collection, User, \ from mediagoblin.db.sql.models import MediaEntry, Collection, User
ProcessingMetaData
MIGRATIONS = {} MIGRATIONS = {}
@ -65,29 +68,45 @@ def add_transcoding_progress(db_conn):
db_conn.commit() db_conn.commit()
class Collection_v0(declarative_base()):
__tablename__ = "core__collections"
id = Column(Integer, primary_key=True)
title = Column(Unicode, nullable=False)
slug = Column(Unicode)
created = Column(DateTime, nullable=False, default=datetime.datetime.now,
index=True)
description = Column(UnicodeText)
creator = Column(Integer, ForeignKey(User.id), nullable=False)
items = Column(Integer, default=0)
class CollectionItem_v0(declarative_base()):
__tablename__ = "core__collection_items"
id = Column(Integer, primary_key=True)
media_entry = Column(
Integer, ForeignKey(MediaEntry.id), nullable=False, index=True)
collection = Column(Integer, ForeignKey(Collection.id), nullable=False)
note = Column(UnicodeText, nullable=True)
added = Column(DateTime, nullable=False, default=datetime.datetime.now)
position = Column(Integer)
## This should be activated, normally.
## But this would change the way the next migration used to work.
## So it's commented for now.
__table_args__ = (
UniqueConstraint('collection', 'media_entry'),
{})
collectionitem_unique_constraint_done = False
@RegisterMigration(4, MIGRATIONS) @RegisterMigration(4, MIGRATIONS)
def add_collection_tables(db_conn): def add_collection_tables(db_conn):
metadata = MetaData(bind=db_conn.bind) Collection_v0.__table__.create(db_conn.bind)
CollectionItem_v0.__table__.create(db_conn.bind)
collection = Table('core__collections', metadata, global collectionitem_unique_constraint_done
Column('id', Integer, primary_key=True), collectionitem_unique_constraint_done = True
Column('title', Unicode, nullable=False),
Column('slug', Unicode),
Column('created', DateTime, nullable=False, default=datetime.datetime.now, index=True),
Column('description', UnicodeText),
Column('creator', Integer, ForeignKey(User.id), nullable=False),
Column('items', Integer, default=0))
collection_item = Table('core__collection_items', metadata,
Column('id', Integer, primary_key=True),
Column('media_entry', Integer, ForeignKey(MediaEntry.id), nullable=False, index=True),
Column('collection', Integer, ForeignKey(Collection.id), nullable=False),
Column('note', UnicodeText, nullable=True),
Column('added', DateTime, nullable=False, default=datetime.datetime.now),
Column('position', Integer))
collection.create()
collection_item.create()
db_conn.commit() db_conn.commit()
@ -104,15 +123,67 @@ def add_mediaentry_collected(db_conn):
db_conn.commit() db_conn.commit()
class ProcessingMetaData_v0(declarative_base()):
__tablename__ = 'core__processing_metadata'
id = Column(Integer, primary_key=True)
media_entry_id = Column(Integer, ForeignKey(MediaEntry.id), nullable=False,
index=True)
callback_url = Column(Unicode)
@RegisterMigration(6, MIGRATIONS) @RegisterMigration(6, MIGRATIONS)
def create_processing_metadata_table(db): def create_processing_metadata_table(db):
metadata = MetaData(bind=db.bind) ProcessingMetaData_v0.__table__.create(db.bind)
metadata_table = Table('core__processing_metadata', metadata,
Column('id', Integer, primary_key=True),
Column('media_entry_id', Integer, ForeignKey(MediaEntry.id),
nullable=False, index=True),
Column('callback_url', Unicode))
metadata_table.create()
db.commit() db.commit()
# Okay, problem being:
# Migration #4 forgot to add the uniqueconstraint for the
# new tables. While creating the tables from scratch had
# the constraint enabled.
#
# So we have four situations that should end up at the same
# db layout:
#
# 1. Fresh install.
# Well, easy. Just uses the tables in models.py
# 2. Fresh install using a git version just before this migration
# The tables are all there, the unique constraint is also there.
# This migration should do nothing.
# But as we can't detect the uniqueconstraint easily,
# this migration just adds the constraint again.
# And possibly fails very loud. But ignores the failure.
# 3. old install, not using git, just releases.
# This one will get the new tables in #4 (now with constraint!)
# And this migration is just skipped silently.
# 4. old install, always on latest git.
# This one has the tables, but lacks the constraint.
# So this migration adds the constraint.
@RegisterMigration(7, MIGRATIONS)
def fix_CollectionItem_v0_constraint(db_conn):
"""Add the forgotten Constraint on CollectionItem"""
global collectionitem_unique_constraint_done
if collectionitem_unique_constraint_done:
# Reset it. Maybe the whole thing gets run again
# For a different db?
collectionitem_unique_constraint_done = False
return
metadata = MetaData(bind=db_conn.bind)
CollectionItem_table = Table('core__collection_items',
metadata, autoload=True, autoload_with=db_conn.bind)
constraint = UniqueConstraint('collection', 'media_entry',
name='core__collection_items_collection_media_entry_key',
table=CollectionItem_table)
try:
constraint.create()
except ProgrammingError:
# User probably has an install that was run since the
# collection tables were added, so we don't need to run this migration.
pass
db_conn.commit()

View File

@ -39,7 +39,7 @@ class MigrationManager(object):
- migration_registry: where we should find all migrations to - migration_registry: where we should find all migrations to
run run
""" """
self.name = name self.name = unicode(name)
self.models = models self.models = models
self.session = session self.session = session
self.migration_registry = migration_registry self.migration_registry = migration_registry
@ -217,9 +217,9 @@ class MigrationManager(object):
u' + Running migration %s, "%s"... ' % ( u' + Running migration %s, "%s"... ' % (
migration_number, migration_func.func_name)) migration_number, migration_func.func_name))
migration_func(self.session) migration_func(self.session)
self.set_current_migration(migration_number)
self.printer('done.\n') self.printer('done.\n')
self.set_current_migration()
return u'migrated' return u'migrated'
# Otherwise return None. Well it would do this anyway, but # Otherwise return None. Well it would do this anyway, but
@ -297,16 +297,16 @@ def media_entries_for_tag_slug(dummy_db, tag_slug):
& (Tag.slug == tag_slug)) & (Tag.slug == tag_slug))
def clean_orphan_tags(): def clean_orphan_tags(commit=True):
"""Search for unused MediaTags and delete them"""
q1 = Session.query(Tag).outerjoin(MediaTag).filter(MediaTag.id==None) q1 = Session.query(Tag).outerjoin(MediaTag).filter(MediaTag.id==None)
for t in q1: for t in q1:
Session.delete(t) Session.delete(t)
# The "let the db do all the work" version: # The "let the db do all the work" version:
# q1 = Session.query(Tag.id).outerjoin(MediaTag).filter(MediaTag.id==None) # q1 = Session.query(Tag.id).outerjoin(MediaTag).filter(MediaTag.id==None)
# q2 = Session.query(Tag).filter(Tag.id.in_(q1)) # q2 = Session.query(Tag).filter(Tag.id.in_(q1))
# q2.delete(synchronize_session = False) # q2.delete(synchronize_session = False)
if commit:
Session.commit() Session.commit()

View File

@ -22,6 +22,7 @@ from urllib import urlencode
from webob import exc from webob import exc
from mediagoblin.db.util import ObjectId, InvalidId from mediagoblin.db.util import ObjectId, InvalidId
from mediagoblin.db.sql.models import User
from mediagoblin.tools.response import redirect, render_404 from mediagoblin.tools.response import redirect, render_404
@ -52,6 +53,20 @@ def require_active_login(controller):
return new_controller_func return new_controller_func
def active_user_from_url(controller):
"""Retrieve User() from <user> URL pattern and pass in as url_user=...
Returns a 404 if no such active user has been found"""
@wraps(controller)
def wrapper(request, *args, **kwargs):
user = User.query.filter_by(username=request.matchdict['user']).first()
if user is None:
return render_404(request)
return controller(request, *args, url_user=user, **kwargs)
return wrapper
def user_may_delete_media(controller): def user_may_delete_media(controller):
""" """

View File

@ -68,8 +68,7 @@ class EditAccountForm(wtforms.Form):
[wtforms.validators.Length(min=6, max=30)], [wtforms.validators.Length(min=6, max=30)],
id="password") id="password")
wants_comment_notification = wtforms.BooleanField( wants_comment_notification = wtforms.BooleanField(
_(''), label=_("Email me when others comment on my media"))
description=_("Email me when others comment on my media"))
class EditAttachmentsForm(wtforms.Form): class EditAttachmentsForm(wtforms.Form):

View File

@ -14,13 +14,9 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin.routing import add_route
from routes.route import Route add_route('mediagoblin.edit.profile', '/edit/profile/',
'mediagoblin.edit.views:edit_profile')
edit_routes = [ add_route('mediagoblin.edit.account', '/edit/account/',
# Media editing view handled in user_pages/routing.py 'mediagoblin.edit.views:edit_account')
Route('mediagoblin.edit.profile', '/profile/',
controller="mediagoblin.edit.views:edit_profile"),
Route('mediagoblin.edit.account', '/account/',
controller="mediagoblin.edit.views:edit_account"),
]

View File

@ -106,9 +106,8 @@ def edit_attachments(request, media):
form = forms.EditAttachmentsForm() form = forms.EditAttachmentsForm()
# Add any attachements # Add any attachements
if ('attachment_file' in request.form if 'attachment_file' in request.files \
and isinstance(request.form['attachment_file'], FieldStorage) and request.files['attachment_file']:
and request.form['attachment_file'].file):
# Security measure to prevent attachments from being served as # Security measure to prevent attachments from being served as
# text/html, which will be parsed by web clients and pose an XSS # text/html, which will be parsed by web clients and pose an XSS
@ -121,13 +120,13 @@ def edit_attachments(request, media):
# machine parsing the upload form, and not necessarily the machine # machine parsing the upload form, and not necessarily the machine
# serving the attachments. # serving the attachments.
if mimetypes.guess_type( if mimetypes.guess_type(
request.form['attachment_file'].filename)[0] in \ request.files['attachment_file'].filename)[0] in \
UNSAFE_MIMETYPES: UNSAFE_MIMETYPES:
public_filename = secure_filename('{0}.notsafe'.format( public_filename = secure_filename('{0}.notsafe'.format(
request.form['attachment_file'].filename)) request.files['attachment_file'].filename))
else: else:
public_filename = secure_filename( public_filename = secure_filename(
request.form['attachment_file'].filename) request.files['attachment_file'].filename)
attachment_public_filepath \ attachment_public_filepath \
= mg_globals.public_store.get_unique_filepath( = mg_globals.public_store.get_unique_filepath(
@ -139,13 +138,13 @@ def edit_attachments(request, media):
try: try:
attachment_public_file.write( attachment_public_file.write(
request.form['attachment_file'].file.read()) request.files['attachment_file'].stream.read())
finally: finally:
request.form['attachment_file'].file.close() request.files['attachment_file'].stream.close()
media.attachment_files.append(dict( media.attachment_files.append(dict(
name=request.form['attachment_name'] \ name=request.form['attachment_name'] \
or request.form['attachment_file'].filename, or request.files['attachment_file'].filename,
filepath=attachment_public_filepath, filepath=attachment_public_filepath,
created=datetime.utcnow(), created=datetime.utcnow(),
)) ))
@ -154,9 +153,9 @@ def edit_attachments(request, media):
messages.add_message( messages.add_message(
request, messages.SUCCESS, request, messages.SUCCESS,
"You added the attachment %s!" \ _("You added the attachment %s!") \
% (request.form['attachment_name'] % (request.form['attachment_name']
or request.form['attachment_file'].filename)) or request.files['attachment_file'].filename))
return exc.HTTPFound( return exc.HTTPFound(
location=media.url_for_self(request.urlgen)) location=media.url_for_self(request.urlgen))

View File

@ -37,11 +37,11 @@ SUBCOMMAND_MAP = {
'makeadmin': { 'makeadmin': {
'setup': 'mediagoblin.gmg_commands.users:makeadmin_parser_setup', 'setup': 'mediagoblin.gmg_commands.users:makeadmin_parser_setup',
'func': 'mediagoblin.gmg_commands.users:makeadmin', 'func': 'mediagoblin.gmg_commands.users:makeadmin',
'help': 'Changes a user\'s password'}, 'help': 'Makes user an admin'},
'changepw': { 'changepw': {
'setup': 'mediagoblin.gmg_commands.users:changepw_parser_setup', 'setup': 'mediagoblin.gmg_commands.users:changepw_parser_setup',
'func': 'mediagoblin.gmg_commands.users:changepw', 'func': 'mediagoblin.gmg_commands.users:changepw',
'help': 'Makes admin an user'}, 'help': 'Changes a user\'s password'},
'dbupdate': { 'dbupdate': {
'setup': 'mediagoblin.gmg_commands.dbupdate:dbupdate_parse_setup', 'setup': 'mediagoblin.gmg_commands.dbupdate:dbupdate_parse_setup',
'func': 'mediagoblin.gmg_commands.dbupdate:dbupdate', 'func': 'mediagoblin.gmg_commands.dbupdate:dbupdate',

View File

@ -47,24 +47,21 @@ def py_shell(**user_namespace):
def ipython_shell(**user_namespace): def ipython_shell(**user_namespace):
""" """
Run a shell for the user using ipython. Run a shell for the user using ipython. Return False if there is no IPython
""" """
try: try:
from IPython import embed from IPython import embed
except: except:
print "IPython not available... exiting!" return False
return
embed( embed(
banner1=SHELL_BANNER, banner1=SHELL_BANNER,
user_ns=user_namespace) user_ns=user_namespace)
return True
def shell(args): def shell(args):
""" """
Setup a shell for the user Setup a shell for the user either a normal Python shell or an IPython one
either a normal Python shell
or an IPython one
""" """
user_namespace = { user_namespace = {
'mg_globals': mg_globals, 'mg_globals': mg_globals,
@ -74,4 +71,6 @@ def shell(args):
if args.ipython: if args.ipython:
ipython_shell(**user_namespace) ipython_shell(**user_namespace)
else: else:
# Try ipython_shell first and fall back if not available
if not ipython_shell(**user_namespace):
py_shell(**user_namespace) py_shell(**user_namespace)

View File

@ -10,8 +10,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -94,7 +94,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -105,7 +105,7 @@ msgid "Description of this work"
msgstr "وصف هذا العمل." msgstr "وصف هذا العمل."
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -121,11 +121,11 @@ msgstr "الوسوم"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "المسار" msgstr "المسار"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "لا يمكن ترك المسار فارغًا" msgstr "لا يمكن ترك المسار فارغًا"
@ -164,20 +164,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -191,33 +191,38 @@ msgstr "يوجد ملف آخر بهذا المسار لدى هذى المستخ
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "أنت تحرّر وسائط مستخدم آخر. كن حذرًا أثناء العملية." msgstr "أنت تحرّر وسائط مستخدم آخر. كن حذرًا أثناء العملية."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "أنت تحرّر ملف مستخدم آخر. كن حذرًا أثناء العملية." msgstr "أنت تحرّر ملف مستخدم آخر. كن حذرًا أثناء العملية."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -234,7 +239,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -304,7 +309,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -329,62 +334,43 @@ msgstr "يا سلام! نُشرَت!"
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "صورة قزم مرتبك"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "ويحي!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "يبدو أنه لا توجد صفحة في العنوان. عذرًا!"
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "شعار ميدياغوبلن" msgstr "شعار ميدياغوبلن"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "أضف وسائط"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "لِج" msgstr "لِج"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -392,31 +378,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "لوحة معالجة الوسائط"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -424,17 +435,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "أحدث الوسائط" msgstr "أحدث الوسائط"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "لوحة معالجة الوسائط"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -543,30 +547,43 @@ msgstr "أهلًا يا %(username)s،\n\nافتح الرابط التالي\nف
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "ألغِ"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "احفظ التغييرات"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "تحرير %(media_title)s" msgstr "تحرير %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "ألغِ"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "احفظ التغييرات"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -592,13 +609,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -625,6 +641,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -649,7 +715,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -678,14 +744,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -693,7 +751,7 @@ msgid "Really delete %(title)s?"
msgstr "أتود حقًا حذف %(title)s?" msgstr "أتود حقًا حذف %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -702,7 +760,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -728,12 +786,6 @@ msgstr "وسائط <a href=\"%(user_url)s\">%(username)s</a>"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -760,13 +812,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -774,11 +821,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -849,41 +896,25 @@ msgstr "حرِّر الملف الشخصي"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "لم يعبئ هذا العضو بيانات ملفه بعد." msgstr "لم يعبئ هذا العضو بيانات ملفه بعد."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "أظهِر كل وسائط %(username)s" msgstr "أظهِر كل وسائط %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "هنا ستظهر وسائطك، ولكن يبدو أنك لم تضف شيئًا بعد." msgstr "هنا ستظهر وسائطك، ولكن يبدو أنك لم تضف شيئًا بعد."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "أضف وسائط" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "لا يبدو أنه توجد أي وسائط هنا حتى الآن..." msgstr "لا يبدو أنه توجد أي وسائط هنا حتى الآن..."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -903,7 +934,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -942,6 +973,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "ويحي!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "أنا متأكد من رغبتي بحذف هذا العمل" msgstr "أنا متأكد من رغبتي بحذف هذا العمل"
@ -962,74 +1019,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "أنت على وشك حذف وسائط مستخدم آخر. كن حذرًا أثناء العملية." msgstr "أنت على وشك حذف وسائط مستخدم آخر. كن حذرًا أثناء العملية."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -5,12 +5,13 @@
# Translators: # Translators:
# Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2012. # Morten Juhl-Johansen Zölde-Fejér <morten@writtenandread.net>, 2012.
# Olle Jonsson <olle.jonsson@gmail.com>, 2012. # Olle Jonsson <olle.jonsson@gmail.com>, 2012.
# Tanja Trudslev <tanja.trudslev@gmail.com>, 2012.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -34,41 +35,41 @@ msgstr "Email adresse"
#: mediagoblin/auth/forms.py:51 #: mediagoblin/auth/forms.py:51
msgid "Username or email" msgid "Username or email"
msgstr "" msgstr "Brugernavn eller email"
#: mediagoblin/auth/forms.py:58 #: mediagoblin/auth/forms.py:58
msgid "Incorrect input" msgid "Incorrect input"
msgstr "" msgstr "Forkert input"
#: mediagoblin/auth/views.py:55 #: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance." msgid "Sorry, registration is disabled on this instance."
msgstr "" msgstr "Desværre, registrering er ikke muligt på denne instans"
#: mediagoblin/auth/views.py:75 #: mediagoblin/auth/views.py:75
msgid "Sorry, a user with that name already exists." msgid "Sorry, a user with that name already exists."
msgstr "" msgstr "Desværre, det brugernavn er allerede brugt"
#: mediagoblin/auth/views.py:79 #: mediagoblin/auth/views.py:79
msgid "Sorry, a user with that email address already exists." msgid "Sorry, a user with that email address already exists."
msgstr "" msgstr "Desværre, en bruger er allerede oprettet for den email"
#: mediagoblin/auth/views.py:182 #: mediagoblin/auth/views.py:182
msgid "" msgid ""
"Your email address has been verified. You may now login, edit your profile, " "Your email address has been verified. You may now login, edit your profile, "
"and submit images!" "and submit images!"
msgstr "" msgstr "Din email adresse er blevet bekræftet. Du kan nu logge på, ændre din profil, og indsende billeder!"
#: mediagoblin/auth/views.py:188 #: mediagoblin/auth/views.py:188
msgid "The verification key or user id is incorrect" msgid "The verification key or user id is incorrect"
msgstr "" msgstr "Bekræftelsesnøglen eller brugerid er forkert"
#: mediagoblin/auth/views.py:206 #: mediagoblin/auth/views.py:206
msgid "You must be logged in so we know who to send the email to!" msgid "You must be logged in so we know who to send the email to!"
msgstr "" msgstr "Du er nødt til at være logget ind, så vi ved hvem vi skal emaile!"
#: mediagoblin/auth/views.py:214 #: mediagoblin/auth/views.py:214
msgid "You've already verified your email address!" msgid "You've already verified your email address!"
msgstr "" msgstr "Du har allerede bekræftet din email adresse!"
#: mediagoblin/auth/views.py:227 #: mediagoblin/auth/views.py:227
msgid "Resent your verification email." msgid "Resent your verification email."
@ -77,23 +78,23 @@ msgstr "Email til godkendelse sendt igen."
#: mediagoblin/auth/views.py:263 #: mediagoblin/auth/views.py:263
msgid "" msgid ""
"An email has been sent with instructions on how to change your password." "An email has been sent with instructions on how to change your password."
msgstr "" msgstr "En email er blevet sendt med instruktioner til at ændre dit kodeord."
#: mediagoblin/auth/views.py:273 #: mediagoblin/auth/views.py:273
msgid "" msgid ""
"Could not send password recovery email as your username is inactive or your " "Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified." "account's email address has not been verified."
msgstr "" msgstr "Vi kunne ikke sende en kodeords nulstillings email da dit brugernavn er inaktivt, eller din konto's email adresse er ikke blevet godkendt."
#: mediagoblin/auth/views.py:285 #: mediagoblin/auth/views.py:285
msgid "Couldn't find someone with that username or email." msgid "Couldn't find someone with that username or email."
msgstr "" msgstr "Vi kunne ikke dit brugernavn eller email."
#: mediagoblin/auth/views.py:333 #: mediagoblin/auth/views.py:333
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr "Du kan nu logge ind med dit nye kodeord."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -101,30 +102,30 @@ msgstr "Titel"
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 #: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31
msgid "Description of this work" msgid "Description of this work"
msgstr "" msgstr "Beskrivelse af arbejdet"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
" <a href=\"http://daringfireball.net/projects/markdown/basics\">\n" " <a href=\"http://daringfireball.net/projects/markdown/basics\">\n"
" Markdown</a> for formatting." " Markdown</a> for formatting."
msgstr "" msgstr "Du kan bruge\n <a href=\"http://daringfireball.net/projects/markdown/basics\">\n Markdown</a> til formattering."
#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36 #: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:36
msgid "Tags" msgid "Tags"
msgstr "" msgstr "Tags"
#: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38 #: mediagoblin/edit/forms.py:35 mediagoblin/submit/forms.py:38
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr "Separer tags med kommaer."
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "" msgstr ""
@ -132,16 +133,16 @@ msgstr ""
msgid "" msgid ""
"The title part of this media's address. You usually don't need to change " "The title part of this media's address. You usually don't need to change "
"this." "this."
msgstr "" msgstr "Titeldelen af dette medie's adresse. Du behøver normalt ikke ændre dette."
#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41 #: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41
#: mediagoblin/templates/mediagoblin/utils/license.html:20 #: mediagoblin/templates/mediagoblin/utils/license.html:20
msgid "License" msgid "License"
msgstr "" msgstr "Licens"
#: mediagoblin/edit/forms.py:50 #: mediagoblin/edit/forms.py:50
msgid "Bio" msgid "Bio"
msgstr "" msgstr "Bio"
#: mediagoblin/edit/forms.py:56 #: mediagoblin/edit/forms.py:56
msgid "Website" msgid "Website"
@ -149,38 +150,38 @@ msgstr "Websted"
#: mediagoblin/edit/forms.py:58 #: mediagoblin/edit/forms.py:58
msgid "This address contains errors" msgid "This address contains errors"
msgstr "" msgstr "Denne adresse indeholder fejl"
#: mediagoblin/edit/forms.py:63 #: mediagoblin/edit/forms.py:63
msgid "Old password" msgid "Old password"
msgstr "" msgstr "Gammelt kodeord"
#: mediagoblin/edit/forms.py:64 #: mediagoblin/edit/forms.py:64
msgid "Enter your old password to prove you own this account." msgid "Enter your old password to prove you own this account."
msgstr "" msgstr "Skriv dit gamle kodeord for at bevise det er din konto."
#: mediagoblin/edit/forms.py:67 #: mediagoblin/edit/forms.py:67
msgid "New password" msgid "New password"
msgstr "" msgstr "Ny kodeord"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr "Email mig når andre kommenterer på mine medier"
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr "Titlen kan ikke være tom"
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr "Beskrivelse af denne samling"
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
msgstr "" msgstr "Titeldelen af denne samlings's adresse. Du behøver normalt ikke ændre dette."
#: mediagoblin/edit/views.py:65 #: mediagoblin/edit/views.py:65
msgid "An entry with that slug already exists for this user." msgid "An entry with that slug already exists for this user."
@ -188,41 +189,46 @@ msgstr ""
#: mediagoblin/edit/views.py:86 #: mediagoblin/edit/views.py:86
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Du er ved at ændre en anden brugers' medier. Pas på."
#: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "" msgstr "Du er ved at ændre en bruger's profil. Pas på."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr "Profilændringer gemt"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr "Kontoindstillinger gemt"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr "Forkert kodeord"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr "Du har allerede en samling ved navn \"%s\"!"
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr "Du er ved at ændre en anden bruger's samling. Pas på."
#: mediagoblin/gmg_commands/theme.py:58 #: mediagoblin/gmg_commands/theme.py:58
msgid "Cannot link theme... no theme set\n" msgid "Cannot link theme... no theme set\n"
msgstr "" msgstr "Kan ikke linke til tema... intet tema sat\n"
#: mediagoblin/gmg_commands/theme.py:71 #: mediagoblin/gmg_commands/theme.py:71
msgid "No asset directory for this theme\n" msgid "No asset directory for this theme\n"
@ -233,9 +239,9 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr "Desværre, jeg understøtter ikke den filtype :("
#: mediagoblin/media_types/video/processing.py:35 #: mediagoblin/media_types/video/processing.py:35
msgid "Video transcoding failed" msgid "Video transcoding failed"
@ -247,27 +253,27 @@ msgstr ""
#: mediagoblin/plugins/oauth/forms.py:28 #: mediagoblin/plugins/oauth/forms.py:28
msgid "Next URL" msgid "Next URL"
msgstr "" msgstr "Næste URL"
#: mediagoblin/plugins/oauth/forms.py:30 #: mediagoblin/plugins/oauth/forms.py:30
msgid "Allow" msgid "Allow"
msgstr "" msgstr "Tillad"
#: mediagoblin/plugins/oauth/forms.py:31 #: mediagoblin/plugins/oauth/forms.py:31
msgid "Deny" msgid "Deny"
msgstr "" msgstr "Forbyd"
#: mediagoblin/plugins/oauth/forms.py:35 #: mediagoblin/plugins/oauth/forms.py:35
msgid "Name" msgid "Name"
msgstr "" msgstr "Navn"
#: mediagoblin/plugins/oauth/forms.py:36 #: mediagoblin/plugins/oauth/forms.py:36
msgid "The name of the OAuth client" msgid "The name of the OAuth client"
msgstr "" msgstr "Navnet af OAuth klienten"
#: mediagoblin/plugins/oauth/forms.py:37 #: mediagoblin/plugins/oauth/forms.py:37
msgid "Description" msgid "Description"
msgstr "" msgstr "Beskrivelse"
#: mediagoblin/plugins/oauth/forms.py:39 #: mediagoblin/plugins/oauth/forms.py:39
msgid "" msgid ""
@ -277,7 +283,7 @@ msgstr ""
#: mediagoblin/plugins/oauth/forms.py:41 #: mediagoblin/plugins/oauth/forms.py:41
msgid "Type" msgid "Type"
msgstr "" msgstr "Type"
#: mediagoblin/plugins/oauth/forms.py:46 #: mediagoblin/plugins/oauth/forms.py:46
msgid "" msgid ""
@ -301,15 +307,15 @@ msgstr ""
#: mediagoblin/plugins/oauth/forms.py:67 #: mediagoblin/plugins/oauth/forms.py:67
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr "Dette felt er nødvendigt for offentlige klienter"
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr "Klienten {0} er blevet registreret!"
#: mediagoblin/processing/__init__.py:138 #: mediagoblin/processing/__init__.py:138
msgid "Invalid file given for media type." msgid "Invalid file given for media type."
msgstr "" msgstr "Forkert fil for medietypen."
#: mediagoblin/submit/forms.py:26 #: mediagoblin/submit/forms.py:26
msgid "File" msgid "File"
@ -317,73 +323,54 @@ msgstr "Fil"
#: mediagoblin/submit/views.py:57 #: mediagoblin/submit/views.py:57
msgid "You must provide a file." msgid "You must provide a file."
msgstr "" msgstr "Du må give mig en fil"
#: mediagoblin/submit/views.py:164 #: mediagoblin/submit/views.py:164
msgid "Woohoo! Submitted!" msgid "Woohoo! Submitted!"
msgstr "" msgstr "Juhuu! Delt!"
#: mediagoblin/submit/views.py:215 #: mediagoblin/submit/views.py:215
#, python-format #, python-format
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Billede af stresset 404 goblin"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Hovsa!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "MediaGoblin logo" msgstr "MediaGoblin logo"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr "Bekræft din email!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Log ind" msgstr "Log ind"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -391,31 +378,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr "Udforsk"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr "Hey, velkommen til denne MediaGoblin side!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr "For at tilføje dine egne medier, skrive kommentarer, og mere, du kan logge ind med din MediaGoblin konto."
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr "Har du ikke en endnu? Det er let!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -423,17 +435,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -542,30 +547,43 @@ msgstr ""
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Afbryd"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Gem ændringer"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Afbryd"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Gem ændringer"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -591,13 +609,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -624,6 +641,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -648,7 +715,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -677,14 +744,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -692,7 +751,7 @@ msgid "Really delete %(title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -701,7 +760,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -727,12 +786,6 @@ msgstr ""
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -759,13 +812,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -773,11 +821,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -848,41 +896,25 @@ msgstr "Ret profil"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -902,7 +934,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -941,6 +973,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Hovsa!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "" msgstr ""
@ -961,74 +1019,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

View File

@ -5,7 +5,7 @@
# Translators: # Translators:
# <benjamin@lebsanft.org>, 2011. # <benjamin@lebsanft.org>, 2011.
# <cwebber@dustycloud.org>, 2011. # <cwebber@dustycloud.org>, 2011.
# Elrond <elrond+mediagoblin.org@samba-tng.org>, 2011, 2012. # Elrond <elrond+mediagoblin.org@samba-tng.org>, 2011-2012.
# <jakob.kramer@gmx.de>, 2011, 2012. # <jakob.kramer@gmx.de>, 2011, 2012.
# Jakob Kramer <jakob.kramer@gmx.de>, 2012. # Jakob Kramer <jakob.kramer@gmx.de>, 2012.
# Jan-Christoph Borchardt <JanCBorchardt@fsfe.org>, 2011. # Jan-Christoph Borchardt <JanCBorchardt@fsfe.org>, 2011.
@ -13,13 +13,15 @@
# <kyoo@kyoo.ch>, 2011. # <kyoo@kyoo.ch>, 2011.
# <mediagoblin.org@samba-tng.org>, 2011. # <mediagoblin.org@samba-tng.org>, 2011.
# Rafael Maguiña <rafael.maguina@gmail.com>, 2011. # Rafael Maguiña <rafael.maguina@gmail.com>, 2011.
# <sebastian@sspaeth.de>, 2012.
# Vinzenz Vietzke <vietzke@b1-systems.de>, 2012.
# Vinzenz Vietzke <vinz@fedoraproject.org>, 2011. # Vinzenz Vietzke <vinz@fedoraproject.org>, 2011.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: German (http://www.transifex.com/projects/p/mediagoblin/language/de/)\n" "Language-Team: German (http://www.transifex.com/projects/p/mediagoblin/language/de/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -51,7 +53,7 @@ msgstr "Fehlerhafte Eingabe"
#: mediagoblin/auth/views.py:55 #: mediagoblin/auth/views.py:55
msgid "Sorry, registration is disabled on this instance." msgid "Sorry, registration is disabled on this instance."
msgstr "Das Registrieren ist auf dieser Instanz leider deaktiviert." msgstr "Benutzerregistrierung ist auf diesem Server leider deaktiviert."
#: mediagoblin/auth/views.py:75 #: mediagoblin/auth/views.py:75
msgid "Sorry, a user with that name already exists." msgid "Sorry, a user with that name already exists."
@ -65,11 +67,11 @@ msgstr "Leider gibt es bereits einen Benutzer mit dieser E-Mail-Adresse."
msgid "" msgid ""
"Your email address has been verified. You may now login, edit your profile, " "Your email address has been verified. You may now login, edit your profile, "
"and submit images!" "and submit images!"
msgstr "Deine E-Mail-Adresse wurde bestätigt. Du kannst dich nun anmelden, dein Profil bearbeiten und Bilder hochladen!" msgstr "Dein GNU MediaGoblin Konto wurde hiermit aktiviert. Du kannst dich jetzt anmelden, dein Profil bearbeiten und Medien hochladen."
#: mediagoblin/auth/views.py:188 #: mediagoblin/auth/views.py:188
msgid "The verification key or user id is incorrect" msgid "The verification key or user id is incorrect"
msgstr "Der Bestätigungsschlüssel oder die Nutzernummer ist falsch." msgstr "Der Aktivierungsschlüssel oder die Nutzerkennung ist falsch."
#: mediagoblin/auth/views.py:206 #: mediagoblin/auth/views.py:206
msgid "You must be logged in so we know who to send the email to!" msgid "You must be logged in so we know who to send the email to!"
@ -77,22 +79,22 @@ msgstr "Du musst angemeldet sein, damit wir wissen, wer die Email bekommt."
#: mediagoblin/auth/views.py:214 #: mediagoblin/auth/views.py:214
msgid "You've already verified your email address!" msgid "You've already verified your email address!"
msgstr "Deine E-Mail-Adresse wurde bereits bestätigt." msgstr "Deine E-Mail-Adresse wurde bereits aktiviert."
#: mediagoblin/auth/views.py:227 #: mediagoblin/auth/views.py:227
msgid "Resent your verification email." msgid "Resent your verification email."
msgstr "Bestätigungs-E-Mail wurde erneut versandt." msgstr "Aktivierungsmail wurde erneut versandt."
#: mediagoblin/auth/views.py:263 #: mediagoblin/auth/views.py:263
msgid "" msgid ""
"An email has been sent with instructions on how to change your password." "An email has been sent with instructions on how to change your password."
msgstr "Es wurde eine Email mit Anweisungen für die Änderung des Passwortes an dich gesendet." msgstr "Es wurde eine E-Mail mit der Anleitung zur Änderung des Passwortes an Dich gesendet."
#: mediagoblin/auth/views.py:273 #: mediagoblin/auth/views.py:273
msgid "" msgid ""
"Could not send password recovery email as your username is inactive or your " "Could not send password recovery email as your username is inactive or your "
"account's email address has not been verified." "account's email address has not been verified."
msgstr "Die E-Mail zur Wiederherstellung des Passworts konnte nicht verschickt werden, weil dein Benutzername inaktiv oder deine E-Mail-Adresse noch nicht bestätigt wurde." msgstr "Die E-Mail zur Wiederherstellung des Passworts konnte nicht verschickt werden, weil dein Benutzername inaktiv oder deine E-Mail-Adresse noch nicht aktiviert wurde."
#: mediagoblin/auth/views.py:285 #: mediagoblin/auth/views.py:285
msgid "Couldn't find someone with that username or email." msgid "Couldn't find someone with that username or email."
@ -102,7 +104,7 @@ msgstr "Es konnte niemand mit diesem Nutzernamen oder Email gefunden werden."
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Du kannst dich jetzt mit deinem neuen Passwort anmelden." msgstr "Du kannst dich jetzt mit deinem neuen Passwort anmelden."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -113,7 +115,7 @@ msgid "Description of this work"
msgstr "Beschreibung des Werkes" msgstr "Beschreibung des Werkes"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -129,11 +131,11 @@ msgstr "Schlagwörter"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "Kommaseparierte Schlagwörter" msgstr "Kommaseparierte Schlagwörter"
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Kurztitel" msgstr "Kurztitel"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "Bitte gib einen Kurztitel ein" msgstr "Bitte gib einen Kurztitel ein"
@ -172,24 +174,24 @@ msgstr "Gib dein altes Passwort ein, um zu bestätigen, dass du dieses Konto bes
msgid "New password" msgid "New password"
msgstr "Neues Passwort" msgstr "Neues Passwort"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "Mir eine E-Mail schicken, wenn andere meine Medien kommentieren" msgstr "Mir eine E-Mail schicken, wenn andere meine Medien kommentieren"
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr "Der Titel kann nicht leer sein"
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr "Beschreibung dieser Sammlung"
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
msgstr "" msgstr "Der Titelteil dieser Sammlungsadresse. Du musst ihn normalerweise nicht ändern."
#: mediagoblin/edit/views.py:65 #: mediagoblin/edit/views.py:65
msgid "An entry with that slug already exists for this user." msgid "An entry with that slug already exists for this user."
@ -197,37 +199,42 @@ msgstr "Diesen Kurztitel hast du bereits vergeben."
#: mediagoblin/edit/views.py:86 #: mediagoblin/edit/views.py:86
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Du bearbeitest die Medien eines Anderen. Sei bitte vorsichtig." msgstr "Du bearbeitest die Medien eines anderen Nutzers. Sei bitte vorsichtig."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr "Sie haben den Anhang %s hinzugefügt!"
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Du bearbeitest das Profil eines Anderen. Sei bitte vorsichtig." msgstr "Du bearbeitest das Profil eines anderen Nutzers. Sei bitte vorsichtig."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Das Profil wurde aktualisiert" msgstr "Das Profil wurde aktualisiert"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "Kontoeinstellungen gespeichert" msgstr "Kontoeinstellungen gespeichert"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Falsches Passwort" msgstr "Falsches Passwort"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr "Du hast bereits eine Sammlung mit Namen \"%s\"!"
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr "Eine Sammlung mit diesem Kürzel existiert bereits für diesen Benutzer."
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr "Du bearbeitest die Sammlung eines anderen Benutzers. Sei vorsichtig."
#: mediagoblin/gmg_commands/theme.py:58 #: mediagoblin/gmg_commands/theme.py:58
msgid "Cannot link theme... no theme set\n" msgid "Cannot link theme... no theme set\n"
@ -242,7 +249,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "Trotzdem wurde eine alte Verknüpfung gefunden; sie wurde entfernt\n" msgstr "Trotzdem wurde eine alte Verknüpfung gefunden; sie wurde entfernt\n"
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "Entschuldigung, dieser Dateityp wird nicht unterstützt." msgstr "Entschuldigung, dieser Dateityp wird nicht unterstützt."
@ -252,41 +259,41 @@ msgstr "Videokonvertierung fehlgeschlagen"
#: mediagoblin/plugins/oauth/forms.py:26 #: mediagoblin/plugins/oauth/forms.py:26
msgid "Client ID" msgid "Client ID"
msgstr "" msgstr "Client-ID"
#: mediagoblin/plugins/oauth/forms.py:28 #: mediagoblin/plugins/oauth/forms.py:28
msgid "Next URL" msgid "Next URL"
msgstr "" msgstr "Nächste URL"
#: mediagoblin/plugins/oauth/forms.py:30 #: mediagoblin/plugins/oauth/forms.py:30
msgid "Allow" msgid "Allow"
msgstr "" msgstr "Erlauben"
#: mediagoblin/plugins/oauth/forms.py:31 #: mediagoblin/plugins/oauth/forms.py:31
msgid "Deny" msgid "Deny"
msgstr "" msgstr "Verweigern"
#: mediagoblin/plugins/oauth/forms.py:35 #: mediagoblin/plugins/oauth/forms.py:35
msgid "Name" msgid "Name"
msgstr "" msgstr "Name"
#: mediagoblin/plugins/oauth/forms.py:36 #: mediagoblin/plugins/oauth/forms.py:36
msgid "The name of the OAuth client" msgid "The name of the OAuth client"
msgstr "" msgstr "Der Name des OAuth-Clients"
#: mediagoblin/plugins/oauth/forms.py:37 #: mediagoblin/plugins/oauth/forms.py:37
msgid "Description" msgid "Description"
msgstr "" msgstr "Beschreibung"
#: mediagoblin/plugins/oauth/forms.py:39 #: mediagoblin/plugins/oauth/forms.py:39
msgid "" msgid ""
"This will be visible to users allowing your\n" "This will be visible to users allowing your\n"
" application to authenticate as them." " application to authenticate as them."
msgstr "" msgstr "Dies wird für Benutzer sichtbar sein, die deiner\nAnwendung erlauben, sich als sie zu authentifizieren.."
#: mediagoblin/plugins/oauth/forms.py:41 #: mediagoblin/plugins/oauth/forms.py:41
msgid "Type" msgid "Type"
msgstr "" msgstr "Typ"
#: mediagoblin/plugins/oauth/forms.py:46 #: mediagoblin/plugins/oauth/forms.py:46
msgid "" msgid ""
@ -296,25 +303,25 @@ msgid ""
" <strong>Public</strong> - The client can't make confidential\n" " <strong>Public</strong> - The client can't make confidential\n"
" requests to the GNU MediaGoblin instance (e.g. client-side\n" " requests to the GNU MediaGoblin instance (e.g. client-side\n"
" JavaScript client)." " JavaScript client)."
msgstr "" msgstr "<strong>Vertraulich</strong> - Der Client kann\n Anfragen an die GNU MediaGoblin Instanz stellen, die nicht durch den \n Benutzer-Agent (z.B. serverseitiger Client) unterbunden werden können.<br />\n <strong>Öffentlich</strong> - Der Client kann keine vertraulichen \n Anfragen an die GNU MediaGoblin Instanz stellen (z.B. clientseitiger\n JavaScript Client)."
#: mediagoblin/plugins/oauth/forms.py:53 #: mediagoblin/plugins/oauth/forms.py:53
msgid "Redirect URI" msgid "Redirect URI"
msgstr "" msgstr "Weiterleitungs-URI"
#: mediagoblin/plugins/oauth/forms.py:55 #: mediagoblin/plugins/oauth/forms.py:55
msgid "" msgid ""
"The redirect URI for the applications, this field\n" "The redirect URI for the applications, this field\n"
" is <strong>required</strong> for public clients." " is <strong>required</strong> for public clients."
msgstr "" msgstr "Die Weiterleitungs-URI für die Anwendung, dieses Feld\n ist <strong>Pflicht</strong> für öffentliche Clients."
#: mediagoblin/plugins/oauth/forms.py:67 #: mediagoblin/plugins/oauth/forms.py:67
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr "Dieses Feld ist Pflicht für öffentliche Clients"
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr "Client {0} wurde registriert!"
#: mediagoblin/processing/__init__.py:138 #: mediagoblin/processing/__init__.py:138
msgid "Invalid file given for media type." msgid "Invalid file given for media type."
@ -330,69 +337,50 @@ msgstr "Du musst eine Datei angeben."
#: mediagoblin/submit/views.py:164 #: mediagoblin/submit/views.py:164
msgid "Woohoo! Submitted!" msgid "Woohoo! Submitted!"
msgstr "Yeeeaaah! Geschafft!" msgstr "JAAA! Geschafft!"
#: mediagoblin/submit/views.py:215 #: mediagoblin/submit/views.py:215
#, python-format #, python-format
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr "Sammlung \"%s\" hinzugefügt!"
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Bild eines angespannten Goblins"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Hoppla!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Tut uns Leid, aber unter der angegebenen Adresse gibt es keine Seite!"
#: mediagoblin/templates/mediagoblin/404.html:28
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr "Wenn du sicher bist, dass die Adresse stimmt, wurde die Seite eventuell verschoben oder gelöscht."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "MediaGoblin-Logo" msgstr "MediaGoblin Logo"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr "<a href=\"%(user_url)s\">%(user_name)s</a>s Konto"
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr "abmelden"
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Medien hinzufügen"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Bitte bestätige deine E-Mail-Adresse!" msgstr "Bitte bestätige Deine E-Mail-Adresse!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+ Medien hinzufügen"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Dein Profil ansehen"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Abmelden"
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Anmelden" msgstr "Anmelden"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "Diese Seite setzt das <a href=\"http://gnu.org/\">GNU</a>-Projekt <a href=\"http://mediagoblin.org/\">MediaGoblin</a> ein." msgstr "Diese Seite setzt das <a href=\"http://gnu.org/\">GNU</a>-Projekt <a href=\"http://mediagoblin.org/\">MediaGoblin</a> ein."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -400,31 +388,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Veröffentlicht unter der <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a> (<a href=\"%(source_link)s\">Quellcode</a>)." msgstr "Veröffentlicht unter der <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a> (<a href=\"%(source_link)s\">Quellcode</a>)."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr "Bild eines gestressten Goblins"
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr "Aktionen"
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr " Neues Album erstellen"
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr "Kontoeinstellungen ändern"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Medienverarbeitung"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Entdecken" msgstr "Entdecken"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Hallo du, willkommen auf dieser MediaGoblin-Seite!" msgstr "Hallo du, willkommen auf dieser MediaGoblin-Seite!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "Diese Seite setzt <a href=\"http://mediagoblin.org\">MediaGoblin</a> ein, eine großartige Software für Medienhosting." msgstr "Diese Webseite setzt <a href=\"http://mediagoblin.org\">MediaGoblin</a> ein, eine großartige Software für Medienhosting."
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "Melde dich mit deinem MediaGoblin-Konto an, um eigene Medien hinzuzufügen, zu kommentieren und mehr." msgstr "Melde Dich mit Deinem MediaGoblin-Konto an, um eigene Medien hinzuzufügen, andere zu kommentieren und vieles mehr."
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "Hast du noch keinen? Das geht ganz einfach!" msgstr "Hast du noch keinen? Das geht ganz einfach!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -432,17 +445,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Registriere dich auf dieser Seite</a> oder <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Installiere MediaGoblin auf deinem eigenen Server</a>" msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Registriere dich auf dieser Seite</a> oder <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Installiere MediaGoblin auf deinem eigenen Server</a>"
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Neuste Medien" msgstr "Neuste Medien"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Medienverarbeitung"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -515,11 +521,11 @@ msgstr "Anmeldevorgang fehlgeschlagen!"
#: mediagoblin/templates/mediagoblin/auth/login.html:44 #: mediagoblin/templates/mediagoblin/auth/login.html:44
msgid "Don't have an account yet?" msgid "Don't have an account yet?"
msgstr "Hast du noch keines? Es geht ganz einfach!" msgstr "Hast du noch keines?"
#: mediagoblin/templates/mediagoblin/auth/login.html:45 #: mediagoblin/templates/mediagoblin/auth/login.html:45
msgid "Create one here!" msgid "Create one here!"
msgstr "Registriere dich hier!" msgstr "Registriere dich einfach hier!"
#: mediagoblin/templates/mediagoblin/auth/login.html:51 #: mediagoblin/templates/mediagoblin/auth/login.html:51
msgid "Forgot your password?" msgid "Forgot your password?"
@ -528,7 +534,7 @@ msgstr "Passwort vergessen?"
#: mediagoblin/templates/mediagoblin/auth/register.html:28 #: mediagoblin/templates/mediagoblin/auth/register.html:28
#: mediagoblin/templates/mediagoblin/auth/register.html:36 #: mediagoblin/templates/mediagoblin/auth/register.html:36
msgid "Create an account!" msgid "Create an account!"
msgstr "Neues Konto registrieren!" msgstr "Neues Nutzerkonto registrieren!"
#: mediagoblin/templates/mediagoblin/auth/register.html:40 #: mediagoblin/templates/mediagoblin/auth/register.html:40
msgid "Create" msgid "Create"
@ -543,13 +549,42 @@ msgid ""
"your web browser:\n" "your web browser:\n"
"\n" "\n"
"%(verification_url)s" "%(verification_url)s"
msgstr "Hallo %(username)s,\n\num dein Konto bei GNU MediaGoblin zu aktivieren, musst du folgende Adresse in deinem Webbrowser öffnen:\n\n%(verification_url)s" msgstr "Hallo %(username)s,\n\num deinNutzerkonto bei GNU MediaGoblin zu aktivieren, musst du folgende Adresse in deinem Webbrowser öffnen:\n\n%(verification_url)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:23 #: mediagoblin/templates/mediagoblin/edit/attachments.html:23
#: mediagoblin/templates/mediagoblin/edit/attachments.html:35 #: mediagoblin/templates/mediagoblin/edit/attachments.html:35
#, python-format #, python-format
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr "Bearbeite Anhänge von %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr "Anhänge"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Anhang hinzufügen"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Abbrechen"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Änderungen speichern"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
@ -557,24 +592,8 @@ msgstr ""
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "%(media_title)s bearbeiten" msgstr "%(media_title)s bearbeiten"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Abbrechen"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Änderungen speichern"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "%(username)ss Kontoeinstellungen ändern" msgstr "%(username)ss Kontoeinstellungen ändern"
@ -582,7 +601,7 @@ msgstr "%(username)ss Kontoeinstellungen ändern"
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29
#, python-format #, python-format
msgid "Editing %(collection_title)s" msgid "Editing %(collection_title)s"
msgstr "" msgstr "Bearbeite %(collection_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35
@ -600,13 +619,12 @@ msgstr "Medien mit Schlagwort: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "Download" msgstr "Download"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Original" msgstr "Original"
@ -633,6 +651,56 @@ msgstr "Originaldatei"
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "WebM-Datei (Vorbis-Codec)" msgstr "WebM-Datei (Vorbis-Codec)"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Bild für %(media_title)s"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr "Perspektive"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr "Objekthöhe"
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -653,11 +721,11 @@ msgstr "WebM-Datei (640p; VP8/Vorbis)"
#: mediagoblin/templates/mediagoblin/submit/collection.html:26 #: mediagoblin/templates/mediagoblin/submit/collection.html:26
msgid "Add a collection" msgid "Add a collection"
msgstr "" msgstr "Eine Sammlung hinzufügen"
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Hinzufügen" msgstr "Hinzufügen"
@ -669,12 +737,12 @@ msgstr "Deine Medien"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30
#, python-format #, python-format
msgid "%(collection_title)s (%(username)s's collection)" msgid "%(collection_title)s (%(username)s's collection)"
msgstr "" msgstr "%(collection_title)s (%(username)s's collection)"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:39
#, python-format #, python-format
msgid "%(collection_title)s by <a href=\"%(user_url)s\">%(username)s</a>" msgid "%(collection_title)s by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr "%(collection_title)s by <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media.html:87 #: mediagoblin/templates/mediagoblin/user_pages/media.html:87
@ -686,14 +754,6 @@ msgstr "Bearbeiten"
msgid "Delete" msgid "Delete"
msgstr "Löschen" msgstr "Löschen"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -701,18 +761,18 @@ msgid "Really delete %(title)s?"
msgstr "Möchtest du %(title)s wirklich löschen?" msgstr "Möchtest du %(title)s wirklich löschen?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Dauerhaft löschen" msgstr "Dauerhaft löschen"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31
#, python-format #, python-format
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr "Wirklich %(media_title)s aus %(collection_title)s entfernen?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr "Entfernen"
#: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 #: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19
#, python-format #, python-format
@ -736,12 +796,6 @@ msgstr "<a href=\"%(user_url)s\">%(username)s</a>s Medien"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "❖ Medien von <a href=\"%(user_url)s\">%(username)s</a>" msgstr "❖ Medien von <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Bild für %(media_title)s"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "Einen Kommentar schreiben" msgstr "Einen Kommentar schreiben"
@ -768,32 +822,27 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Veröffentlicht am</h3>\n <p>%(date)s</p>" msgstr "<h3>Veröffentlicht am</h3>\n <p>%(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments" msgstr "Medien zu einem Album hinzufügen"
msgstr "Anhänge"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Anhang hinzufügen"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
#, python-format #, python-format
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr "%(title)s zur Sammlung hinzufügen"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr "+"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr "Eine neue Sammlung hinzufügen"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29
msgid "" msgid ""
"You can track the state of media being processed for your gallery here." "You can track the state of media being processed for your gallery here."
msgstr "Du kannst den Status der Medien, die sich gerade in Bearbeitung befinden, hier betrachten." msgstr "Du kannst hier den Status der Medien verfolgen, die sich gerade in Bearbeitung befinden."
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89
msgid "Your last 10 successful uploads" msgid "Your last 10 successful uploads"
@ -812,7 +861,7 @@ msgstr "Dieser Benutzer konnte leider nicht gefunden werden."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:50 #: mediagoblin/templates/mediagoblin/user_pages/user.html:50
#: mediagoblin/templates/mediagoblin/user_pages/user.html:70 #: mediagoblin/templates/mediagoblin/user_pages/user.html:70
msgid "Email verification needed" msgid "Email verification needed"
msgstr "E-Mail-Bestätigung benötigt" msgstr "E-Mail Aktivierung benötigt"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:53 #: mediagoblin/templates/mediagoblin/user_pages/user.html:53
msgid "Almost done! Your account still needs to be activated." msgid "Almost done! Your account still needs to be activated."
@ -821,15 +870,15 @@ msgstr "Fast fertig! Dein Konto muss noch freigeschaltet werden."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:58 #: mediagoblin/templates/mediagoblin/user_pages/user.html:58
msgid "" msgid ""
"An email should arrive in a few moments with instructions on how to do so." "An email should arrive in a few moments with instructions on how to do so."
msgstr "Gleich solltest du eine E-Mail erhalten, die dir erklärt, was du noch machen musst." msgstr "Gleich solltest du eine E-Mail erhalten, die beschreibt was noch zu tun bleibt."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 #: mediagoblin/templates/mediagoblin/user_pages/user.html:62
msgid "In case it doesn't:" msgid "In case it doesn't:"
msgstr "Wenn sie nicht ankommt:" msgstr "Falls sie nicht ankommt:"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:65 #: mediagoblin/templates/mediagoblin/user_pages/user.html:65
msgid "Resend verification email" msgid "Resend verification email"
msgstr "Bestätigungs-E-Mail erneut senden" msgstr "Aktivierungsmail erneut senden"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:73 #: mediagoblin/templates/mediagoblin/user_pages/user.html:73
msgid "" msgid ""
@ -842,11 +891,11 @@ msgstr "Jemand hat bereits ein Konto mit diesem Benutzernamen registriert, aber
msgid "" msgid ""
"If you are that person but you've lost your verification email, you can <a " "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." "href=\"%(login_url)s\">log in</a> and resend it."
msgstr "Wenn dir dieses Konto gehört und die Bestätigungsmail verloren gegangen ist, kannst du dich <a href=\"%(login_url)s\">anmelden</a> und sie erneut senden." msgstr "Wenn dir dieses Konto gehört und die Aktivierungsmail verloren gegangen ist, kannst du dich <a href=\"%(login_url)s\">anmelden</a> und sie erneut senden."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:96 #: mediagoblin/templates/mediagoblin/user_pages/user.html:96
msgid "Here's a spot to tell others about yourself." msgid "Here's a spot to tell others about yourself."
msgstr "Hier kannst du Anderen etwas über dich erzählen." msgstr "Hier kannst Du Dich selbst beschreiben."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:101 #: mediagoblin/templates/mediagoblin/user_pages/user.html:101
#: mediagoblin/templates/mediagoblin/user_pages/user.html:118 #: mediagoblin/templates/mediagoblin/user_pages/user.html:118
@ -857,47 +906,31 @@ msgstr "Profil bearbeiten"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Dieser Benutzer hat (noch) keine Daten in seinem Profil." msgstr "Dieser Benutzer hat (noch) keine Daten in seinem Profil."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Kontoeinstellungen ändern"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Alle Medien von %(username)s anschauen" msgstr "Alle Medien von %(username)s anschauen"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Hier erscheinen deine Medien, sobald du etwas hochgeladen hast." msgstr "Hier erscheinen deine Medien, sobald du etwas hochgeladen hast."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Medien hinzufügen" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Scheinbar gibt es hier noch nichts …" msgstr "Scheinbar gibt es hier noch nichts …"
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid "" msgstr "(entfernen)"
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
#, python-format #, python-format
msgid "In collections (%(collected)s)" msgid "In collections (%(collected)s)"
msgstr "" msgstr "In den Sammlungen (%(collected)s)"
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon" msgid "feed icon"
@ -911,7 +944,7 @@ msgstr "Atom-Feed"
msgid "Location" msgid "Location"
msgstr "Aufnahmeort" msgstr "Aufnahmeort"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "In <a href=\"%(osm_url)s\">OpenStreetMap</a> öffnen" msgstr "In <a href=\"%(osm_url)s\">OpenStreetMap</a> öffnen"
@ -950,94 +983,120 @@ msgstr "Schlagwörter"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "Die Bilddatei konnte nicht gelesen werden." msgstr "Die Bilddatei konnte nicht gelesen werden."
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Hoppla!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr "Ein Fehler trat auf"
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr "Funktion nicht erlaubt"
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr "So nicht!</p><p>Du wolltest eine Funktion verwenden zu der Du nicht die nötigen Rechte Rechte besitzt. Wolltest Du etwa schon wieder alle Nutzerkonten löschen?"
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr "Tut uns Leid, aber unter der angegebenen Adresse gibt es keine Seite!</p><p>Wenn du sicher bist, dass die Adresse stimmt, wurde die Seite eventuell verschoben oder gelöscht."
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Ja, wirklich löschen" msgstr "Ja, wirklich löschen"
#: mediagoblin/user_pages/forms.py:32 #: mediagoblin/user_pages/forms.py:32
msgid "I am sure I want to remove this item from the collection" msgid "I am sure I want to remove this item from the collection"
msgstr "" msgstr "Ich bin sicher, dass ich dieses Objekt aus der Sammlung entfernen möchte"
#: mediagoblin/user_pages/forms.py:35 #: mediagoblin/user_pages/forms.py:35
msgid "-- Select --" msgid "-- Select --"
msgstr "" msgstr "-- Auswählen --"
#: mediagoblin/user_pages/forms.py:37 #: mediagoblin/user_pages/forms.py:37
msgid "Include a note" msgid "Include a note"
msgstr "" msgstr "Notiz anfügen"
#: mediagoblin/user_pages/lib.py:56 #: mediagoblin/user_pages/lib.py:56
msgid "commented on your post" msgid "commented on your post"
msgstr "hat dein Medium kommentiert" msgstr "hat dein Medium kommentiert"
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Ohh, der Kommentar war leer." msgstr "Hoppla, der Kommentartext fehlte."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Dein Kommentar wurde gesendet!" msgstr "Dein Kommentar wurde angenommen!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr "Du musst eine Sammlung auswählen oder hinzufügen"
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr "\"%s\" ist bereits in der Sammlung \"%s\""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr "\"%s\" zur Sammlung \"%s\" hinzugefügt"
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr "Bitte prüfe deinen Einträge und versuche erneut."
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "Manche Dateien dieses Eintrags scheinen zu fehlen. Es wird trotzdem gelöscht." msgstr "Manche Dateien dieses Eintrags scheinen zu fehlen. Es wird trotzdem gelöscht."
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Du hast das Medium gelöscht." msgstr "Du hast das Medium gelöscht."
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "Das Medium wurde nicht gelöscht, da nicht angekreuzt hast, dass du es wirklich löschen möchtest." msgstr "Das Medium wurde nicht gelöscht, da nicht angekreuzt hast, dass du es wirklich löschen möchtest."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Du versuchst Medien eines anderen Nutzers zu löschen. Sei bitte vorsichtig." msgstr "Du versuchst Medien eines anderen Nutzers zu löschen. Sei bitte vorsichtig."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr "Du hast das Objekt aus der Sammlung gelöscht."
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr "Das Objekt wurde nicht aus der Sammlung entfernt, weil du nicht bestätigt hast, dass du dir sicher bist."
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr "Du bist dabei ein Objekt aus der Sammlung eines anderen Nutzers zu entfernen. Sei vorsichtig."
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr "Du hast die Sammlung \"%s\" gelöscht"
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr "Die Sammlung wurde nicht gelöscht, weil du nicht bestätigt hast, dass du dir sicher bist."
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr "Du bist dabei eine Sammlung eines anderen Nutzers zu entfernen. Sei vorsichtig."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 10:11-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -89,7 +89,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -100,7 +100,7 @@ msgid "Description of this work"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -117,11 +117,11 @@ msgstr ""
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "" msgstr ""
@ -160,20 +160,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -187,33 +187,38 @@ msgstr ""
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -230,7 +235,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -304,7 +309,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -329,62 +334,43 @@ msgstr ""
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -392,31 +378,56 @@ msgid ""
" href=\"%(source_link)s\">Source code</a> available." " href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, "
"an extraordinarily great piece of media hosting software." "an extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your" "To add your own media, place comments, and more, you can log in with your"
" MediaGoblin account." " MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an " "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an "
@ -427,17 +438,10 @@ msgid ""
"your own server</a>" "your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "Here you can track the state of media being processed on this instance." msgid "Here you can track the state of media being processed on this instance."
msgstr "" msgstr ""
@ -545,30 +549,43 @@ msgstr ""
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -594,13 +611,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -627,6 +643,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -651,7 +717,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -680,14 +746,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -695,7 +753,7 @@ msgid "Really delete %(title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -704,7 +762,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -731,12 +789,6 @@ msgstr ""
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -763,13 +815,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -777,11 +824,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -850,41 +897,25 @@ msgstr ""
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -904,7 +935,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -943,6 +974,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr ""
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're "
"sure the address is correct, maybe the page you're looking for has been "
"moved or deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "" msgstr ""
@ -963,74 +1020,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "Some of the files with this entry seem to be missing. Deleting anyway." msgid "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed " "You are about to delete an item from another user's collection. Proceed "
"with caution." "with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were " "The collection was not deleted because you didn't check that you were "
"sure." "sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "You are about to delete another user's collection. Proceed with caution." msgid "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

View File

@ -10,9 +10,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 11:41-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:27+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: aleksejrs <deletesoftware@yandex.ru>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -94,7 +94,7 @@ msgstr "Mi trovis neniun kun tiu salutnomo aŭ retpoŝtadreso."
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Nun vi povas ensaluti per via nova pasvorto." msgstr "Nun vi povas ensaluti per via nova pasvorto."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -105,7 +105,7 @@ msgid "Description of this work"
msgstr "Priskribo de ĉi tiu verko" msgstr "Priskribo de ĉi tiu verko"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -121,11 +121,11 @@ msgstr "Etikedoj"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "Dividu la etikedojn per komoj." msgstr "Dividu la etikedojn per komoj."
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "La distingiga adresparto" msgstr "La distingiga adresparto"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "La distingiga adresparto ne povas esti malplena" msgstr "La distingiga adresparto ne povas esti malplena"
@ -164,20 +164,20 @@ msgstr "Enigu vian malnovan pasvorton por pruvi, ke ĉi tiu konto estas via."
msgid "New password" msgid "New password"
msgstr "La nova pasvorto" msgstr "La nova pasvorto"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "Retpoŝtu min kiam aliaj komentas pri miaj alŝutaĵoj." msgstr "Retpoŝtu min kiam aliaj komentas pri miaj alŝutaĵoj."
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "Priskribo de ĉi tiu kolekto" msgstr "Priskribo de la kolekto"
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -191,34 +191,40 @@ msgstr "Ĉi tiu uzanto jam havas dosieron kun tiu distingiga adresparto."
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Vi priredaktas dosieron de alia uzanto. Agu singardeme." msgstr "Vi priredaktas dosieron de alia uzanto. Agu singardeme."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Vi redaktas profilon de alia uzanto. Agu singardeme." msgstr "Vi redaktas profilon de alia uzanto. Agu singardeme."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Profilŝanĝoj estis konservitaj" msgstr "Profilŝanĝoj estis konservitaj"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "Kontagordoj estis konservitaj" msgstr "Kontagordoj estis konservitaj"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Malĝusta pasvorto" msgstr "Malĝusta pasvorto"
#: mediagoblin/edit/views.py:287 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!title" msgid "You already have a collection called \"%s\"!"
msgstr "Vi jam havas kolekton kun la nomo «%s»!title" msgstr "Vi jam havas kolekton kun la nomo «%s»!"
#: mediagoblin/edit/views.py:290 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "Ĉi tiu uzanto jam havas kolekton kun tiu distingiga adresparto." msgstr "Ĉi tiu uzanto jam havas kolekton kun tiu distingiga adresparto."
#: mediagoblin/edit/views.py:307 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr "Vi redaktas kolekton de alia uzanto. Agu singardeme."
#: mediagoblin/gmg_commands/theme.py:58 #: mediagoblin/gmg_commands/theme.py:58
msgid "Cannot link theme... no theme set\n" msgid "Cannot link theme... no theme set\n"
@ -233,7 +239,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "Tamen trovitas — kaj forigitas — malnova simbola ligilo al dosierujo.\n" msgstr "Tamen trovitas — kaj forigitas — malnova simbola ligilo al dosierujo.\n"
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "Mi pardonpetas, mi ne subtenas tiun dosiertipon :(" msgstr "Mi pardonpetas, mi ne subtenas tiun dosiertipon :("
@ -303,7 +309,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -323,72 +329,48 @@ msgstr "Vi devas provizi dosieron."
msgid "Woohoo! Submitted!" msgid "Woohoo! Submitted!"
msgstr "Hura! Alŝutitas!" msgstr "Hura! Alŝutitas!"
#: mediagoblin/submit/views.py:211 mediagoblin/user_pages/views.py:215
#, python-format
msgid "You already have a collection called \"%s\"!"
msgstr ""
#: mediagoblin/submit/views.py:215 #: mediagoblin/submit/views.py:215
#, python-format #, python-format
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr "Kolekto «%s» aldonitas!"
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Bildo de 404-koboldo penŝvitanta."
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Oj!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Verŝajne ĉe ĉi tiu adreso ne estas paĝo. Ni bedaŭras!"
#: mediagoblin/templates/mediagoblin/404.html:28
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr "Se vi estas certa, ke la adreso estas ĝusta, eble la serĉata de vi paĝo estis movita aŭ forigita."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "Emblemo de MediaGoblin" msgstr "Emblemo de MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Aldoni dosieron"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Konfirmu viecon de la retpoŝtadreso!" msgstr "Konfirmu viecon de la retpoŝtadreso!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+ Aldoni dosieron"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Vidi vian profilon"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Elsaluti"
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Ensaluti" msgstr "Ensaluti"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "Funkcias per <a href=\"http://mediagoblin.org\">MediaGoblin</a>, unu el la <a href=\"http://gnu.org/\">projektoj de GNU</a>." msgstr "Funkcias per <a href=\"http://mediagoblin.org\">MediaGoblin</a>, unu el la <a href=\"http://gnu.org/\">projektoj de GNU</a>."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -396,31 +378,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Disponigita laŭ la permesilo <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. Haveblas<a href=\"%(source_link)s\">fontotekstaro</a>." msgstr "Disponigita laŭ la permesilo <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. Haveblas<a href=\"%(source_link)s\">fontotekstaro</a>."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr "Ŝanĝi kontagordojn"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Kontrolejo pri dosierpreparado."
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Ĉirkaŭrigardi" msgstr "Ĉirkaŭrigardi"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Saluton, kaj bonvenon al ĉi tiu MediaGoblina retpaĝaro!" msgstr "Saluton, kaj bonvenon al ĉi tiu MediaGoblina retpaĝaro!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "Ĉi tiu retpaĝaro funkcias per <a href=\"http://mediagoblin.org\">MediaGoblin</a>, eksterordinare bonega programaro por gastigado de aŭdviddosieroj." msgstr "Ĉi tiu retpaĝaro funkcias per <a href=\"http://mediagoblin.org\">MediaGoblin</a>, eksterordinare bonega programaro por gastigado de aŭdviddosieroj."
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "Por aldoni viajn proprajn dosierojn, afiŝi komentariojn ktp, vi povas ensaluti je via MediaGoblina konto." msgstr "Por aldoni viajn proprajn dosierojn, afiŝi komentariojn ktp, vi povas ensaluti je via MediaGoblina konto."
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "Ĉu vi ankoraŭ ne havas tian? Ne malĝoju!" msgstr "Ĉu vi ankoraŭ ne havas tian? Ne malĝoju!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -428,17 +435,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Kreu konton en ĉi tiu retejo</a>\n aŭ\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">ekfunkciigu MediaGoblinon en via propra servilo</a>" msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Kreu konton en ĉi tiu retejo</a>\n aŭ\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">ekfunkciigu MediaGoblinon en via propra servilo</a>"
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Laste aldonitaj dosieroj" msgstr "Laste aldonitaj dosieroj"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Kontrolejo pri dosierpreparado."
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -547,30 +547,43 @@ msgstr "Sal %(username)s,\n\npor aktivigi vian GNU MediaGoblin konton, malfermu
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "Aldoni kundosierojn por %(media_title)s" msgstr "Aldoni kundosierojn por %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr "Kundosieroj"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Aldoni kundosieron"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Nuligi"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Konservi ŝanĝojn"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Priredaktado de %(media_title)s" msgstr "Priredaktado de %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Nuligi"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Konservi ŝanĝojn"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "Ŝanĝado de kontagordoj de %(username)s" msgstr "Ŝanĝado de kontagordoj de %(username)s"
@ -596,13 +609,12 @@ msgstr "Dosieroj kun etikedo: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "Elŝuti" msgstr "Elŝuti"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Originalo" msgstr "Originalo"
@ -629,6 +641,56 @@ msgstr "originalan dosieron"
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "WebMan dosieron (kun Vorbisa kodaĵo)" msgstr "WebMan dosieron (kun Vorbisa kodaĵo)"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Bildo de «%(media_title)s»"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -649,11 +711,11 @@ msgstr "la WebM-dosieron (640p; VP8/Vorbis)"
#: mediagoblin/templates/mediagoblin/submit/collection.html:26 #: mediagoblin/templates/mediagoblin/submit/collection.html:26
msgid "Add a collection" msgid "Add a collection"
msgstr "" msgstr "Aldonado de kolekto"
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Aldoni" msgstr "Aldoni"
@ -665,12 +727,12 @@ msgstr "Aldono de via dosiero"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30
#, python-format #, python-format
msgid "%(collection_title)s (%(username)s's collection)" msgid "%(collection_title)s (%(username)s's collection)"
msgstr "" msgstr "%(collection_title)s (kolekto de %(username)s)"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:39
#, python-format #, python-format
msgid "%(collection_title)s by <a href=\"%(user_url)s\">%(username)s</a>" msgid "%(collection_title)s by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr "%(collection_title)s de <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media.html:87 #: mediagoblin/templates/mediagoblin/user_pages/media.html:87
@ -682,14 +744,6 @@ msgstr "Ŝanĝi"
msgid "Delete" msgid "Delete"
msgstr "Forigi" msgstr "Forigi"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -697,18 +751,18 @@ msgid "Really delete %(title)s?"
msgstr "Ĉu vere forigi %(title)s?" msgstr "Ĉu vere forigi %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Forigi senrevene" msgstr "Forigi senrevene"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31
#, python-format #, python-format
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr "Ĉu vere forigi %(media_title)s el %(collection_title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr "Forigi"
#: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 #: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19
#, python-format #, python-format
@ -732,12 +786,6 @@ msgstr "Dosieroj de <a href=\"%(user_url)s\">%(username)s</a>"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "❖ Просмотр файлов пользователя <a href=\"%(user_url)s\">%(username)s</a>" msgstr "❖ Просмотр файлов пользователя <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Bildo de «%(media_title)s»"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "Aldoni komenton" msgstr "Aldoni komenton"
@ -764,27 +812,22 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Aldonita je</h3>\n <p>la %(date)s</p>" msgstr "<h3>Aldonita je</h3>\n <p>la %(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments" msgstr ""
msgstr "Kundosieroj"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Aldoni kundosieron"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
#, python-format #, python-format
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr "Aldonado de %(title)s al kolekto"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr "Aldoni novan kolekton"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29
msgid "" msgid ""
@ -853,47 +896,31 @@ msgstr "Redakti profilon"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Ĉi tiu uzanto ne jam aldonis informojn pri si." msgstr "Ĉi tiu uzanto ne jam aldonis informojn pri si."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Ŝanĝi kontagordojn"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Rigardi ĉiujn dosierojn de %(username)s" msgstr "Rigardi ĉiujn dosierojn de %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Ĝuste ĉi tie aperos viaj dosieroj, sed vi ŝajne ankoraŭ nenion alŝutis." msgstr "Ĝuste ĉi tie aperos viaj dosieroj, sed vi ŝajne ankoraŭ nenion alŝutis."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Aldoni dosieron" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Ĉi tie ŝajne estas ankoraŭ neniuj dosieroj…" msgstr "Ĉi tie ŝajne estas ankoraŭ neniuj dosieroj…"
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
#, python-format #, python-format
msgid "In collections (%(collected)s)" msgid "In collections (%(collected)s)"
msgstr "" msgstr "En %(collected)s kolekto(j)"
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon" msgid "feed icon"
@ -907,7 +934,7 @@ msgstr "Atom-a informfluo"
msgid "Location" msgid "Location"
msgstr "Loko" msgstr "Loko"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "Vidi sur <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgstr "Vidi sur <a href=\"%(osm_url)s\">OpenStreetMap</a>"
@ -946,94 +973,120 @@ msgstr "Markita per"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "Malsukcesis lego de la bildodosiero" msgstr "Malsukcesis lego de la bildodosiero"
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Oj!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Jes, mi volas forigi ĉi tion." msgstr "Jes, mi volas forigi ĉi tion."
#: mediagoblin/user_pages/forms.py:32 #: mediagoblin/user_pages/forms.py:32
msgid "I am sure I want to remove this item from the collection" msgid "I am sure I want to remove this item from the collection"
msgstr "" msgstr "Jes, mi volas forigi ĉi tiun dosieron el la kolekto"
#: mediagoblin/user_pages/forms.py:35 #: mediagoblin/user_pages/forms.py:35
msgid "-- Select --" msgid "-- Select --"
msgstr "" msgstr "-- Elektu --"
#: mediagoblin/user_pages/forms.py:37 #: mediagoblin/user_pages/forms.py:37
msgid "Include a note" msgid "Include a note"
msgstr "" msgstr "Rimarko"
#: mediagoblin/user_pages/lib.py:56 #: mediagoblin/user_pages/lib.py:56
msgid "commented on your post" msgid "commented on your post"
msgstr "komentis je via afiŝo" msgstr "komentis je via afiŝo"
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Oj, via komento estis malplena." msgstr "Oj, via komento estis malplena."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Via komento estis afiŝita!" msgstr "Via komento estis afiŝita!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr "Necesas elekti aŭ aldoni kolekton"
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr "«%s» jam estas en la kolekto «%s»"
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr "«%s» estis aldonita al la kolekto «%s»"
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "Iuj dosieroj de ĉi tiu ero ŝajne mankas. Mi tamen forigas." msgstr "Iuj dosieroj de ĉi tiu ero ŝajne mankas. Mi tamen forigas."
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Vi forigis la dosieron." msgstr "Vi forigis la dosieron."
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "La dosiero ne estis forigita, ĉar vi ne konfirmis vian certecon per la markilo." msgstr "La dosiero ne estis forigita, ĉar vi ne konfirmis vian certecon per la markilo."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Vi estas forigonta dosieron de alia uzanto. Estu singardema." msgstr "Vi estas forigonta dosieron de alia uzanto. Estu singardema."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr "Vi forigis la dosieron el la kolekto."
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr "La dosiero ne estis forigita, ĉar vi ne konfirmis vian certecon per la markilo."
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr "Vi estas forigonta dosieron el kolekto de alia uzanto. Agu singardeme."
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr "Vi forigis la kolekton «%s»"
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr "La kolekto ne estis forigita, ĉar vi ne konfirmis vian certecon per la markilo."
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr "Vi estas forigonta kolekton de alia uzanto. Agu singardeme."

View File

@ -18,9 +18,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 11:41-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 17:10+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: Elesa <stardustprincess17@hotmail.com>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/mediagoblin/language/es/)\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/mediagoblin/language/es/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -102,7 +102,7 @@ msgstr "No se pudo encontrar a alguien con ese nombre de usuario o correo electr
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Ahora tu puedes entrar usando tu nueva contraseña." msgstr "Ahora tu puedes entrar usando tu nueva contraseña."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -113,7 +113,7 @@ msgid "Description of this work"
msgstr "Descripción de esta obra" msgstr "Descripción de esta obra"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -129,11 +129,11 @@ msgstr "Etiquetas"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "Separa las etiquetas por comas." msgstr "Separa las etiquetas por comas."
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Ficha" msgstr "Ficha"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "La ficha no puede estar vacía" msgstr "La ficha no puede estar vacía"
@ -172,20 +172,20 @@ msgstr "Escriba la anterior contraseña para demostrar que esta cuenta te perten
msgid "New password" msgid "New password"
msgstr "Nueva contraseña" msgstr "Nueva contraseña"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "Envíame un correo cuando otros escriban comentarios sobre mi contenido" msgstr "Envíame un correo cuando otros escriban comentarios sobre mi contenido"
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "El título no puede estar vacío" msgstr "El título no puede estar vacío"
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "Descripción de esta colección" msgstr "Descripción de esta colección"
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -199,32 +199,38 @@ msgstr "Una entrada con esa ficha ya existe para este usuario."
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Estás editando el contenido de otro usuario. Proceder con precaución." msgstr "Estás editando el contenido de otro usuario. Proceder con precaución."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr "¡Has añadido el adjunto %s!"
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Estás editando un perfil de usuario. Proceder con precaución." msgstr "Estás editando un perfil de usuario. Proceder con precaución."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Los cambios de perfil fueron salvados" msgstr "Los cambios de perfil fueron salvados"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "las configuraciones de cuenta fueron salvadas" msgstr "las configuraciones de cuenta fueron salvadas"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Contraseña incorrecta" msgstr "Contraseña incorrecta"
#: mediagoblin/edit/views.py:287 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!title" msgid "You already have a collection called \"%s\"!"
msgstr "Ya tienes una colección llamada \"%s\"!title" msgstr "¡Ya tienes una colección llamada \"%s\"!"
#: mediagoblin/edit/views.py:290 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "Una colección con esa ficha ya existe para este usuario/a." msgstr "Una colección con esa ficha ya existe para este usuario/a."
#: mediagoblin/edit/views.py:307 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "Estás editando la colección de otro usuario/a. Ten cuidado." msgstr "Estás editando la colección de otro usuario/a. Ten cuidado."
@ -241,7 +247,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "Sin embargo, se encontró un enlace simbólico de un directorio antiguo; ha sido borrado.\n" msgstr "Sin embargo, se encontró un enlace simbólico de un directorio antiguo; ha sido borrado.\n"
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "Lo sentidos, No soportamos ese tipo de archivo :(" msgstr "Lo sentidos, No soportamos ese tipo de archivo :("
@ -311,7 +317,7 @@ msgstr "La URI para redireccionar las aplicaciones, este campo es <strong>requer
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "Este campo es requerido para los clientes públicos" msgstr "Este campo es requerido para los clientes públicos"
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "¡El cliente {0} ha sido registrado!" msgstr "¡El cliente {0} ha sido registrado!"
@ -331,72 +337,48 @@ msgstr "Debes proporcionar un archivo."
msgid "Woohoo! Submitted!" msgid "Woohoo! Submitted!"
msgstr "¡Yujú! ¡Enviado!" msgstr "¡Yujú! ¡Enviado!"
#: mediagoblin/submit/views.py:211 mediagoblin/user_pages/views.py:215
#, python-format
msgid "You already have a collection called \"%s\"!"
msgstr "¡Ya tienes una colección llamada \"%s\"!"
#: mediagoblin/submit/views.py:215 #: mediagoblin/submit/views.py:215
#, python-format #, python-format
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "¡Colección \"%s\" añadida!" msgstr "¡Colección \"%s\" añadida!"
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Imagen de 404 goblin estresándose"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "¡Ups!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Parece no haber una página en esta dirección. ¡Lo sentimos!"
#: mediagoblin/templates/mediagoblin/404.html:28
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr "Si estás seguro que la dirección es correcta, puede ser que la pagina haya sido movida o borrada."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "Logo de MediaGoblin" msgstr "Logo de MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr "Cuenta de <a href=\"%(user_url)s\">%(user_name)s</a>"
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr "cerrar sesión"
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Añadir contenido"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "¡Verifica tu email!" msgstr "¡Verifica tu email!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+Agregar contenido"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr "+ Añadir colección"
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Ver tu perfil"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Salir "
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Conectarse" msgstr "Conectarse"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "Proveído por <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un proyecto <a href=\"http://gnu.org/\">GNU</a>." msgstr "Proveído por <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un proyecto <a href=\"http://gnu.org/\">GNU</a>."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -404,31 +386,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Publicado bajo la <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. <a href=\"%(source_link)s\"> Código fuente</a> disponible." msgstr "Publicado bajo la <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. <a href=\"%(source_link)s\"> Código fuente</a> disponible."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr "Imagen de un goblin estresándose"
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr "Acciones"
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr "Crear nueva colección"
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr "Cambiar la configuración de la cuenta"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Panel de procesamiento de contenido"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Explorar" msgstr "Explorar"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Hola, ¡bienvenido a este sitio de MediaGoblin!" msgstr "Hola, ¡bienvenido a este sitio de MediaGoblin!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "Este sitio está montado con <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un extraordinario programa libre para alojar, gestionar y compartir contenido multimedia." msgstr "Este sitio está montado con <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un extraordinario programa libre para alojar, gestionar y compartir contenido multimedia."
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "Para añadir tus propios contenidos, dejar comentarios y más, puedes iniciar sesión con tu cuenta de MediaGoblin." msgstr "Para añadir tus propios contenidos, dejar comentarios y más, puedes iniciar sesión con tu cuenta de MediaGoblin."
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "¿Aún no tienes una? ¡Es fácil!" msgstr "¿Aún no tienes una? ¡Es fácil!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -436,17 +443,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Crea una cuenta en este sitio</a>\n o\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Instala Mediagoblin en tu propio servidor</a>" msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Crea una cuenta en este sitio</a>\n o\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Instala Mediagoblin en tu propio servidor</a>"
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "El contenido más reciente" msgstr "El contenido más reciente"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Panel de procesamiento de contenido"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -555,30 +555,43 @@ msgstr "Hola %(username)s,\n\npara activar tu cuenta de GNU MediaGoblin, abre la
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "Editando archivos adjuntos a %(media_title)s" msgstr "Editando archivos adjuntos a %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr "Adjuntos"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Agregar adjunto"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Cancelar"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Guardar cambios"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Editando %(media_title)s " msgstr "Editando %(media_title)s "
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Cancelar"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Guardar cambios"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "Cambio de %(username)s la configuración de la cuenta " msgstr "Cambio de %(username)s la configuración de la cuenta "
@ -604,13 +617,12 @@ msgstr "Contenido etiquetado con: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "Descargar" msgstr "Descargar"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Original" msgstr "Original"
@ -637,6 +649,56 @@ msgstr "Archivo original"
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "Archivo WebM (códec Vorbis)" msgstr "Archivo WebM (códec Vorbis)"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Imágenes para %(media_title)s"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr "Alternar Rotar"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr "Perspectiva"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr "Frente"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr "Arriba"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr "Lateral"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr "WebGL"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr "Descargar modelo"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr "Formato de Archivo"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr "Altura del Objeto"
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -661,7 +723,7 @@ msgstr "Añadir una colección"
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Añadir " msgstr "Añadir "
@ -690,14 +752,6 @@ msgstr "Editar"
msgid "Delete" msgid "Delete"
msgstr "Borrar" msgstr "Borrar"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr "<p>\n%(collection_description)s\n</p>"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -705,7 +759,7 @@ msgid "Really delete %(title)s?"
msgstr "¿Realmente deseas eliminar %(title)s?" msgstr "¿Realmente deseas eliminar %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Eliminar permanentemente" msgstr "Eliminar permanentemente"
@ -714,7 +768,7 @@ msgstr "Eliminar permanentemente"
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "¿Realmente quieres quitar %(media_title)s de %(collection_title)s?" msgstr "¿Realmente quieres quitar %(media_title)s de %(collection_title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "Quitar" msgstr "Quitar"
@ -740,12 +794,6 @@ msgstr "Contenido de <a href=\"%(user_url)s\">%(username)s</a>'s"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "❖ Explorando contenido de <a href=\"%(user_url)s\">%(username)s</a>" msgstr "❖ Explorando contenido de <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Imágenes para %(media_title)s"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "Añadir un comentario" msgstr "Añadir un comentario"
@ -772,25 +820,20 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Añadido en</h3>\n <p>%(date)s</p>" msgstr "<h3>Añadido en</h3>\n <p>%(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments" msgstr "Añadir contenido a la colección"
msgstr "Adjuntos"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Agregar adjunto"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
#, python-format #, python-format
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "Añadir %(title)s a la colección" msgstr "Añadir %(title)s a la colección"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "+" msgstr "+"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "Añadir una nueva colección" msgstr "Añadir una nueva colección"
@ -861,42 +904,26 @@ msgstr "Editar perfil"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Este usuario (todavía) no ha completado su perfil." msgstr "Este usuario (todavía) no ha completado su perfil."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Cambiar la configuración de la cuenta"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Ver todo el contenido de %(username)s" msgstr "Ver todo el contenido de %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Aquí es donde estará ubicado tu contenido, pero parece que aún no has agregado nada." msgstr "Aquí es donde estará ubicado tu contenido, pero parece que aún no has agregado nada."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Añadir contenido" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Parece que aún no hay ningún contenido aquí..." msgstr "Parece que aún no hay ningún contenido aquí..."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid "" msgstr "(borrar)"
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr "<br />⏎ <a href=\"%(entry_url)s\">%(note)s</a>"
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
#, python-format #, python-format
@ -915,7 +942,7 @@ msgstr "Atom feed"
msgid "Location" msgid "Location"
msgstr "Locación" msgstr "Locación"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "Ver en <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgstr "Ver en <a href=\"%(osm_url)s\">OpenStreetMap</a>"
@ -954,6 +981,32 @@ msgstr "Marcado con"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "No se pudo leer el archivo de imagen." msgstr "No se pudo leer el archivo de imagen."
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "¡Ups!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr "Ha ocurrido un error"
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr "Operación no permitida"
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr "¡Lo siento Dave, no puedo permitir que hagas eso!</p><p>Has intentado realizar una operación no permitida. ¿Has vuelto a intentar borrar todas las cuentas de usuario?"
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr "Parece que no hay ninguna página en esta dirección. ¡Lo siento!</p><p>Si estás seguro de que la dirección es correcta, quizá han borrado o movido la página que estás buscando."
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Estoy seguro de que quiero borrar esto" msgstr "Estoy seguro de que quiero borrar esto"
@ -974,74 +1027,74 @@ msgstr "Incluir una nota"
msgid "commented on your post" msgid "commented on your post"
msgstr "comentó tu publicación" msgstr "comentó tu publicación"
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Ups, tu comentario estaba vacío." msgstr "Ups, tu comentario estaba vacío."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "¡Tu comentario ha sido publicado!" msgstr "¡Tu comentario ha sido publicado!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "Tienes que seleccionar o añadir una colección" msgstr "Tienes que seleccionar o añadir una colección"
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "%s\" ya está en la colección \"%s\"" msgstr "%s\" ya está en la colección \"%s\""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "\"%s\" añadido a la colección \"%s\"" msgstr "\"%s\" añadido a la colección \"%s\""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "Por favor, revisa tus entradas e inténtalo de nuevo." msgstr "Por favor, revisa tus entradas e inténtalo de nuevo."
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "Al parecer algunos de los ficheros en esta entrada se han perdido. Borrando igualmente." msgstr "Al parecer algunos de los ficheros en esta entrada se han perdido. Borrando igualmente."
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Eliminaste el contenido" msgstr "Eliminaste el contenido"
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "El contenido no se eliminó porque no marcaste que estabas seguro." msgstr "El contenido no se eliminó porque no marcaste que estabas seguro."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." 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 precaución." msgstr "Estás a punto de eliminar un contenido de otro usuario. Proceder con precaución."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "Borraste el ítem de la colección." msgstr "Borraste el ítem de la colección."
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "El ítem no fue removido porque no confirmaste que estuvieras seguro/a." msgstr "El ítem no fue removido porque no confirmaste que estuvieras seguro/a."
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "Estás a punto de borrar un ítem de la colección de otro usuario. Procede con cuidado." msgstr "Estás a punto de borrar un ítem de la colección de otro usuario. Procede con cuidado."
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "Borraste la colección \"%s\"" msgstr "Borraste la colección \"%s\""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "La colección no fue borrada porque no confirmaste que estuvieras seguro/a." msgstr "La colección no fue borrada porque no confirmaste que estuvieras seguro/a."
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "Estás a punto de borrar la colección de otro usuario. Procede con cuidado." msgstr "Estás a punto de borrar la colección de otro usuario. Procede con cuidado."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -92,7 +92,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -103,7 +103,7 @@ msgid "Description of this work"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -119,11 +119,11 @@ msgstr "برچسب"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "" msgstr ""
@ -162,20 +162,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -189,33 +189,38 @@ msgstr ""
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "شما در حال ویرایش رسانه کاربر دیگری هستید.با احتیاط عمل کنید" msgstr "شما در حال ویرایش رسانه کاربر دیگری هستید.با احتیاط عمل کنید"
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "شما در حال ویرایش نمایه کاربر دیگری هستید.با احتیاط عمل کنید." msgstr "شما در حال ویرایش نمایه کاربر دیگری هستید.با احتیاط عمل کنید."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -232,7 +237,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -302,7 +307,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -327,62 +332,43 @@ msgstr "هورا!ثبت شد!"
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "اوه"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "متاسفانه به نظر نمی رسد که چنین صفحه ای در این آدرس وجود داشته باشد!"
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "لوگو مدیاگوبلین" msgstr "لوگو مدیاگوبلین"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "ورود" msgstr "ورود"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -390,31 +376,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "پنل رسیدگی به رسانه ها"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -422,17 +433,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "پنل رسیدگی به رسانه ها"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -541,30 +545,43 @@ msgstr "سلام %(username)s,\n\nبرای فعال سازی شناسه کارب
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "انصراف"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "ذخیره تغییرات"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "ویرایش %(media_title)s" msgstr "ویرایش %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "انصراف"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "ذخیره تغییرات"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -590,13 +607,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -623,6 +639,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -647,7 +713,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -676,14 +742,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -691,7 +749,7 @@ msgid "Really delete %(title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -700,7 +758,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -726,12 +784,6 @@ msgstr "<a href=\"%(user_url)s\">%(username)s</a>'s رسانه های"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -758,13 +810,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -772,11 +819,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -847,41 +894,25 @@ msgstr "ویرایش نمایه"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "نمایش تمامی رسانه های %(username)s" msgstr "نمایش تمامی رسانه های %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -901,7 +932,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -940,6 +971,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "اوه"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "" msgstr ""
@ -960,74 +1017,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -9,8 +9,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -93,7 +93,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -104,7 +104,7 @@ msgid "Description of this work"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -120,11 +120,11 @@ msgstr "Etiquettas"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "" msgstr ""
@ -163,20 +163,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -190,33 +190,38 @@ msgstr ""
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -233,7 +238,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -303,7 +308,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -328,62 +333,43 @@ msgstr ""
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Initiar session" msgstr "Initiar session"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -391,31 +377,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -423,17 +434,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -542,30 +546,43 @@ msgstr ""
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Cancellar"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Cancellar"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -591,13 +608,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -624,6 +640,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -648,7 +714,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -677,14 +743,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -692,7 +750,7 @@ msgid "Really delete %(title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -701,7 +759,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -727,12 +785,6 @@ msgstr ""
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -759,13 +811,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -773,11 +820,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -848,41 +895,25 @@ msgstr ""
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -902,7 +933,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -941,6 +972,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr ""
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "" msgstr ""
@ -961,74 +1018,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -11,8 +11,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -95,7 +95,7 @@ msgstr "Impossibile trovare qualcuno con questo nome utente o password."
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Ora puoi effettuare l'accesso con la nuova password." msgstr "Ora puoi effettuare l'accesso con la nuova password."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -106,7 +106,7 @@ msgid "Description of this work"
msgstr "Descrizione di questo lavoro" msgstr "Descrizione di questo lavoro"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -122,11 +122,11 @@ msgstr "Tags"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "Separa le tags con la virgola." msgstr "Separa le tags con la virgola."
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "" msgstr ""
@ -165,20 +165,20 @@ msgstr "Inserisci la vecchia password per dimostrare di essere il proprietario d
msgid "New password" msgid "New password"
msgstr "Nuova password" msgstr "Nuova password"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "Inviami messaggi email quando altre persone commentano i miei files multimediali" msgstr "Inviami messaggi email quando altre persone commentano i miei files multimediali"
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -192,33 +192,38 @@ msgstr ""
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Stai modificando files multimediali di un altro utente. Procedi con attenzione." msgstr "Stai modificando files multimediali di un altro utente. Procedi con attenzione."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Stai modificando il profilo di un utente. Procedi con attenzione." msgstr "Stai modificando il profilo di un utente. Procedi con attenzione."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Cambiamenti del profilo salvati" msgstr "Cambiamenti del profilo salvati"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "Impostazioni del profilo salvate" msgstr "Impostazioni del profilo salvate"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Password errata" msgstr "Password errata"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -235,7 +240,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "Mi dispiace, non supporto questo tipo di file :(" msgstr "Mi dispiace, non supporto questo tipo di file :("
@ -305,7 +310,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -330,62 +335,43 @@ msgstr "Evviva! Caricato!"
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Immagine di 404 folletti che stressano"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Oops!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Non sembra esserci una pagina a questo indirizzo. Spiacente!"
#: mediagoblin/templates/mediagoblin/404.html:28
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr "Se sei sicuro che l'indirizzo è corretto, forse la pagina che stai cercando è stata spostata o cancellata."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "Simbolo di MediaGoblin" msgstr "Simbolo di MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Aggiungi files multimediali"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Verifica la tua email!" msgstr "Verifica la tua email!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+ Aggiungi files multimediali"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Vedi il tuo profilo"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Esci"
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Accedi" msgstr "Accedi"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "Realizzato con <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un progetto <a href=\"http://gnu.org/\">GNU</a>." msgstr "Realizzato con <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un progetto <a href=\"http://gnu.org/\">GNU</a>."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -393,31 +379,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Rilasciato con licenza <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. <a href=\"%(source_link)s\">Codice sorgente</a> disponibile." msgstr "Rilasciato con licenza <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. <a href=\"%(source_link)s\">Codice sorgente</a> disponibile."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr "Cambia le impostazioni dell'account"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Pannello di elaborazione files multimediali"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Esplora" msgstr "Esplora"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Ciao, benvenuto in questo sito MediaGoblin!" msgstr "Ciao, benvenuto in questo sito MediaGoblin!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "Questo sito sta utilizzando <a href=\"http://mediagoblin.org\">Mediagoblin</a>, un ottimo programma per caricare e condividere files multimediali." msgstr "Questo sito sta utilizzando <a href=\"http://mediagoblin.org\">Mediagoblin</a>, un ottimo programma per caricare e condividere files multimediali."
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "Per aggiungere i tuoi file multimediali, scrivere commenti e altro puoi accedere con il tuo account MediaGoblin." msgstr "Per aggiungere i tuoi file multimediali, scrivere commenti e altro puoi accedere con il tuo account MediaGoblin."
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "Non ne hai già uno? E' semplice!" msgstr "Non ne hai già uno? E' semplice!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -425,17 +436,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Crea un account in questo sito</a>\n oppure\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Installa MediaGoblin sul tuo server</a>" msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Crea un account in questo sito</a>\n oppure\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Installa MediaGoblin sul tuo server</a>"
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Files multimediali più recenti" msgstr "Files multimediali più recenti"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Pannello di elaborazione files multimediali"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -544,30 +548,43 @@ msgstr "Ciao %(username)s,\n\nper attivare il tuo account GNU MediaGoblin, apri
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "Stai modificando gli allegati di %(media_title)s" msgstr "Stai modificando gli allegati di %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr "Allegati"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Aggiungi allegato"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Annulla"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Salva i cambiamenti"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Stai modificando %(media_title)s" msgstr "Stai modificando %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Annulla"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Salva i cambiamenti"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "Stai cambiando le impostazioni dell'account di %(username)s" msgstr "Stai cambiando le impostazioni dell'account di %(username)s"
@ -593,13 +610,12 @@ msgstr "File taggato con: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "Scarica" msgstr "Scarica"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Originale" msgstr "Originale"
@ -626,6 +642,56 @@ msgstr "File originario"
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "File WebM (codec Vorbis)" msgstr "File WebM (codec Vorbis)"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -650,7 +716,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Aggiungi" msgstr "Aggiungi"
@ -679,14 +745,6 @@ msgstr "Modifica"
msgid "Delete" msgid "Delete"
msgstr "Elimina" msgstr "Elimina"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -694,7 +752,7 @@ msgid "Really delete %(title)s?"
msgstr "Vuoi davvero eliminare %(title)s?" msgstr "Vuoi davvero eliminare %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Elimina definitivamente" msgstr "Elimina definitivamente"
@ -703,7 +761,7 @@ msgstr "Elimina definitivamente"
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -729,12 +787,6 @@ msgstr "Files multimediali di <a href=\"%(user_url)s\">%(username)s</a>"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "❖ Stai guardando i files multimediali di <a href=\"%(user_url)s\">%(username)s</a>" msgstr "❖ Stai guardando i files multimediali di <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "Aggiungi un commento" msgstr "Aggiungi un commento"
@ -761,25 +813,20 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Aggiunto il</h3>\n <p>%(date)s</p>" msgstr "<h3>Aggiunto il</h3>\n <p>%(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments" msgstr ""
msgstr "Allegati"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Aggiungi allegato"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
#, python-format #, python-format
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -850,41 +897,25 @@ msgstr "Modifica profilo"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Questo utente non ha (ancora) compilato il proprio profilo." msgstr "Questo utente non ha (ancora) compilato il proprio profilo."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Cambia le impostazioni dell'account"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Visualizza tutti i files multimediali di %(username)s" msgstr "Visualizza tutti i files multimediali di %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Qui è dove appariranno i tuoi files multimediali, ma sembra che tu non abbia ancora aggiunto niente." msgstr "Qui è dove appariranno i tuoi files multimediali, ma sembra che tu non abbia ancora aggiunto niente."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Aggiungi files multimediali" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Sembra che non ci sia ancora nessun file multimediale qui..." msgstr "Sembra che non ci sia ancora nessun file multimediale qui..."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -904,7 +935,7 @@ msgstr "Atom feed"
msgid "Location" msgid "Location"
msgstr "Posizione" msgstr "Posizione"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "Visualizza su <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgstr "Visualizza su <a href=\"%(osm_url)s\">OpenStreetMap</a>"
@ -943,6 +974,32 @@ msgstr "Taggato con"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "Impossibile leggere il file immagine." msgstr "Impossibile leggere il file immagine."
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Oops!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Sono sicuro di volerlo eliminare" msgstr "Sono sicuro di volerlo eliminare"
@ -963,74 +1020,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "ha commentato il tuo post" msgstr "ha commentato il tuo post"
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Oops, il tuo commento era vuoto." msgstr "Oops, il tuo commento era vuoto."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Il tuo commento è stato aggiunto!" msgstr "Il tuo commento è stato aggiunto!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Hai eliminato il file." msgstr "Hai eliminato il file."
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "Il file non è stato eliminato perchè non hai confermato di essere sicuro." msgstr "Il file non è stato eliminato perchè non hai confermato di essere sicuro."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Stai eliminando un file multimediale di un altro utente. Procedi con attenzione." msgstr "Stai eliminando un file multimediale di un altro utente. Procedi con attenzione."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

View File

@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -92,7 +92,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -103,7 +103,7 @@ msgid "Description of this work"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -119,11 +119,11 @@ msgstr "タグ"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "スラグ" msgstr "スラグ"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "スラグは必要です。" msgstr "スラグは必要です。"
@ -162,20 +162,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -189,33 +189,38 @@ msgstr "そのスラグを持つエントリは、このユーザーは既に存
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "あなたは、他のユーザーのメディアを編集しています。ご注意ください。" msgstr "あなたは、他のユーザーのメディアを編集しています。ご注意ください。"
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "あなたは、他のユーザーのプロファイルを編集しています。ご注意ください。" msgstr "あなたは、他のユーザーのプロファイルを編集しています。ご注意ください。"
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -232,7 +237,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -302,7 +307,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -327,62 +332,43 @@ msgstr "投稿終了!"
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "ログイン" msgstr "ログイン"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -390,31 +376,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -422,17 +433,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -541,30 +545,43 @@ msgstr "%(username)s様へ\n\nGNU MediaGoblinアカウントを検証にする
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "キャンセル"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "投稿する"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "%(media_title)sを編集中" msgstr "%(media_title)sを編集中"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "キャンセル"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "投稿する"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -590,13 +607,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -623,6 +639,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -647,7 +713,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -676,14 +742,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -691,7 +749,7 @@ msgid "Really delete %(title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -700,7 +758,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -726,12 +784,6 @@ msgstr "<a href=\"%(user_url)s\">%(username)s</a>さんのコンテンツ"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -758,13 +810,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -772,11 +819,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -847,41 +894,25 @@ msgstr "プロフィールを編集"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "%(username)sさんのコンテンツをすべて見る" msgstr "%(username)sさんのコンテンツをすべて見る"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -901,7 +932,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -940,6 +971,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr ""
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "" msgstr ""
@ -960,74 +1017,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -9,8 +9,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -93,7 +93,7 @@ msgstr "Kon niemand vinden met die gebruikersnaam of dat e-mailadres."
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Je kunt nu inloggen met je nieuwe wachtwoord." msgstr "Je kunt nu inloggen met je nieuwe wachtwoord."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -104,7 +104,7 @@ msgid "Description of this work"
msgstr "Beschrijving van dit werk" msgstr "Beschrijving van dit werk"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -120,11 +120,11 @@ msgstr "Etiket"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "Hou labels gescheiden met komma's." msgstr "Hou labels gescheiden met komma's."
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Slug" msgstr "Slug"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "De slug kan niet leeg zijn" msgstr "De slug kan niet leeg zijn"
@ -163,20 +163,20 @@ msgstr "Vul je oude wachtwoord in om te bewijzen dat dit jouw account is"
msgid "New password" msgid "New password"
msgstr "Nieuw wachtwoord" msgstr "Nieuw wachtwoord"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -190,33 +190,38 @@ msgstr "Er bestaat al een met die slug voor deze gebruiker."
msgid "You are editing another user's media. Proceed with caution." 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." msgstr "U bent de media van een andere gebruiker aan het aanpassen. Ga voorzichtig te werk."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "U bent een gebruikersprofiel aan het aanpassen. Ga voorzichtig te werk." msgstr "U bent een gebruikersprofiel aan het aanpassen. Ga voorzichtig te werk."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Profielaanpassingen opgeslagen" msgstr "Profielaanpassingen opgeslagen"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "Accountinstellingen opgeslagen" msgstr "Accountinstellingen opgeslagen"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Verkeerd wachtwoord" msgstr "Verkeerd wachtwoord"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -233,7 +238,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "Sorry, dat bestandstype wordt niet ondersteunt." msgstr "Sorry, dat bestandstype wordt niet ondersteunt."
@ -303,7 +308,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -328,62 +333,43 @@ msgstr "Mooizo! Toegevoegd!"
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Afbeelding van de 404 goblin onder stress"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Oeps!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Het lijkt erop dat er geen pagina bestaat op dit adres. Sorry!"
#: mediagoblin/templates/mediagoblin/404.html:28
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr "Als je zeker weet dat het adres klopt is de pagina misschien verplaatst of verwijderd."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "MediaGoblin logo" msgstr "MediaGoblin logo"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Voeg media toe"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Verifieer je e-mailadres!" msgstr "Verifieer je e-mailadres!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+ Media toevoegen"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Profiel weergeven"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Afmelden"
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Inloggen" msgstr "Inloggen"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "Hier draait <a href=\"http://mediagoblin.org\">MediaGoblin</a>, een <a href=\"http://gnu.org/\">GNU</a> project." msgstr "Hier draait <a href=\"http://mediagoblin.org\">MediaGoblin</a>, een <a href=\"http://gnu.org/\">GNU</a> project."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -391,31 +377,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Uitgegeven onder de <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>-licentie. <a href=\"%(source_link)s\">Broncode</a> available." msgstr "Uitgegeven onder de <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>-licentie. <a href=\"%(source_link)s\">Broncode</a> available."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr "Accountinstellingen aanpassen"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Mediaverwerkingspaneel"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Verkennen" msgstr "Verkennen"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Hoi, welkom op deze MediaGoblin website!" msgstr "Hoi, welkom op deze MediaGoblin website!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "Deze website draait <a href=\"http://mediagoblin.org\">MediaGoblin</a>, een buitengewoon goed stuk software voor mediahosting." msgstr "Deze website draait <a href=\"http://mediagoblin.org\">MediaGoblin</a>, een buitengewoon goed stuk software voor mediahosting."
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "Heb je er nog geen? Het is heel eenvoudig!" msgstr "Heb je er nog geen? Het is heel eenvoudig!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -423,17 +434,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "&lt;a class=\"button_action_highlight\" href=\"%(register_url)s\"&gt;Creëer een account op deze website&lt;/a&gt;\n of\n &lt;a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\"&gt;Gebruik MediaGoblin op je eigen server&lt;/a&gt;" msgstr "&lt;a class=\"button_action_highlight\" href=\"%(register_url)s\"&gt;Creëer een account op deze website&lt;/a&gt;\n of\n &lt;a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\"&gt;Gebruik MediaGoblin op je eigen server&lt;/a&gt;"
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Nieuwste media" msgstr "Nieuwste media"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Mediaverwerkingspaneel"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -542,30 +546,43 @@ msgstr "Hallo %(username)s , open de volgende URL in uw webbrowser om uw GNU Med
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Annuleren"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Wijzigingen opslaan"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "%(media_title)s aanpassen" msgstr "%(media_title)s aanpassen"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Annuleren"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Wijzigingen opslaan"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "%(username)ss accountinstellingen aanpassen" msgstr "%(username)ss accountinstellingen aanpassen"
@ -591,13 +608,12 @@ msgstr "Media met het label: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Origineel" msgstr "Origineel"
@ -624,6 +640,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Afbeelding voor %(media_title)s"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -648,7 +714,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Voeg toe" msgstr "Voeg toe"
@ -677,14 +743,6 @@ msgstr "Pas aan"
msgid "Delete" msgid "Delete"
msgstr "Verwijderen" msgstr "Verwijderen"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -692,7 +750,7 @@ msgid "Really delete %(title)s?"
msgstr "Zeker weten dat je %(title)s wil verwijderen?" msgstr "Zeker weten dat je %(title)s wil verwijderen?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Permanent verwijderen" msgstr "Permanent verwijderen"
@ -701,7 +759,7 @@ msgstr "Permanent verwijderen"
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -727,12 +785,6 @@ msgstr "Media van <a href=\"%(user_url)s\"> %(username)s </a>"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "❖ Blader door media van <a href=\"%(user_url)s\">%(username)s</a>" msgstr "❖ Blader door media van <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Afbeelding voor %(media_title)s"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "Geef een reactie" msgstr "Geef een reactie"
@ -759,13 +811,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Toegevoegd op</h3>\n <p>%(date)s</p>" msgstr "<h3>Toegevoegd op</h3>\n <p>%(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -773,11 +820,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -848,41 +895,25 @@ msgstr "Profiel aanpassen."
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Deze gebruiker heeft zijn of haar profiel (nog) niet ingevuld." msgstr "Deze gebruiker heeft zijn of haar profiel (nog) niet ingevuld."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Accountinstellingen aanpassen"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Bekijk alle media van %(username)s" msgstr "Bekijk alle media van %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Dit is waar je nieuwe media zal verschijnen, maar het lijkt erop dat je nog niets heb toegevoegd." msgstr "Dit is waar je nieuwe media zal verschijnen, maar het lijkt erop dat je nog niets heb toegevoegd."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Voeg media toe" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Het lijkt erop dat er nog geen media is." msgstr "Het lijkt erop dat er nog geen media is."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -902,7 +933,7 @@ msgstr "Atom feed"
msgid "Location" msgid "Location"
msgstr "Locatie" msgstr "Locatie"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "Bekijken op <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgstr "Bekijken op <a href=\"%(osm_url)s\">OpenStreetMap</a>"
@ -941,6 +972,32 @@ msgstr "Getagged met"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "Kon het afbeeldingsbestand niet lezen." msgstr "Kon het afbeeldingsbestand niet lezen."
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Oeps!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Ik weet zeker dat ik dit wil verwijderen." msgstr "Ik weet zeker dat ik dit wil verwijderen."
@ -961,74 +1018,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Oeps, je bericht was leeg." msgstr "Oeps, je bericht was leeg."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Je bericht is geplaatst!" msgstr "Je bericht is geplaatst!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Je hebt deze media verwijderd." msgstr "Je hebt deze media verwijderd."
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "Deze media was niet verwijderd omdat je niet hebt aangegeven dat je het zeker weet." msgstr "Deze media was niet verwijderd omdat je niet hebt aangegeven dat je het zeker weet."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Je staat op het punt de media van iemand anders te verwijderen. Pas op." msgstr "Je staat op het punt de media van iemand anders te verwijderen. Pas op."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

View File

@ -3,14 +3,14 @@
# This file is distributed under the same license as the PROJECT project. # This file is distributed under the same license as the PROJECT project.
# #
# Translators: # Translators:
# <odin.omdal@gmail.com>, 2011, 2012. # <odin.omdal@gmail.com>, 2011-2012.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 16:04+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: velmont <odin.omdal@gmail.com>\n"
"Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/mediagoblin/language/nn_NO/)\n" "Language-Team: Norwegian Nynorsk (Norway) (http://www.transifex.com/projects/p/mediagoblin/language/nn_NO/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -92,7 +92,7 @@ msgstr "Fann ingen med det brukarnamnet eller passordet."
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Du kan no logga inn med det nye passordet ditt." msgstr "Du kan no logga inn med det nye passordet ditt."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -100,10 +100,10 @@ msgstr "Tittel"
#: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31 #: mediagoblin/edit/forms.py:28 mediagoblin/submit/forms.py:31
msgid "Description of this work" msgid "Description of this work"
msgstr "Skildring av mediefila" msgstr "Skildring av verk"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -119,11 +119,11 @@ msgstr "Merkelappar"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "Separer merkelappar med komma." msgstr "Separer merkelappar med komma."
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Nettnamn" msgstr "Nettnamn"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "Nettnamnet kan ikkje vera tomt" msgstr "Nettnamnet kan ikkje vera tomt"
@ -131,7 +131,7 @@ msgstr "Nettnamnet kan ikkje vera tomt"
msgid "" msgid ""
"The title part of this media's address. You usually don't need to change " "The title part of this media's address. You usually don't need to change "
"this." "this."
msgstr "Nettnamnet (adressetittel) for mediefila di. Trengst ikkje endrast." msgstr "Nettnamnet (adressetittel) for verket di. Trengst ikkje endrast."
#: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41 #: mediagoblin/edit/forms.py:44 mediagoblin/submit/forms.py:41
#: mediagoblin/templates/mediagoblin/utils/license.html:20 #: mediagoblin/templates/mediagoblin/utils/license.html:20
@ -162,24 +162,24 @@ msgstr "Skriv inn det gamle passordet ditt for å stadfesta at du eig denne kont
msgid "New password" msgid "New password"
msgstr "Nytt passord" msgstr "Nytt passord"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr "Send meg epost når andre kjem med innspel på verka mine."
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr "Tittelen kjan ikkje vera tom"
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr "Forklaringa til denne samlinga"
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
msgstr "" msgstr "Tittel-delen av denne samlinga si adresse. Du treng normalt sett ikkje endra denne."
#: mediagoblin/edit/views.py:65 #: mediagoblin/edit/views.py:65
msgid "An entry with that slug already exists for this user." msgid "An entry with that slug already exists for this user."
@ -187,96 +187,101 @@ msgstr "Eit innlegg med denne adressetittelen finst allereie."
#: mediagoblin/edit/views.py:86 #: mediagoblin/edit/views.py:86
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Trå varsamt, du endrar nokon andre sine mediefiler." msgstr "Trå varsamt, du endrar nokon andre sine verk."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr "La til vedlegg %s."
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Trå varsamt, du endrar nokon andre sin profil." msgstr "Trå varsamt, du endrar nokon andre sin profil."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Lagra endring av profilen" msgstr "Lagra endring av profilen"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "Lagra kontoinstellingar" msgstr "Lagra kontoinstellingar"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Feil passord" msgstr "Feil passord"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr "Du har allereie ei samling med namn «%s»."
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr "Ei samling med den nettadressa finst allereie for denne brukaren."
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr "Du endrar ein annan brukar si samling. Trå varsamt."
#: mediagoblin/gmg_commands/theme.py:58 #: mediagoblin/gmg_commands/theme.py:58
msgid "Cannot link theme... no theme set\n" msgid "Cannot link theme... no theme set\n"
msgstr "" msgstr "Cannot link theme... no theme set\n"
#: mediagoblin/gmg_commands/theme.py:71 #: mediagoblin/gmg_commands/theme.py:71
msgid "No asset directory for this theme\n" msgid "No asset directory for this theme\n"
msgstr "" msgstr "No asset directory for this theme\n"
#: mediagoblin/gmg_commands/theme.py:74 #: mediagoblin/gmg_commands/theme.py:74
msgid "However, old link directory symlink found; removed.\n" msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr "However, old link directory symlink found; removed.\n"
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "Orsak, stør ikkje den filtypen :(" msgstr "Orsak, stør ikkje den filtypen :("
#: mediagoblin/media_types/video/processing.py:35 #: mediagoblin/media_types/video/processing.py:35
msgid "Video transcoding failed" msgid "Video transcoding failed"
msgstr "" msgstr "Skjedde noko gale med video transkodinga"
#: mediagoblin/plugins/oauth/forms.py:26 #: mediagoblin/plugins/oauth/forms.py:26
msgid "Client ID" msgid "Client ID"
msgstr "" msgstr "Klient-ID (client ID)"
#: mediagoblin/plugins/oauth/forms.py:28 #: mediagoblin/plugins/oauth/forms.py:28
msgid "Next URL" msgid "Next URL"
msgstr "" msgstr "Neste adresse (next URL)"
#: mediagoblin/plugins/oauth/forms.py:30 #: mediagoblin/plugins/oauth/forms.py:30
msgid "Allow" msgid "Allow"
msgstr "" msgstr "Godta"
#: mediagoblin/plugins/oauth/forms.py:31 #: mediagoblin/plugins/oauth/forms.py:31
msgid "Deny" msgid "Deny"
msgstr "" msgstr "Nekt"
#: mediagoblin/plugins/oauth/forms.py:35 #: mediagoblin/plugins/oauth/forms.py:35
msgid "Name" msgid "Name"
msgstr "" msgstr "Namn"
#: mediagoblin/plugins/oauth/forms.py:36 #: mediagoblin/plugins/oauth/forms.py:36
msgid "The name of the OAuth client" msgid "The name of the OAuth client"
msgstr "" msgstr "Namnet til OAuth-klienten"
#: mediagoblin/plugins/oauth/forms.py:37 #: mediagoblin/plugins/oauth/forms.py:37
msgid "Description" msgid "Description"
msgstr "" msgstr "Forklaring"
#: mediagoblin/plugins/oauth/forms.py:39 #: mediagoblin/plugins/oauth/forms.py:39
msgid "" msgid ""
"This will be visible to users allowing your\n" "This will be visible to users allowing your\n"
" application to authenticate as them." " application to authenticate as them."
msgstr "" msgstr "Dette vil vera synleg for brukarar som godtek applikasjonen din til å autentisera dei."
#: mediagoblin/plugins/oauth/forms.py:41 #: mediagoblin/plugins/oauth/forms.py:41
msgid "Type" msgid "Type"
msgstr "" msgstr "Type"
#: mediagoblin/plugins/oauth/forms.py:46 #: mediagoblin/plugins/oauth/forms.py:46
msgid "" msgid ""
@ -286,29 +291,29 @@ msgid ""
" <strong>Public</strong> - The client can't make confidential\n" " <strong>Public</strong> - The client can't make confidential\n"
" requests to the GNU MediaGoblin instance (e.g. client-side\n" " requests to the GNU MediaGoblin instance (e.g. client-side\n"
" JavaScript client)." " JavaScript client)."
msgstr "" msgstr "<strong>Confidential</strong> - Konfidensielt, på engelsk: The client can\n make requests to the GNU MediaGoblin instance that can not be\n intercepted by the user agent (e.g. server-side client).<br />\n<strong>Public</strong> - Open, på engelsk: The client can't make confidential\n requests to the GNU MediaGoblin instance (e.g. client-side\n JavaScript client)."
#: mediagoblin/plugins/oauth/forms.py:53 #: mediagoblin/plugins/oauth/forms.py:53
msgid "Redirect URI" msgid "Redirect URI"
msgstr "" msgstr "Omdirigering URI"
#: mediagoblin/plugins/oauth/forms.py:55 #: mediagoblin/plugins/oauth/forms.py:55
msgid "" msgid ""
"The redirect URI for the applications, this field\n" "The redirect URI for the applications, this field\n"
" is <strong>required</strong> for public clients." " is <strong>required</strong> for public clients."
msgstr "" msgstr "Omdirigerings-URI-en for programmene. Denne feltet <strong>krevst</strong> for opne (public) klientar."
#: mediagoblin/plugins/oauth/forms.py:67 #: mediagoblin/plugins/oauth/forms.py:67
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr "Dette feltet krevst for opne (public) klientar"
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr "Klienten {0} er registrert."
#: mediagoblin/processing/__init__.py:138 #: mediagoblin/processing/__init__.py:138
msgid "Invalid file given for media type." msgid "Invalid file given for media type."
msgstr "Ugyldig fil for mediatypen." msgstr "Ugyldig fil for medietypen."
#: mediagoblin/submit/forms.py:26 #: mediagoblin/submit/forms.py:26
msgid "File" msgid "File"
@ -325,64 +330,45 @@ msgstr "Johoo! Opplasta!"
#: mediagoblin/submit/views.py:215 #: mediagoblin/submit/views.py:215
#, python-format #, python-format
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr "La til samlinga «%s»."
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Bilete av stressa 404-tusse."
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Oops."
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Det ser ikkje ut til å vera noko her... Orsak."
#: mediagoblin/templates/mediagoblin/404.html:28
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, so er sida truleg flytta eller sletta."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "MediaGoblin" msgstr "MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr "<a href=\"%(user_url)s\">%(user_name)s</a> sin konto"
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr "Logg ut"
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Legg til verk"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Verifiser epostadressa di." msgstr "Verifiser epostadressa di."
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+ Legg til medie"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Sjå profilen din"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Logg ut"
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Logg inn" msgstr "Logg inn"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "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." msgstr "Drive av <a href=\"http://mediagoblin.org\">MediaGoblin</a>, eit <a href=\"http://gnu.org/\">GNU</a>-prosjekt."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -390,31 +376,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Lisensiert med <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. <a href=\"%(source_link)s\">Kjeldekode</a> er tilgjengeleg." msgstr "Lisensiert med <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. <a href=\"%(source_link)s\">Kjeldekode</a> er tilgjengeleg."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr "Bilete av stressa goblin"
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr "Handlingar"
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr "Lag ny samling"
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr "Endra kontoinstellingar"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Verkprosesseringspanel"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Utforsk" msgstr "Utforsk"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Heihei, velkomen til denne MediaGoblin-sida." msgstr "Heihei, velkomen til denne MediaGoblin-sida."
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "Denne sida køyrer <a href=\"http://mediagoblin.org\">MediaGoblin</a>, eit superbra program for å visa fram mediefiler." msgstr "Denne sida køyrer <a href=\"http://mediagoblin.org\">MediaGoblin</a>, eit superbra program for å visa fram dine kreative verk."
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr "Vil du leggja til eigne verk og innpel, so må du logga inn."
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "Har du ikkje ein enno? Det er enkelt!" msgstr "Har du ikkje ein enno? Det er enkelt!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -422,50 +433,43 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Opprett ein konto på denne sida</a> eller <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">set opp MediaGoblin på eigen tenar</a>" msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Opprett ein konto på denne sida</a> eller <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">set opp MediaGoblin på eigen tenar</a>"
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Nyaste mediefiler" msgstr "Nyaste verk"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Mediehandsamingspanel"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
msgstr "" msgstr "Hald oppsyn med statusen for prosessering av verka dine her."
#: mediagoblin/templates/mediagoblin/admin/panel.html:32 #: mediagoblin/templates/mediagoblin/admin/panel.html:32
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32
msgid "Media in-processing" msgid "Media in-processing"
msgstr "Media under handsaming" msgstr "Verk under prosessesering"
#: mediagoblin/templates/mediagoblin/admin/panel.html:58 #: mediagoblin/templates/mediagoblin/admin/panel.html:58
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:56
msgid "No media in-processing" msgid "No media in-processing"
msgstr "Ingen media under handsaming" msgstr "Ingen verk vert prosessert"
#: mediagoblin/templates/mediagoblin/admin/panel.html:61 #: mediagoblin/templates/mediagoblin/admin/panel.html:61
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:59
msgid "These uploads failed to process:" msgid "These uploads failed to process:"
msgstr "Klarte ikkje handsama desse opplasta filene:" msgstr "Klarte ikkje prosessera desse opplasta filene:"
#: mediagoblin/templates/mediagoblin/admin/panel.html:90 #: mediagoblin/templates/mediagoblin/admin/panel.html:90
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86
msgid "No failed entries!" msgid "No failed entries!"
msgstr "" msgstr "Ingen feila filer."
#: mediagoblin/templates/mediagoblin/admin/panel.html:92 #: mediagoblin/templates/mediagoblin/admin/panel.html:92
msgid "Last 10 successful uploads" msgid "Last 10 successful uploads"
msgstr "" msgstr "Dei siste ti opplastningane"
#: mediagoblin/templates/mediagoblin/admin/panel.html:112 #: mediagoblin/templates/mediagoblin/admin/panel.html:112
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107
msgid "No processed entries, yet!" msgid "No processed entries, yet!"
msgstr "" msgstr "Ingenting prossesert, enno."
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:28
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36
@ -539,7 +543,36 @@ msgstr "Hei %(username)s,\n\nopna fylgjande netadresse i netlesaren din for å a
#: mediagoblin/templates/mediagoblin/edit/attachments.html:35 #: mediagoblin/templates/mediagoblin/edit/attachments.html:35
#, python-format #, python-format
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr "Endrar vedlegg for %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr "Vedlegg"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Legg ved vedlegg"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Bryt av"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Lagra"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
@ -547,24 +580,8 @@ msgstr ""
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Endrar %(media_title)s" msgstr "Endrar %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Bryt av"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Lagra"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "Endrar kontoinnstellingane til %(username)s" msgstr "Endrar kontoinnstellingane til %(username)s"
@ -572,7 +589,7 @@ msgstr "Endrar kontoinnstellingane til %(username)s"
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29
#, python-format #, python-format
msgid "Editing %(collection_title)s" msgid "Editing %(collection_title)s"
msgstr "" msgstr "Endrar %(collection_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35
@ -586,17 +603,16 @@ msgstr "Endrar profilen til %(username)s"
#: mediagoblin/templates/mediagoblin/listings/tag.html:35 #: mediagoblin/templates/mediagoblin/listings/tag.html:35
#, python-format #, python-format
msgid "Media tagged with: %(tag_name)s" msgid "Media tagged with: %(tag_name)s"
msgstr "Media merka med: %(tag_name)s" msgstr "Verk merka med: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "Last ned" msgstr "Last ned"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Opphavleg" msgstr "Opphavleg"
@ -617,12 +633,62 @@ msgstr "Du kan skaffa ein moderne netlesar som kan spela av dette lydklippet hj
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60
#: mediagoblin/templates/mediagoblin/media_displays/video.html:56 #: mediagoblin/templates/mediagoblin/media_displays/video.html:56
msgid "Original file" msgid "Original file"
msgstr "" msgstr "Opphavleg fil"
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:63
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "WebM-fil (Vorbis-kodek)" msgstr "WebM-fil (Vorbis-kodek)"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Bilete for %(media_title)s"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr "Slå av/på rotering"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr "Perspektiv"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr "Front"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr "Topp"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr "Side"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr "WebGL"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr "Last ned modell"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr "Filformat"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr "Objekthøgd"
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -639,32 +705,32 @@ msgstr "Du kan skaffa ein moderne netlesar som kan spela av denne videoen hjå <
#: mediagoblin/templates/mediagoblin/media_displays/video.html:59 #: mediagoblin/templates/mediagoblin/media_displays/video.html:59
msgid "WebM file (640p; VP8/Vorbis)" msgid "WebM file (640p; VP8/Vorbis)"
msgstr "" msgstr "WebM fil (640p; VP8/Vorbis)"
#: mediagoblin/templates/mediagoblin/submit/collection.html:26 #: mediagoblin/templates/mediagoblin/submit/collection.html:26
msgid "Add a collection" msgid "Add a collection"
msgstr "" msgstr "Legg til ei samling"
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Legg til" msgstr "Legg til"
#: mediagoblin/templates/mediagoblin/submit/start.html:23 #: mediagoblin/templates/mediagoblin/submit/start.html:23
#: mediagoblin/templates/mediagoblin/submit/start.html:30 #: mediagoblin/templates/mediagoblin/submit/start.html:30
msgid "Add your media" msgid "Add your media"
msgstr "Legg til mediefiler" msgstr "Legg til verk"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30
#, python-format #, python-format
msgid "%(collection_title)s (%(username)s's collection)" msgid "%(collection_title)s (%(username)s's collection)"
msgstr "" msgstr "%(collection_title)s (%(username)s si samling)"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:39
#, python-format #, python-format
msgid "%(collection_title)s by <a href=\"%(user_url)s\">%(username)s</a>" msgid "%(collection_title)s by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr "%(collection_title)s av <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media.html:87 #: mediagoblin/templates/mediagoblin/user_pages/media.html:87
@ -676,14 +742,6 @@ msgstr "Endra"
msgid "Delete" msgid "Delete"
msgstr "Slett" msgstr "Slett"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -691,46 +749,40 @@ msgid "Really delete %(title)s?"
msgstr "Vil du verkeleg sletta %(title)s?" msgstr "Vil du verkeleg sletta %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Slett permanent" msgstr "Slett permanent"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31
#, python-format #, python-format
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr "Fjerna %(media_title)s frå %(collection_title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr "Fjern"
#: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 #: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19
#, python-format #, python-format
msgid "" msgid ""
"Hi %(username)s,\n" "Hi %(username)s,\n"
"%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n" "%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n"
msgstr "" msgstr "Hei %(username)s,\n%(comment_author)s kommenterte innlegget ditt (%(comment_url)s) hjå %(instance_name)s\n"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30
#, python-format #, python-format
msgid "%(username)s's media" msgid "%(username)s's media"
msgstr "Filene til %(username)s" msgstr "Verka til %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:37 #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:37
#, python-format #, python-format
msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media" msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media"
msgstr "<a href=\"%(user_url)s\">%(username)s</a> sine mediefiler" msgstr "<a href=\"%(user_url)s\">%(username)s</a> sine verk"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:46 #: mediagoblin/templates/mediagoblin/user_pages/media.html:46
#, python-format #, python-format
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgstr "❖ Ser på <a href=\"%(user_url)s\">%(username)s</a> sine verk"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Bilete for %(media_title)s"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
@ -758,36 +810,31 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Lagt til</h3>\n <p>%(date)s</p>" msgstr "<h3>Lagt til</h3>\n <p>%(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments" msgstr "Legg til verk til samling"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
#, python-format #, python-format
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr "Putt %(title)s inn i samling"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr "+"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr "Legg til ei ny samling"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29
msgid "" msgid ""
"You can track the state of media being processed for your gallery here." "You can track the state of media being processed for your gallery here."
msgstr "Sjå status for mediehandsaming av biletene dine her." msgstr "Sjå status for prosessering av verka dine her."
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89
msgid "Your last 10 successful uploads" msgid "Your last 10 successful uploads"
msgstr "" msgstr "Dine ti siste opplastningar."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:31 #: mediagoblin/templates/mediagoblin/user_pages/user.html:31
#: mediagoblin/templates/mediagoblin/user_pages/user.html:89 #: mediagoblin/templates/mediagoblin/user_pages/user.html:89
@ -847,47 +894,31 @@ msgstr "Endra profil"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Brukaren har ikkje fylt ut profilen sin (enno)." msgstr "Brukaren har ikkje fylt ut profilen sin (enno)."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Endra kontoinstellingar"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Sjå alle %(username)s sine mediefiler" msgstr "Sjå alle %(username)s sine verk"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Her kjem mediefilene dine." msgstr "Her kjem verka dine."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Legg til mediefiler" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Ser ikkje ut til at det finst nokon mediefiler her nett no." msgstr "Ser ikkje ut til at det finst nokon verk her nett no."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid "" msgstr "(fjern)"
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
#, python-format #, python-format
msgid "In collections (%(collected)s)" msgid "In collections (%(collected)s)"
msgstr "" msgstr "I samlingar (%(collected)s)"
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon" msgid "feed icon"
@ -901,7 +932,7 @@ msgstr "Atom-kjelde"
msgid "Location" msgid "Location"
msgstr "Stad" msgstr "Stad"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "Sjå på <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgstr "Sjå på <a href=\"%(osm_url)s\">OpenStreetMap</a>"
@ -940,94 +971,120 @@ msgstr "Merka med"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "Klarte ikkje lesa biletefila." msgstr "Klarte ikkje lesa biletefila."
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Oops."
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr "Noko gjekk gale"
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr "Ulovleg operasjon"
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr "Orsak Dave, eg kan ikkje la deg gjera det!&lt;HAL2000&gt;</p>\n<p>Du prøvde å gjera noko du ikkje har løyve til. Prøvar du å sletta alle brukarkonti no igjen?"
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr "Ser ikkje ut til å finnast noko her. Orsak.</p>\n<p>Dersom du er sikker på at adressa finst, so er ho truleg flytta eller sletta."
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Eg er sikker eg vil sletta dette" msgstr "Eg er sikker eg vil sletta dette"
#: mediagoblin/user_pages/forms.py:32 #: mediagoblin/user_pages/forms.py:32
msgid "I am sure I want to remove this item from the collection" msgid "I am sure I want to remove this item from the collection"
msgstr "" msgstr "Eg er sikker på at eg vil fjerna dette frå samlinga"
#: mediagoblin/user_pages/forms.py:35 #: mediagoblin/user_pages/forms.py:35
msgid "-- Select --" msgid "-- Select --"
msgstr "" msgstr "-- Vel --"
#: mediagoblin/user_pages/forms.py:37 #: mediagoblin/user_pages/forms.py:37
msgid "Include a note" msgid "Include a note"
msgstr "" msgstr "Legg ved eit notat"
#: mediagoblin/user_pages/lib.py:56 #: mediagoblin/user_pages/lib.py:56
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr "kom med innspel på innlegget ditt"
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Vops, innspelet ditt var tomt." msgstr "Vops, innspelet ditt var tomt."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Innspelet ditt er lagt til." msgstr "Innspelet ditt er lagt til."
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr "Du må velja eller laga ei samling"
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr "«%s» er allereie i samling «%s»"
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr "«%s» lagt til samling «%s»"
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr "Sjekk filene dine og prøv omatt."
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr "Nokre av filene ser ut til å mangla. Slettar likevel."
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Du sletta fila." msgstr "Du sletta verket."
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "Sletta ikkje fila fordi du ikkje sa du var sikker." msgstr "Sletta ikkje verket."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." 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." msgstr "Du er i ferd med å sletta ein annan brukar sine verk. Trå varsamt."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr "Du fjerna fila frå samlinga."
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr "Fila var ikkje fjerna fordi du ikkje var sikker."
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr "Du er i ferd med å fjerna ei fil frå ein annan brukar si samling. Trå varsamt."
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr "Samlinga «%s» sletta"
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr "Sletta ikkje samlinga."
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr "Du er i ferd med å sletta ein annan brukar si samling. Trå varsamt."

View File

@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -92,7 +92,7 @@ msgstr "Nie znaleziono nikogo o takiej nazwie użytkownika lub adresie e-mail."
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Teraz możesz się zalogować używając nowe hasło." msgstr "Teraz możesz się zalogować używając nowe hasło."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -103,7 +103,7 @@ msgid "Description of this work"
msgstr "Opis tej pracy" msgstr "Opis tej pracy"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -119,11 +119,11 @@ msgstr "Znaczniki"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "Rozdzielaj znaczniki przecinkami." msgstr "Rozdzielaj znaczniki przecinkami."
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Slug" msgstr "Slug"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "Slug nie może być pusty" msgstr "Slug nie może być pusty"
@ -162,20 +162,20 @@ msgstr "Wprowadź swoje stare hasło aby udowodnić, że to twoje konto."
msgid "New password" msgid "New password"
msgstr "Nowe hasło" msgstr "Nowe hasło"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "Powiadamiaj mnie e-mailem o komentarzach do moich mediów" msgstr "Powiadamiaj mnie e-mailem o komentarzach do moich mediów"
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "Tytuł nie może być pusty" msgstr "Tytuł nie może być pusty"
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "Opis tej kolekcji" msgstr "Opis tej kolekcji"
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -189,33 +189,38 @@ msgstr "Adres z tym slugiem dla tego użytkownika już istnieje."
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Edytujesz media innego użytkownika. Zachowaj ostrożność." msgstr "Edytujesz media innego użytkownika. Zachowaj ostrożność."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Edytujesz profil innego użytkownika. Zachowaj ostrożność." msgstr "Edytujesz profil innego użytkownika. Zachowaj ostrożność."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Zapisano zmiany profilu" msgstr "Zapisano zmiany profilu"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "Zapisano ustawienia konta" msgstr "Zapisano ustawienia konta"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Nieprawidłowe hasło" msgstr "Nieprawidłowe hasło"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "Kolekcja \"%s\" już istnieje!" msgstr "Kolekcja \"%s\" już istnieje!"
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "Kolekcja tego użytkownika z takim slugiem już istnieje." msgstr "Kolekcja tego użytkownika z takim slugiem już istnieje."
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "Edytujesz kolekcję innego użytkownika. Zachowaj ostrożność." msgstr "Edytujesz kolekcję innego użytkownika. Zachowaj ostrożność."
@ -232,7 +237,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "Znaleziono stary odnośnik symboliczny do katalogu; usunięto.\n" msgstr "Znaleziono stary odnośnik symboliczny do katalogu; usunięto.\n"
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "NIestety, nie obsługujemy tego typu plików :-(" msgstr "NIestety, nie obsługujemy tego typu plików :-("
@ -302,7 +307,7 @@ msgstr "Przekierowanie URI dla aplikacji, to pole\n jest <strong>wyma
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "To pole jest wymagane dla klientów publicznych" msgstr "To pole jest wymagane dla klientów publicznych"
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "Klient {0} został zarejestrowany!" msgstr "Klient {0} został zarejestrowany!"
@ -327,62 +332,43 @@ msgstr "Hura! Wysłano!"
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "Kolekcja \"%s\" została dodana!" msgstr "Kolekcja \"%s\" została dodana!"
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Grafika zestresowanego goblina 404."
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Ups!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Niestety, nie ma strony o takim adresie!"
#: mediagoblin/templates/mediagoblin/404.html:28
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr "Jeśli twoim zdaniem ten adres jest prawidłowy, to może poszukiwana strona została przeniesiona lub usunięta."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "Logo MediaGoblin" msgstr "Logo MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Dodaj media"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Zweryfikuj swój adres e-mail!" msgstr "Zweryfikuj swój adres e-mail!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+ Dodaj media"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr "+ Dodaj kolekcję"
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Zobacz swój profil"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Wyloguj się"
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Zaloguj się" msgstr "Zaloguj się"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "Obsługiwane przez <a href=\"http://mediagoblin.org\">MediaGoblin</a>, projekt <a href=\"http://gnu.org/\">GNU</a>." msgstr "Obsługiwane przez <a href=\"http://mediagoblin.org\">MediaGoblin</a>, projekt <a href=\"http://gnu.org/\">GNU</a>."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -390,31 +376,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Opublikowane na licencji <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. Dostępny jest <a href=\"%(source_link)s\">kod źródłowy</a>." msgstr "Opublikowane na licencji <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. Dostępny jest <a href=\"%(source_link)s\">kod źródłowy</a>."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr "Zmień ustawienia konta"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Panel przetwarzania mediów"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Odkrywaj" msgstr "Odkrywaj"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Cześć, witaj na stronie MediaGoblin!" msgstr "Cześć, witaj na stronie MediaGoblin!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "Ten serwis działa w oparciu o <a href=\"http://mediagoblin.org\">MediaGoblin</a>, świetne oprogramowanie do publikowania mediów." msgstr "Ten serwis działa w oparciu o <a href=\"http://mediagoblin.org\">MediaGoblin</a>, świetne oprogramowanie do publikowania mediów."
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "Aby dodawać swoje pliki, komentować i wykonywać inne czynności, możesz się zalogować na swoje konto MediaGoblin." msgstr "Aby dodawać swoje pliki, komentować i wykonywać inne czynności, możesz się zalogować na swoje konto MediaGoblin."
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "Jeszcze go nie masz? To proste!" msgstr "Jeszcze go nie masz? To proste!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -422,17 +433,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Utwórz konto w tym serwisie</a>\n lub\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">załóż własny serwis MediaGoblin</a>" msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Utwórz konto w tym serwisie</a>\n lub\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">załóż własny serwis MediaGoblin</a>"
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Najnowsze media" msgstr "Najnowsze media"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Panel przetwarzania mediów"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -541,30 +545,43 @@ msgstr "Cześć %(username)s,\n\naby aktywować twoje konto GNU MediaGoblin, otw
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "Edycja załączników do %(media_title)s" msgstr "Edycja załączników do %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr "Załączniki"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Dodaj załącznik"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Anuluj"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Zapisz zmiany"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Edytowanie %(media_title)s" msgstr "Edytowanie %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Anuluj"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Zapisz zmiany"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "Zmiana ustawień konta %(username)s" msgstr "Zmiana ustawień konta %(username)s"
@ -590,13 +607,12 @@ msgstr "Media ze znacznikami: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "Pobierz" msgstr "Pobierz"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Oryginał" msgstr "Oryginał"
@ -623,6 +639,56 @@ msgstr "Oryginalny plik"
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "plik WebM (kodek Vorbis)" msgstr "plik WebM (kodek Vorbis)"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Grafika dla %(media_title)s"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -647,7 +713,7 @@ msgstr "Dodaj kolekcję"
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Dodaj" msgstr "Dodaj"
@ -676,14 +742,6 @@ msgstr "Edytuj"
msgid "Delete" msgid "Delete"
msgstr "Usuń" msgstr "Usuń"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr "<p>\n %(collection_description)s\n </p>"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -691,7 +749,7 @@ msgid "Really delete %(title)s?"
msgstr "Na pewno usunąć %(title)s?" msgstr "Na pewno usunąć %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Usuń na stałe" msgstr "Usuń na stałe"
@ -700,7 +758,7 @@ msgstr "Usuń na stałe"
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "Na pewno usunąć %(media_title)s z %(collection_title)s?" msgstr "Na pewno usunąć %(media_title)s z %(collection_title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "Usuń" msgstr "Usuń"
@ -726,12 +784,6 @@ msgstr "media użytkownika <a href=\"%(user_url)s\">%(username)s</a>"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "❖ Przeglądanie mediów użytkownika <a href=\"%(user_url)s\">%(username)s</a>" msgstr "❖ Przeglądanie mediów użytkownika <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Grafika dla %(media_title)s"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "Dodaj komentarz" msgstr "Dodaj komentarz"
@ -758,25 +810,20 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Dodane</h3>\n <p>%(date)s</p>" msgstr "<h3>Dodane</h3>\n <p>%(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments" msgstr ""
msgstr "Załączniki"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Dodaj załącznik"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
#, python-format #, python-format
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "Dodaj %(title)s do kolekcji" msgstr "Dodaj %(title)s do kolekcji"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "+" msgstr "+"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "Dodaj nową kolekcję" msgstr "Dodaj nową kolekcję"
@ -847,42 +894,26 @@ msgstr "Edytuj profil"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Ten użytkownik nie wypełnił (jeszcze) opisu swojego profilu." msgstr "Ten użytkownik nie wypełnił (jeszcze) opisu swojego profilu."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Zmień ustawienia konta"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Zobacz wszystkie media użytkownika %(username)s" msgstr "Zobacz wszystkie media użytkownika %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Tu będą widoczne twoje media, ale na razie niczego tu jeszcze nie ma." msgstr "Tu będą widoczne twoje media, ale na razie niczego tu jeszcze nie ma."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Dodaj media" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Tu nie ma jeszcze żadnych mediów..." msgstr "Tu nie ma jeszcze żadnych mediów..."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid "" msgstr ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr "<br />\n <a href=\"%(entry_url)s\">%(note)s</a>"
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "<br /><a href=\"%(remove_url)s\" class=\"remove\">(usuń)</a>"
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
#, python-format #, python-format
@ -901,7 +932,7 @@ msgstr "Kanał Atom"
msgid "Location" msgid "Location"
msgstr "Położenie" msgstr "Położenie"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "Zobacz na <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgstr "Zobacz na <a href=\"%(osm_url)s\">OpenStreetMap</a>"
@ -940,6 +971,32 @@ msgstr "Znaczniki:"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "Nie udało się odczytać pliku grafiki." msgstr "Nie udało się odczytać pliku grafiki."
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Ups!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Na pewno chcę to usunąć" msgstr "Na pewno chcę to usunąć"
@ -960,74 +1017,74 @@ msgstr "Dodaj notatkę"
msgid "commented on your post" msgid "commented on your post"
msgstr "komentarze do twojego wpisu" msgstr "komentarze do twojego wpisu"
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Ups, twój komentarz nie zawierał treści." msgstr "Ups, twój komentarz nie zawierał treści."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Twój komentarz został opublikowany!" msgstr "Twój komentarz został opublikowany!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "Musisz wybrać lub dodać kolekcję" msgstr "Musisz wybrać lub dodać kolekcję"
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "\"%s\" już obecne w kolekcji \"%s\"" msgstr "\"%s\" już obecne w kolekcji \"%s\""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "\"%s\" dodano do kolekcji \"%s\"" msgstr "\"%s\" dodano do kolekcji \"%s\""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "Sprawdź swoje wpisy i spróbuj ponownie." msgstr "Sprawdź swoje wpisy i spróbuj ponownie."
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "Część plików z tego wpisu wygląda na nieistniejące. Trwa usuwanie." msgstr "Część plików z tego wpisu wygląda na nieistniejące. Trwa usuwanie."
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Media zostały usunięte." msgstr "Media zostały usunięte."
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "Media nie zostały usunięte ponieważ nie potwierdziłeś, że jesteś pewien." msgstr "Media nie zostały usunięte ponieważ nie potwierdziłeś, że jesteś pewien."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Za chwilę usuniesz media innego użytkownika. Zachowaj ostrożność." msgstr "Za chwilę usuniesz media innego użytkownika. Zachowaj ostrożność."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "Element został usunięty z kolekcji." msgstr "Element został usunięty z kolekcji."
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "Ten element nie został usunięty, ponieważ nie zaznaczono, że jesteś pewien." msgstr "Ten element nie został usunięty, ponieważ nie zaznaczono, że jesteś pewien."
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "Zamierzasz usunąć element z kolekcji innego użytkownika. Zachowaj ostrożność." msgstr "Zamierzasz usunąć element z kolekcji innego użytkownika. Zachowaj ostrożność."
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "Usunięto kolekcję \"%s\"" msgstr "Usunięto kolekcję \"%s\""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "Ta kolekcja nie została usunięta, ponieważ nie zaznaczono, że jesteś pewien." msgstr "Ta kolekcja nie została usunięta, ponieważ nie zaznaczono, że jesteś pewien."
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "Zamierzasz usunąć kolekcję innego użytkownika. Zachowaj ostrożność." msgstr "Zamierzasz usunąć kolekcję innego użytkownika. Zachowaj ostrożność."

View File

@ -9,8 +9,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mediagoblin/language/pt_BR/)\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/mediagoblin/language/pt_BR/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -93,7 +93,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -104,7 +104,7 @@ msgid "Description of this work"
msgstr "Descrição desse trabalho" msgstr "Descrição desse trabalho"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -120,11 +120,11 @@ msgstr "Etiquetas"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Arquivo" msgstr "Arquivo"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "O arquivo não pode estar vazio" msgstr "O arquivo não pode estar vazio"
@ -163,20 +163,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -190,33 +190,38 @@ msgstr "Uma entrada com esse arquivo já existe para esse usuário"
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Você está editando a mídia de outro usuário. Tenha cuidado." msgstr "Você está editando a mídia de outro usuário. Tenha cuidado."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Você está editando um perfil de usuário. Tenha cuidado." msgstr "Você está editando um perfil de usuário. Tenha cuidado."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Senha errada" msgstr "Senha errada"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -233,7 +238,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -303,7 +308,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -328,62 +333,43 @@ msgstr "Eba! Enviado!"
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Imagem do goblin 404 aparecendo"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Oops"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Aparentemente não existe uma página com esse endereço. Desculpe!"
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "Logo MediaGoblin" msgstr "Logo MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Adicionar mídia"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Verifique seu email!" msgstr "Verifique seu email!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Entrar" msgstr "Entrar"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -391,31 +377,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Painel de processamento de mídia"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Explorar" msgstr "Explorar"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Olá, bemvindo ao site de MediaGoblin." msgstr "Olá, bemvindo ao site de MediaGoblin."
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr " " msgstr " "
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -423,17 +434,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Mídia mais recente" msgstr "Mídia mais recente"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Painel de processamento de mídia"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -542,30 +546,43 @@ msgstr "Olá %(username)s,\n\nPara ativar sua conta GNU MediaGoblin, visite este
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Cancelar"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Salvar mudanças"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Editando %(media_title)s" msgstr "Editando %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Cancelar"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Salvar mudanças"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -591,13 +608,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Original" msgstr "Original"
@ -624,6 +640,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -648,7 +714,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -677,14 +743,6 @@ msgstr "Editar"
msgid "Delete" msgid "Delete"
msgstr "Apagar" msgstr "Apagar"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -692,7 +750,7 @@ msgid "Really delete %(title)s?"
msgstr "Realmente apagar %(title)s ?" msgstr "Realmente apagar %(title)s ?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -701,7 +759,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -727,12 +785,6 @@ msgstr "Mídia de <a href=\"%(user_url)s\"> %(username)s </a> "
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -759,13 +811,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -773,11 +820,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -848,41 +895,25 @@ msgstr "Editar perfil"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Esse usuário não preencheu seu perfil (ainda)." msgstr "Esse usuário não preencheu seu perfil (ainda)."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Ver todas as mídias de %(username)s" msgstr "Ver todas as mídias de %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Aqui é onde sua mídia vai aparecer, mas parece que você não adicionou nada ainda." msgstr "Aqui é onde sua mídia vai aparecer, mas parece que você não adicionou nada ainda."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Adicionar mídia" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Aparentemente não há nenhuma mídia aqui ainda..." msgstr "Aparentemente não há nenhuma mídia aqui ainda..."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -902,7 +933,7 @@ msgstr "Atom feed"
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -941,6 +972,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Oops"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Eu tenho certeza de que quero pagar isso" msgstr "Eu tenho certeza de que quero pagar isso"
@ -961,74 +1018,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Opa, seu comentáio estava vazio." msgstr "Opa, seu comentáio estava vazio."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Seu comentário foi postado!" msgstr "Seu comentário foi postado!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Você deletou a mídia." msgstr "Você deletou a mídia."
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Você vai apagar uma mídia de outro usuário. Tenha cuidado." msgstr "Você vai apagar uma mídia de outro usuário. Tenha cuidado."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

View File

@ -9,8 +9,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Romanian (http://www.transifex.com/projects/p/mediagoblin/language/ro/)\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/mediagoblin/language/ro/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -93,7 +93,7 @@ msgstr "Nu s-a găsit nicio persoană cu acel nume de utilizator sau adresă de
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Acum te poți autentifica cu noua parolă." msgstr "Acum te poți autentifica cu noua parolă."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -104,7 +104,7 @@ msgid "Description of this work"
msgstr "Descrierea acestui fișier" msgstr "Descrierea acestui fișier"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -120,11 +120,11 @@ msgstr "Tag-uri"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "Desparte tag-urile prin virgulă." msgstr "Desparte tag-urile prin virgulă."
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Identificator" msgstr "Identificator"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "Identificatorul nu poate să lipsească" msgstr "Identificatorul nu poate să lipsească"
@ -163,20 +163,20 @@ msgstr "Introdu vechea parolă pentru a demonstra că ești titularul acestui co
msgid "New password" msgid "New password"
msgstr "Noua parolă" msgstr "Noua parolă"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "Trimite-mi un e-mail când alții comentează fișierele mele" msgstr "Trimite-mi un e-mail când alții comentează fișierele mele"
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "Titlul nu poate să fie gol" msgstr "Titlul nu poate să fie gol"
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "Descriere pentru această colecție" msgstr "Descriere pentru această colecție"
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -190,33 +190,38 @@ msgstr "Există deja un entry cu același identificator pentru acest utilizator.
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Editezi fișierul unui alt utilizator. Se recomandă prudență." msgstr "Editezi fișierul unui alt utilizator. Se recomandă prudență."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr "Ai anexat %s!"
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Editezi profilul unui utilizator. Se recomandă prudență." msgstr "Editezi profilul unui utilizator. Se recomandă prudență."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Modificările profilului au fost salvate" msgstr "Modificările profilului au fost salvate"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "Setările pentru acest cont au fost salvate" msgstr "Setările pentru acest cont au fost salvate"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Parolă incorectă" msgstr "Parolă incorectă"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "Ai deja o colecție numită \"%s\"!" msgstr "Ai deja o colecție numită \"%s\"!"
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "O colecție cu același slug există deja pentru acest utilizator." msgstr "O colecție cu același slug există deja pentru acest utilizator."
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "Lucrezi pe colecția unui alt utilizator. Se recomandă prudență." msgstr "Lucrezi pe colecția unui alt utilizator. Se recomandă prudență."
@ -233,7 +238,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "A fost însă găsit un symlink către vechiul folder; s-a șters.\n" msgstr "A fost însă găsit un symlink către vechiul folder; s-a șters.\n"
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "Scuze, nu recunosc acest tip de fișier :(" msgstr "Scuze, nu recunosc acest tip de fișier :("
@ -273,7 +278,7 @@ msgstr "Descriere"
msgid "" msgid ""
"This will be visible to users allowing your\n" "This will be visible to users allowing your\n"
" application to authenticate as them." " application to authenticate as them."
msgstr "" msgstr "Aceste informații vor fi vizibile pentru utilizatorii\n care permit aplicației tale să se autentifice în numele lor."
#: mediagoblin/plugins/oauth/forms.py:41 #: mediagoblin/plugins/oauth/forms.py:41
msgid "Type" msgid "Type"
@ -303,7 +308,7 @@ msgstr "URI-ul de redirectare pentru aplicații, această rubrică\n
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "Această rubrică este obligatorie pentru clienții publici" msgstr "Această rubrică este obligatorie pentru clienții publici"
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "Clientul {0} a fost înregistrat!" msgstr "Clientul {0} a fost înregistrat!"
@ -328,62 +333,43 @@ msgstr "Ura! Trimis!"
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "Colecția \"%s\" a fost creată!" msgstr "Colecția \"%s\" a fost creată!"
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Imagine cu elful 404 stresat."
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Hopa!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Nu există nicio pagină la această adresă. Ne pare rău!"
#: mediagoblin/templates/mediagoblin/404.html:28
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 e corectă, poate că pagina pe care o cauți a fost mutată sau ștearsă."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "logo MediaGoblin" msgstr "logo MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr "Contul lui <a href=\"%(user_url)s\">%(user_name)s</a>"
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr "Ieșire"
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Trimite fișier"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Verifică adresa de e-mail!" msgstr "Verifică adresa de e-mail!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+ Adaugă fișier media"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr "+ Creează colecție"
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Vezi profilul tău"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Ieșire"
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Autentificare" msgstr "Autentificare"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "Construit cu <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un proiect <a href=\"http://gnu.org/\">GNU</a>." msgstr "Construit cu <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un proiect <a href=\"http://gnu.org/\">GNU</a>."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -391,31 +377,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Publicat sub licența <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. <a href=\"%(source_link)s\">Codul sursă</a> este disponibil." msgstr "Publicat sub licența <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. <a href=\"%(source_link)s\">Codul sursă</a> este disponibil."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr "Imagine cu un goblin stresat"
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr "Acțiuni"
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr "Creează colecție nouă"
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr "Modifică setările contului"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Panou de procesare media"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Explorează" msgstr "Explorează"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Salut, bine ai venit pe acest site MediaGoblin!" msgstr "Salut, bine ai venit pe acest site MediaGoblin!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "Acest site folosește <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un software excepțional pentru găzduirea fișierelor media." msgstr "Acest site folosește <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un software excepțional pentru găzduirea fișierelor media."
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "Pentru a adăuga fișierele tale și pentru a comenta te poți autentifica cu contul tău MediaGoblin." msgstr "Pentru a adăuga fișierele tale și pentru a comenta te poți autentifica cu contul tău MediaGoblin."
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "Încă nu ai unul? E simplu!" msgstr "Încă nu ai unul? E simplu!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -423,17 +434,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Creează un cont pe acest site</a>\n sau\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Instalează MediaGoblin pe serverul tău</a>" msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Creează un cont pe acest site</a>\n sau\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Instalează MediaGoblin pe serverul tău</a>"
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Cele mai recente fișiere" msgstr "Cele mai recente fișiere"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Panou de procesare media"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -498,7 +502,7 @@ msgid ""
"\n" "\n"
"If you think this is an error, just ignore this email and continue being\n" "If you think this is an error, just ignore this email and continue being\n"
"a happy goblin!" "a happy goblin!"
msgstr "Bună, %(username)s\n\nPentru a schimba parola ta la GNU MediaGoblin, accesează adresa următoare:\n\n%(verification_url)s\n\nDacă ai primit acest mesaj din greșeală, ignoră-l și fii mai departe un elf fericit!" msgstr "Bună, %(username)s\n\nPentru a schimba parola ta la GNU MediaGoblin, accesează adresa următoare:\n\n%(verification_url)s\n\nDacă ai primit acest mesaj din greșeală, ignoră-l și fii mai departe un goblin fericit!"
#: mediagoblin/templates/mediagoblin/auth/login.html:39 #: mediagoblin/templates/mediagoblin/auth/login.html:39
msgid "Logging in failed!" msgid "Logging in failed!"
@ -542,30 +546,43 @@ msgstr "Bună, %(username)s,\n\npentru activarea contului tău la GNU MediaGobli
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "Editare anexe la %(media_title)s" msgstr "Editare anexe la %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr "Anexe"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Atașează"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Anulare"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Salvează modificările"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Editare %(media_title)s" msgstr "Editare %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Anulare"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Salvează modificările"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "Se modifică setările contului pentru userul %(username)s" msgstr "Se modifică setările contului pentru userul %(username)s"
@ -591,13 +608,12 @@ msgstr "Fișier etichetat cu tag-urile: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "Download" msgstr "Download"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Original" msgstr "Original"
@ -624,6 +640,56 @@ msgstr "Fișierul original"
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "Fișier WebM (codec Vorbis)" msgstr "Fișier WebM (codec Vorbis)"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Imagine pentru %(media_title)s"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr "Rotire"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr "Perspectivă"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr "Din față"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr "De sus"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr "Lateral"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr "WebGL"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr "Descarcă modelul"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr "Formatul fișierului"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr "Înălțimea obiectului"
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -648,7 +714,7 @@ msgstr "Creează o colecție"
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Adaugă" msgstr "Adaugă"
@ -677,14 +743,6 @@ msgstr "Editare"
msgid "Delete" msgid "Delete"
msgstr "Șterge" msgstr "Șterge"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr "<p>\n %(collection_description)s\n </p>"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -692,7 +750,7 @@ msgid "Really delete %(title)s?"
msgstr "Sigur dorești să ștergi %(title)s?" msgstr "Sigur dorești să ștergi %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Șterge definitiv" msgstr "Șterge definitiv"
@ -701,7 +759,7 @@ msgstr "Șterge definitiv"
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "Sigur dorești să ștergi %(media_title)s din %(collection_title)s?" msgstr "Sigur dorești să ștergi %(media_title)s din %(collection_title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "Șterge" msgstr "Șterge"
@ -727,12 +785,6 @@ msgstr "Fișierele media ale lui <a href=\"%(user_url)s\">%(username)s</a>"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "<p>❖ Fișierele media ale lui <a href=\"%(user_url)s\">%(username)s</a></p>" msgstr "<p>❖ Fișierele media ale lui <a href=\"%(user_url)s\">%(username)s</a></p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Imagine pentru %(media_title)s"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "Adaugă un comentariu" msgstr "Adaugă un comentariu"
@ -759,25 +811,20 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Adăugat la</h3>\n <p>%(date)s</p>" msgstr "<h3>Adăugat la</h3>\n <p>%(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments" msgstr "Adaugă un fișier la colecție"
msgstr "Anexe"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Atașează"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
#, python-format #, python-format
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "Adaugă %(title)s la colecție" msgstr "Adaugă %(title)s la colecție"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "+" msgstr "+"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "Creează o nouă colecție" msgstr "Creează o nouă colecție"
@ -848,42 +895,26 @@ msgstr "Editare profil"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Acest utilizator nu și-a completat (încă) profilul." msgstr "Acest utilizator nu și-a completat (încă) profilul."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Modifică setările contului"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Vezi toate fișierele media ale lui %(username)s" msgstr "Vezi toate fișierele media ale lui %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Aici vor apărea fișierele tale media, dar se pare că încă nu ai trimis nimic." msgstr "Aici vor apărea fișierele tale media, dar se pare că încă nu ai trimis nimic."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Trimite fișier" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Nu pare să existe niciun fișier media deocamdată..." msgstr "Nu pare să existe niciun fișier media deocamdată..."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid "" msgstr "(șterge)"
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr "<br />\n <a href=\"%(entry_url)s\">%(note)s</a>"
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "<br /><a href=\"%(remove_url)s\" class=\"remove\">(șterge)</a>"
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
#, python-format #, python-format
@ -902,7 +933,7 @@ msgstr "feed Atom"
msgid "Location" msgid "Location"
msgstr "Locul" msgstr "Locul"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "Vezi pe <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgstr "Vezi pe <a href=\"%(osm_url)s\">OpenStreetMap</a>"
@ -941,6 +972,32 @@ msgstr "Etichete"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "Fișierul cu imaginea nu a putut fi citit." msgstr "Fișierul cu imaginea nu a putut fi citit."
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Hopa!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr "S-a produs o eroare"
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr "Operația nu este permisă"
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr "Îmi pare rău, Dave, nu te pot lăsa să faci asta!</p><p>Ai încercat să faci o operație nepermisă. Ai încercat iar să ștergi toate conturile utilizatorilor?"
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr "Nu există nicio pagină la această adresă.</p><p>Dacă sunteți sigur că adresa este corectă, poate că pagina pe care o căutați a fost mutată sau ștearsă."
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Sunt sigur că doresc să șterg" msgstr "Sunt sigur că doresc să șterg"
@ -961,74 +1018,74 @@ msgstr "Adaugă o notiță"
msgid "commented on your post" msgid "commented on your post"
msgstr "a făcut un comentariu la postarea ta" msgstr "a făcut un comentariu la postarea ta"
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Hopa, ai uitat să scrii comentariul." msgstr "Hopa, ai uitat să scrii comentariul."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Comentariul tău a fost trimis!" msgstr "Comentariul tău a fost trimis!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "Trebuie să alegi sau să creezi o colecție" msgstr "Trebuie să alegi sau să creezi o colecție"
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "\"%s\" este deja în colecția \"%s\"" msgstr "\"%s\" este deja în colecția \"%s\""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "\"%s\" a fost adăugat la colecția \"%s\"" msgstr "\"%s\" a fost adăugat la colecția \"%s\""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "Verifică datele și încearcă din nou." msgstr "Verifică datele și încearcă din nou."
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "Unele fișiere din acest entry par să lipsească. Ștergem, totuși." msgstr "Unele fișiere din acest entry par să lipsească. Ștergem, totuși."
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Ai șters acest fișier" msgstr "Ai șters acest fișier"
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "Fișierul nu a fost șters deoarece nu ai confirmat că ești sigur." msgstr "Fișierul nu a fost șters deoarece nu ai confirmat că ești sigur."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Urmează să ștergi fișierele media ale unui alt utilizator. Se recomandă prudență." msgstr "Urmează să ștergi fișierele media ale unui alt utilizator. Se recomandă prudență."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "Ai șters acest articol din colecție." msgstr "Ai șters acest articol din colecție."
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "Articolul nu a fost șters pentru că nu ai confirmat că ești sigur(ă)." msgstr "Articolul nu a fost șters pentru că nu ai confirmat că ești sigur(ă)."
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "Urmează să ștergi un articol din colecția unui alt utilizator. Se recomandă prudență." msgstr "Urmează să ștergi un articol din colecția unui alt utilizator. Se recomandă prudență."
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "Ai șters colecția \"%s\"" msgstr "Ai șters colecția \"%s\""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "Colecția nu a fost ștearsă pentru că nu ai confirmat că ești sigur(ă)." msgstr "Colecția nu a fost ștearsă pentru că nu ai confirmat că ești sigur(ă)."
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "Urmează să ștergi colecția unui alt utilizator. Se recomandă prudență." msgstr "Urmează să ștergi colecția unui alt utilizator. Se recomandă prudență."

View File

@ -8,9 +8,9 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 11:41-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:15+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: aleksejrs <deletesoftware@yandex.ru>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -92,7 +92,7 @@ msgstr "Не найдено никого с таким именем пользо
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Теперь вы можете войти, используя ваш новый пароль." msgstr "Теперь вы можете войти, используя ваш новый пароль."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -103,7 +103,7 @@ msgid "Description of this work"
msgstr "Описание этого произведения" msgstr "Описание этого произведения"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -119,11 +119,11 @@ msgstr "Метки"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "(через запятую)" msgstr "(через запятую)"
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Отличительная часть адреса" msgstr "Отличительная часть адреса"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "Отличительная часть адреса необходима" msgstr "Отличительная часть адреса необходима"
@ -162,20 +162,20 @@ msgstr "Введите свой старый пароль в качестве д
msgid "New password" msgid "New password"
msgstr "Новый пароль" msgstr "Новый пароль"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "Уведомлять меня по e-mail о комментариях к моим файлам" msgstr "Уведомлять меня по e-mail о комментариях к моим файлам"
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr "Название не может быть пустым"
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "Описание этой коллекции" msgstr "Описание этой коллекции"
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -189,32 +189,38 @@ msgstr "У этого пользователя уже есть файл с та
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Вы редактируете файлы другого пользователя. Будьте осторожны." msgstr "Вы редактируете файлы другого пользователя. Будьте осторожны."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr "Вы добавили сопутствующий файл %s!"
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Вы редактируете профиль пользователя. Будьте осторожны." msgstr "Вы редактируете профиль пользователя. Будьте осторожны."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Изменения профиля сохранены" msgstr "Изменения профиля сохранены"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "Настройки учётной записи записаны" msgstr "Настройки учётной записи записаны"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Неправильный пароль" msgstr "Неправильный пароль"
#: mediagoblin/edit/views.py:287 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!title" msgid "You already have a collection called \"%s\"!"
msgstr "У вас уже есть коллекция «%s»!title" msgstr "У вас уже есть коллекция с названием «%s»!"
#: mediagoblin/edit/views.py:290 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "У этого пользователя уже есть коллекция с такой отличительной частью адреса." msgstr "У этого пользователя уже есть коллекция с такой отличительной частью адреса."
#: mediagoblin/edit/views.py:307 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "Вы редактируете коллекцию другого пользователя. Будьте осторожны." msgstr "Вы редактируете коллекцию другого пользователя. Будьте осторожны."
@ -231,7 +237,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "Однако найдена (и удалена) старая символическая ссылка на каталог.\n" msgstr "Однако найдена (и удалена) старая символическая ссылка на каталог.\n"
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "Увы, я не поддерживаю этот тип файлов :(" msgstr "Увы, я не поддерживаю этот тип файлов :("
@ -265,7 +271,7 @@ msgstr ""
#: mediagoblin/plugins/oauth/forms.py:37 #: mediagoblin/plugins/oauth/forms.py:37
msgid "Description" msgid "Description"
msgstr "" msgstr "Описание"
#: mediagoblin/plugins/oauth/forms.py:39 #: mediagoblin/plugins/oauth/forms.py:39
msgid "" msgid ""
@ -301,7 +307,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -321,72 +327,48 @@ msgstr "Вы должны загрузить файл."
msgid "Woohoo! Submitted!" msgid "Woohoo! Submitted!"
msgstr "Ура! Файл загружен!" msgstr "Ура! Файл загружен!"
#: mediagoblin/submit/views.py:211 mediagoblin/user_pages/views.py:215
#, python-format
msgid "You already have a collection called \"%s\"!"
msgstr "У вас уже есть коллекция с названием «%s»!"
#: mediagoblin/submit/views.py:215 #: mediagoblin/submit/views.py:215
#, python-format #, python-format
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "Коллекция «%s» добавлена!" msgstr "Коллекция «%s» добавлена!"
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Изображение 404 нервничающего гоблина"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Ой!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Кажется, такой страницы не существует. Уж извините!"
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "Символ MediaGoblin" msgstr "Символ MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr "Учётная запись <a href=\"%(user_url)s\">%(user_name)s</a>"
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr "завершение сеанса"
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Добавить файлы"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Подтвердите ваш адрес электронной почты!" msgstr "Подтвердите ваш адрес электронной почты!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+ Добавить файл"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr "+ Добавить коллекцию"
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Посмотреть свой профиль"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Завершение сеанса"
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Войти" msgstr "Войти"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "Работает на <a href=\"http://mediagoblin.org\">MediaGoblin</a>, проекте <a href=\"http://gnu.org/\">GNU</a>." msgstr "Работает на <a href=\"http://mediagoblin.org\">MediaGoblin</a>, проекте <a href=\"http://gnu.org/\">GNU</a>."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -394,31 +376,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Он опубликован на условиях <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. Доступны <a href=\"%(source_link)s\">исходные тексты</a>." msgstr "Он опубликован на условиях <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL</a>. Доступны <a href=\"%(source_link)s\">исходные тексты</a>."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr "Изображение нервничающего гоблина"
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr "Действия"
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr "Создать новую коллекцию"
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr "Изменить настройки учётной записи"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Панель обработки файлов"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Смотреть" msgstr "Смотреть"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Привет! Добро пожаловать на наш MediaGoblinовый сайт!" msgstr "Привет! Добро пожаловать на наш MediaGoblinовый сайт!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "Этот сайт работает на <a href=\"http://mediagoblin.org\">MediaGoblin</a>, необыкновенно замечательном ПО для хостинга мультимедийных файлов." msgstr "Этот сайт работает на <a href=\"http://mediagoblin.org\">MediaGoblin</a>, необыкновенно замечательном ПО для хостинга мультимедийных файлов."
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "Для добавления собственных файлов, комментирования и т. п. вы можете представиться с помощью вашей MediaGoblinовой учётной записи." msgstr "Для добавления собственных файлов, комментирования и т. п. вы можете представиться с помощью вашей MediaGoblinовой учётной записи."
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "У вас её ещё нет? Не проблема!" msgstr "У вас её ещё нет? Не проблема!"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -426,17 +433,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Создайте учётную запись на этом сайте</a>\n или\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">установите MediaGoblin на собственный сервер</a>" msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Создайте учётную запись на этом сайте</a>\n или\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">установите MediaGoblin на собственный сервер</a>"
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Самые новые файлы" msgstr "Самые новые файлы"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Панель обработки файлов"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -545,30 +545,43 @@ msgstr "Привет, %(username)s!\n\nЧтобы активировать св
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "Добавление сопутствующего файла для %(media_title)s" msgstr "Добавление сопутствующего файла для %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr "Сопутствующие файлы"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Добавить сопутствующий файл"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Отмена"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Сохранить изменения"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Редактирование %(media_title)s" msgstr "Редактирование %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Отмена"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Сохранить изменения"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "Настройка учётной записи %(username)s" msgstr "Настройка учётной записи %(username)s"
@ -594,13 +607,12 @@ msgstr "Файлы с меткой: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "Скачать" msgstr "Скачать"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Оригинал" msgstr "Оригинал"
@ -627,6 +639,56 @@ msgstr "Исходный файл"
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "WebMфайл (кодек — Vorbis)" msgstr "WebMфайл (кодек — Vorbis)"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Изображение «%(media_title)s»"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -651,7 +713,7 @@ msgstr "Добавление коллекции"
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Добавить" msgstr "Добавить"
@ -680,14 +742,6 @@ msgstr "Изменить"
msgid "Delete" msgid "Delete"
msgstr "Удалить" msgstr "Удалить"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -695,7 +749,7 @@ msgid "Really delete %(title)s?"
msgstr "Удалить %(title)s?" msgstr "Удалить %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Удалить безвозвратно" msgstr "Удалить безвозвратно"
@ -704,7 +758,7 @@ msgstr "Удалить безвозвратно"
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "В самом деле исключить %(media_title)s из %(collection_title)s?" msgstr "В самом деле исключить %(media_title)s из %(collection_title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "Исключить" msgstr "Исключить"
@ -730,12 +784,6 @@ msgstr "Файлы пользователя <a href=\"%(user_url)s\">%(username)
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "❖ Просмотр файлов пользователя <a href=\"%(user_url)s\">%(username)s</a>" msgstr "❖ Просмотр файлов пользователя <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Изображение «%(media_title)s»"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "Добавить комментарий" msgstr "Добавить комментарий"
@ -762,25 +810,20 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Добавлено</h3>\n <p>%(date)s</p>" msgstr "<h3>Добавлено</h3>\n <p>%(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments" msgstr "Добавить файл к коллекции"
msgstr "Сопутствующие файлы"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Добавить сопутствующий файл"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
#, python-format #, python-format
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "Добавить %(title)s в коллекцию" msgstr "Добавить %(title)s в коллекцию"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "Добавление новой коллекции" msgstr "Добавление новой коллекции"
@ -851,42 +894,26 @@ msgstr "Редактировать профиль"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Этот пользователь не заполнил свой профайл (пока)." msgstr "Этот пользователь не заполнил свой профайл (пока)."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Изменить настройки учётной записи"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Смотреть все файлы %(username)s" msgstr "Смотреть все файлы %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Ваши файлы появятся здесь, когда вы их добавите." msgstr "Ваши файлы появятся здесь, когда вы их добавите."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Добавить файлы" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Пока что тут файлов нет…" msgstr "Пока что тут файлов нет…"
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid "" msgstr "(исключить)"
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
#, python-format #, python-format
@ -905,7 +932,7 @@ msgstr "лента в формате Atom"
msgid "Location" msgid "Location"
msgstr "На карте" msgstr "На карте"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "Посмотреть на <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgstr "Посмотреть на <a href=\"%(osm_url)s\">OpenStreetMap</a>"
@ -944,6 +971,32 @@ msgstr "Метки"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "Не удалось прочитать файл с изображением." msgstr "Не удалось прочитать файл с изображением."
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Ой!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr "Произошла ошибка"
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr "Операция не позволяется"
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Я уверен, что хочу удалить это" msgstr "Я уверен, что хочу удалить это"
@ -964,74 +1017,74 @@ msgstr "Примечание"
msgid "commented on your post" msgid "commented on your post"
msgstr "оставил комментарий к вашему файлу" msgstr "оставил комментарий к вашему файлу"
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Ой, ваш комментарий был пуст." msgstr "Ой, ваш комментарий был пуст."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Ваш комментарий размещён!" msgstr "Ваш комментарий размещён!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "Необходимо выбрать или добавить коллекцию" msgstr "Необходимо выбрать или добавить коллекцию"
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "«%s» — уже в коллекции «%s»" msgstr "«%s» — уже в коллекции «%s»"
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "«%s» добавлено в коллекцию «%s»" msgstr "«%s» добавлено в коллекцию «%s»"
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "Некоторые файлы от этой записи не обнаружены. Всё равно удаляем." msgstr "Некоторые файлы от этой записи не обнаружены. Всё равно удаляем."
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "Вы удалили файл." msgstr "Вы удалили файл."
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "Файл не удалён, так как вы не подтвердили свою уверенность галочкой." msgstr "Файл не удалён, так как вы не подтвердили свою уверенность галочкой."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Вы на пороге удаления файла другого пользователя. Будьте осторожны." msgstr "Вы на пороге удаления файла другого пользователя. Будьте осторожны."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "Вы исключили файл из коллекции." msgstr "Вы исключили файл из коллекции."
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "Файл не исключён из коллекции, так как вы не подтвердили своё намерение отметкой." msgstr "Файл не исключён из коллекции, так как вы не подтвердили своё намерение отметкой."
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "Вы на пороге исключения файла из коллекции другого пользователя. Будьте осторожны." msgstr "Вы на пороге исключения файла из коллекции другого пользователя. Будьте осторожны."
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "Вы удалили коллекцию «%s»" msgstr "Вы удалили коллекцию «%s»"
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "Коллекция не удалена, так как вы не подтвердили своё намерение отметкой." msgstr "Коллекция не удалена, так как вы не подтвердили своё намерение отметкой."
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "Вы на пороге удаления коллекции другого пользователя. Будьте осторожны." msgstr "Вы на пороге удаления коллекции другого пользователя. Будьте осторожны."

File diff suppressed because it is too large Load Diff

View File

@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -92,7 +92,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -103,7 +103,7 @@ msgid "Description of this work"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -119,11 +119,11 @@ msgstr "Oznake"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Oznaka" msgstr "Oznaka"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "Oznaka ne sme biti prazna" msgstr "Oznaka ne sme biti prazna"
@ -162,20 +162,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -189,33 +189,38 @@ msgstr "Vnos s to oznako za tega uporabnika že obstaja."
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Urejate vsebino drugega uporabnika. Nadaljujte pazljivo." msgstr "Urejate vsebino drugega uporabnika. Nadaljujte pazljivo."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Urejate uporabniški profil. Nadaljujte pazljivo." msgstr "Urejate uporabniški profil. Nadaljujte pazljivo."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -232,7 +237,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -302,7 +307,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -327,62 +332,43 @@ msgstr "Juhej! Poslano."
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Slika napake 404 s paničnim škratom"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Opa!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Oprostite. Videti je, da na tem naslovu ni nobene strani."
#: mediagoblin/templates/mediagoblin/404.html:28
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr "Če ste v točnost naslova prepričani, je bila iskana stran morda premaknjena ali pa izbrisana."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "Logotip MediaGoblin" msgstr "Logotip MediaGoblin"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Dodaj vsebino"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Prijava" msgstr "Prijava"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -390,31 +376,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Podokno obdelovanja vsebine"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -422,17 +433,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Podokno obdelovanja vsebine"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -541,30 +545,43 @@ msgstr "Pozdravljeni, %(username)s\n\nZa aktivacijo svojega računa GNU MediaGob
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Prekliči"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Shrani spremembe"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Urejanje %(media_title)s" msgstr "Urejanje %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Prekliči"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Shrani spremembe"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -590,13 +607,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -623,6 +639,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -647,7 +713,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -676,14 +742,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -691,7 +749,7 @@ msgid "Really delete %(title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -700,7 +758,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -726,12 +784,6 @@ msgstr "Vsebina uporabnika <a href=\"%(user_url)s\">%(username)s</a>"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -758,13 +810,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -772,11 +819,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -847,41 +894,25 @@ msgstr "Uredi profil"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Ta uporabnik še ni izpolnil svojega profila." msgstr "Ta uporabnik še ni izpolnil svojega profila."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Prikaži vso vsebino uporabnika %(username)s" msgstr "Prikaži vso vsebino uporabnika %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Tu bo prikazana vaša vsebina, a trenutno še niste dodali nič." msgstr "Tu bo prikazana vaša vsebina, a trenutno še niste dodali nič."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Dodaj vsebino" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Videti je, da tu še ni nobene vsebine ..." msgstr "Videti je, da tu še ni nobene vsebine ..."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -901,7 +932,7 @@ msgstr "Ikona Atom"
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -940,6 +971,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Opa!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "" msgstr ""
@ -960,74 +1017,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

View File

@ -3,13 +3,14 @@
# This file is distributed under the same license as the PROJECT project. # This file is distributed under the same license as the PROJECT project.
# #
# Translators: # Translators:
# Besnik Bleta <besnik@programeshqip.org>, 2012.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. # FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Albanian (http://www.transifex.com/projects/p/mediagoblin/language/sq/)\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/mediagoblin/language/sq/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -92,7 +93,7 @@ msgstr "Nuk u gjet dot dikush me atë emër përdoruesi ose email."
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "Tani mun të hyni duke përdorur fjalëkalimin tuaj të ri." msgstr "Tani mun të hyni duke përdorur fjalëkalimin tuaj të ri."
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -103,7 +104,7 @@ msgid "Description of this work"
msgstr "Përshkrim i kësaj pune" msgstr "Përshkrim i kësaj pune"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -119,11 +120,11 @@ msgstr "Etiketa"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "Ndajini etiketat me presje." msgstr "Ndajini etiketat me presje."
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Identifikues" msgstr "Identifikues"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "Identifikuesi s'mund të jetë i zbrazët" msgstr "Identifikuesi s'mund të jetë i zbrazët"
@ -162,24 +163,24 @@ msgstr "Jepni fjalëkalimin tuaj të vjetër që të provohet se këtë llogari
msgid "New password" msgid "New password"
msgstr "Fjalëkalimi i ri" msgstr "Fjalëkalimi i ri"
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr "Dërgomë email kur të tjerët komentojnë te media ime"
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr "Titulli s'mund të jetë i zbrazët"
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr "Përshkrim i këtij koleksioni"
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
msgstr "" msgstr "Pjesa titull e adresës së këtij koleksioni. Zakonisht nuk keni pse e ndryshoni këtë."
#: mediagoblin/edit/views.py:65 #: mediagoblin/edit/views.py:65
msgid "An entry with that slug already exists for this user." msgid "An entry with that slug already exists for this user."
@ -187,96 +188,101 @@ msgstr "Ka tashmë një zë me atë identifikues për këtë përdorues."
#: mediagoblin/edit/views.py:86 #: mediagoblin/edit/views.py:86
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Po përpunoni media të një tjetër përdoruesi. Bëni kujdes." msgstr "Po përpunoni media të një tjetër përdoruesi. Hapni sytë."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr "Shtuat bashkangjitjen %s!"
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Po përpunoni profilin e një përdoruesi. Bëni kujdes." msgstr "Po përpunoni profilin e një përdoruesi. Hapni sytë."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "Ndryshimet e profilit u ruajtën" msgstr "Ndryshimet e profilit u ruajtën"
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "Rregullimet e llogarisë u ruajtën" msgstr "Rregullimet e llogarisë u ruajtën"
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Fjalëkalim i gabuar" msgstr "Fjalëkalim i gabuar"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr "Keni tashmë një koleksion të quajtur \"%s\"!"
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr "Ka tashmë një koleksion me atë identifikues për këtë përdorues."
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr "Po përpunoni koleksionin e një tjetër përdoruesi. Hapni sytë."
#: mediagoblin/gmg_commands/theme.py:58 #: mediagoblin/gmg_commands/theme.py:58
msgid "Cannot link theme... no theme set\n" msgid "Cannot link theme... no theme set\n"
msgstr "" msgstr "Nuk krijohet dot lidhje për te tema... nuk ka temë të caktuar\n"
#: mediagoblin/gmg_commands/theme.py:71 #: mediagoblin/gmg_commands/theme.py:71
msgid "No asset directory for this theme\n" msgid "No asset directory for this theme\n"
msgstr "" msgstr "Nuk ka drejtori asetesh për këtë temë\n"
#: mediagoblin/gmg_commands/theme.py:74 #: mediagoblin/gmg_commands/theme.py:74
msgid "However, old link directory symlink found; removed.\n" msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr "Sidoqoftë, u gjet simlidhje e vjetër drejtorie lidhjesh; u hoq.\n"
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "Na ndjeni, nuk e mbullojmë këtë lloj kartele :(" msgstr "Na ndjeni, nuk e mbullojmë këtë lloj kartele :("
#: mediagoblin/media_types/video/processing.py:35 #: mediagoblin/media_types/video/processing.py:35
msgid "Video transcoding failed" msgid "Video transcoding failed"
msgstr "" msgstr "Ndërkodimi i videos dështoi"
#: mediagoblin/plugins/oauth/forms.py:26 #: mediagoblin/plugins/oauth/forms.py:26
msgid "Client ID" msgid "Client ID"
msgstr "" msgstr "ID klienti"
#: mediagoblin/plugins/oauth/forms.py:28 #: mediagoblin/plugins/oauth/forms.py:28
msgid "Next URL" msgid "Next URL"
msgstr "" msgstr "URL-ja Pasuese"
#: mediagoblin/plugins/oauth/forms.py:30 #: mediagoblin/plugins/oauth/forms.py:30
msgid "Allow" msgid "Allow"
msgstr "" msgstr "Lejoje"
#: mediagoblin/plugins/oauth/forms.py:31 #: mediagoblin/plugins/oauth/forms.py:31
msgid "Deny" msgid "Deny"
msgstr "" msgstr "Mohoje"
#: mediagoblin/plugins/oauth/forms.py:35 #: mediagoblin/plugins/oauth/forms.py:35
msgid "Name" msgid "Name"
msgstr "" msgstr "Emër"
#: mediagoblin/plugins/oauth/forms.py:36 #: mediagoblin/plugins/oauth/forms.py:36
msgid "The name of the OAuth client" msgid "The name of the OAuth client"
msgstr "" msgstr "Emri i klientit OAuth"
#: mediagoblin/plugins/oauth/forms.py:37 #: mediagoblin/plugins/oauth/forms.py:37
msgid "Description" msgid "Description"
msgstr "" msgstr "Përshkrim"
#: mediagoblin/plugins/oauth/forms.py:39 #: mediagoblin/plugins/oauth/forms.py:39
msgid "" msgid ""
"This will be visible to users allowing your\n" "This will be visible to users allowing your\n"
" application to authenticate as them." " application to authenticate as them."
msgstr "" msgstr "Kjo do të jetë e dukshme për përdoruesit,\n duke i lejuar kështu zbatimit tuaj\n të kryejë mirëfilltësim si të qe njëri prej tyre."
#: mediagoblin/plugins/oauth/forms.py:41 #: mediagoblin/plugins/oauth/forms.py:41
msgid "Type" msgid "Type"
msgstr "" msgstr "Lloj"
#: mediagoblin/plugins/oauth/forms.py:46 #: mediagoblin/plugins/oauth/forms.py:46
msgid "" msgid ""
@ -286,25 +292,25 @@ msgid ""
" <strong>Public</strong> - The client can't make confidential\n" " <strong>Public</strong> - The client can't make confidential\n"
" requests to the GNU MediaGoblin instance (e.g. client-side\n" " requests to the GNU MediaGoblin instance (e.g. client-side\n"
" JavaScript client)." " JavaScript client)."
msgstr "" msgstr "<strong>Konfidenciale</strong> - Kklienti mund\n të bëjë kërkesa te instanca GNU MediaGoblin që nuk mund\n të përgjohen nga agjenti i përdoruesit (p.sh. klient te shërbyesi).<br />\n <strong>Publike</strong> - Klienti nuk mund të bëjë kërkesa\n konfidenciale te instanca GNU MediaGoblin (p.sh. klient\n JavaScript i vetë klientit)."
#: mediagoblin/plugins/oauth/forms.py:53 #: mediagoblin/plugins/oauth/forms.py:53
msgid "Redirect URI" msgid "Redirect URI"
msgstr "" msgstr "URI Ridrejtimi"
#: mediagoblin/plugins/oauth/forms.py:55 #: mediagoblin/plugins/oauth/forms.py:55
msgid "" msgid ""
"The redirect URI for the applications, this field\n" "The redirect URI for the applications, this field\n"
" is <strong>required</strong> for public clients." " is <strong>required</strong> for public clients."
msgstr "" msgstr "URI ridrejtimi për zbatimin, kjo fushë\n është <strong>e domosdoshme</strong> për klientë publikë."
#: mediagoblin/plugins/oauth/forms.py:67 #: mediagoblin/plugins/oauth/forms.py:67
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr "Kjo fushë është e domosdoshme për klientë publikë"
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr "Klienti {0} u regjistrua!"
#: mediagoblin/processing/__init__.py:138 #: mediagoblin/processing/__init__.py:138
msgid "Invalid file given for media type." msgid "Invalid file given for media type."
@ -325,64 +331,45 @@ msgstr "Yhaaaaaa! U parashtrua!"
#: mediagoblin/submit/views.py:215 #: mediagoblin/submit/views.py:215
#, python-format #, python-format
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr "U shtua koleksioni \"%s\"!"
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Figurë 404 e djallushit në siklet"
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Oooh!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Nuk duket të ketë ndonjë faqe te kjo adresë. Na ndjeni!"
#: mediagoblin/templates/mediagoblin/404.html:28
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr "Nëse jeni i sigurt se adresa është e saktë, ndoshta faqja që po kërkoni është fshirë ose kaluar gjetkë."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "Logoja e MediaGoblin-it" msgstr "Logoja e MediaGoblin-it"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr "Llogaria e <a href=\"%(user_url)s\">%(user_name)s</a>"
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr "dilni"
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Shtoni media"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Verifikoni email-in tuaj!" msgstr "Verifikoni email-in tuaj!"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr "+ Shtoni media"
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr "Shihni profilin tuaj"
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr "Dilni"
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Hyni" msgstr "Hyni"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "Bazuar në <a href=\"http://mediagoblin.org\">MediaGoblin</a>, një projekt <a href=\"http://gnu.org/\">GNU</a>." msgstr "Bazuar në <a href=\"http://mediagoblin.org\">MediaGoblin</a>, një projekt <a href=\"http://gnu.org/\">GNU</a>."
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -390,42 +377,24 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "Hedhur në qarkullim sipas <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL-së</a>. <a href=\"%(source_link)s\">Kodi burim</a> është i passhëm." msgstr "Hedhur në qarkullim sipas <a href=\"http://www.fsf.org/licensing/licenses/agpl-3.0.html\">AGPL-së</a>. <a href=\"%(source_link)s\">Kodi burim</a> është i passhëm."
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Explore" msgid "Image of goblin stressing out"
msgstr "Eksploroni"
#: mediagoblin/templates/mediagoblin/root.html:26
msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Tungjatjeta juaj, mirë se vini te ky site MediaGoblin!"
#: mediagoblin/templates/mediagoblin/root.html:28
msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software."
msgstr "Ky site përdor <a href=\"http://mediagoblin.org\">MediaGoblin</a>, një program jashtëzakonisht i shkëlqyer për strehim mediash."
#: mediagoblin/templates/mediagoblin/root.html:29
msgid ""
"To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr "Veprime"
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:31
msgid "Don't have one yet? It's easy!" msgid "Create new collection"
msgstr "Nuk keni ende një të tillë? Është e lehtë!" msgstr "Krijoni koleksion të ri"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:34
#, python-format msgid "Change account settings"
msgid "" msgstr "Ndryshoni rregullime llogarie"
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
" or\n"
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Krijoni një llogarin te ky site</a>\n ose\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Instaloni dhe rregulloni MediaGoblin-in te shërbyesi juaj</a>"
#: mediagoblin/templates/mediagoblin/root.html:40
msgid "Most recent media"
msgstr "Mediat më të reja"
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21 #: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26 #: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
@ -433,10 +402,46 @@ msgstr "Mediat më të reja"
msgid "Media processing panel" msgid "Media processing panel"
msgstr "Paneli i Përpunimit të Medias" msgstr "Paneli i Përpunimit të Medias"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore"
msgstr "Eksploroni"
#: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Tungjatjeta juaj, mirë se vini te ky site MediaGoblin!"
#: mediagoblin/templates/mediagoblin/root.html:55
msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software."
msgstr "Ky site përdor <a href=\"http://mediagoblin.org\">MediaGoblin</a>, një program jashtëzakonisht i shkëlqyer për strehim mediash."
#: mediagoblin/templates/mediagoblin/root.html:56
msgid ""
"To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account."
msgstr "Për të shtuar media tuajën, për të bërë komente, dhe të tjera, mund të hyni përmes llogarisë suaj MediaGoblin."
#: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!"
msgstr "Nuk keni ende një të tillë? Është e lehtë!"
#: mediagoblin/templates/mediagoblin/root.html:59
#, python-format
msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
" or\n"
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Krijoni një llogarin te ky site</a>\n ose\n <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Instaloni dhe rregulloni MediaGoblin-in te shërbyesi juaj</a>"
#: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media"
msgstr "Mediat më të reja"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
msgstr "" msgstr "Këtu mund të ndiqni gjendjen e medias që po përpunohet në këtë instancë."
#: mediagoblin/templates/mediagoblin/admin/panel.html:32 #: mediagoblin/templates/mediagoblin/admin/panel.html:32
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:32
@ -456,16 +461,16 @@ msgstr "Nuk arritën të kryheshin këto ngarkime:"
#: mediagoblin/templates/mediagoblin/admin/panel.html:90 #: mediagoblin/templates/mediagoblin/admin/panel.html:90
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:86
msgid "No failed entries!" msgid "No failed entries!"
msgstr "" msgstr "Pa zëra të dështuar!"
#: mediagoblin/templates/mediagoblin/admin/panel.html:92 #: mediagoblin/templates/mediagoblin/admin/panel.html:92
msgid "Last 10 successful uploads" msgid "Last 10 successful uploads"
msgstr "" msgstr "10 Ngarkimet e Fundit të Suksesshme"
#: mediagoblin/templates/mediagoblin/admin/panel.html:112 #: mediagoblin/templates/mediagoblin/admin/panel.html:112
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:107
msgid "No processed entries, yet!" msgid "No processed entries, yet!"
msgstr "" msgstr "Ende pa zëra të përpunuar!"
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:28 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:28
#: mediagoblin/templates/mediagoblin/auth/change_fp.html:36 #: mediagoblin/templates/mediagoblin/auth/change_fp.html:36
@ -539,7 +544,36 @@ msgstr "Njatjeta %(username)s,\n\nqë të aktivizoni llogarinë tuaj te GNU Medi
#: mediagoblin/templates/mediagoblin/edit/attachments.html:35 #: mediagoblin/templates/mediagoblin/edit/attachments.html:35
#, python-format #, python-format
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr "Po përpunohen bashkangjitjet për %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr "Bashkangjitje"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "Shtoni bashkangjitje"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Anuloje"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Ruaji ndryshimet"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
@ -547,24 +581,8 @@ msgstr ""
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Po përpunohet %(media_title)s" msgstr "Po përpunohet %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Anuloje"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Ruaji ndryshimet"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "Po ndryshohen rregullimet e llogarisë %(username)s" msgstr "Po ndryshohen rregullimet e llogarisë %(username)s"
@ -572,7 +590,7 @@ msgstr "Po ndryshohen rregullimet e llogarisë %(username)s"
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29 #: mediagoblin/templates/mediagoblin/edit/edit_collection.html:29
#, python-format #, python-format
msgid "Editing %(collection_title)s" msgid "Editing %(collection_title)s"
msgstr "" msgstr "Po përpunohet %(collection_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:23
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35
@ -590,13 +608,12 @@ msgstr "Media e etiketuar me:: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "Shkarkojeni" msgstr "Shkarkojeni"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Origjinal" msgstr "Origjinal"
@ -617,12 +634,62 @@ msgstr "Një shfletues web modern që mund të luajë \n\taudion mund ta merrni
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:60 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:60
#: mediagoblin/templates/mediagoblin/media_displays/video.html:56 #: mediagoblin/templates/mediagoblin/media_displays/video.html:56
msgid "Original file" msgid "Original file"
msgstr "" msgstr "Kartela origjinale"
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:63 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:63
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "Kartelë WebM (kodek Vorbis)" msgstr "Kartelë WebM (kodek Vorbis)"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Figurë për %(media_title)s"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr "Perspektivë"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr "Ball"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr "Krye"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr "Anë"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr "WebGL"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr "Shkarkojeni modelin"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr "Format Kartele"
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr "Lartësi Objekti"
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -639,15 +706,15 @@ msgstr "Një shfletues web modern që \n\t mund ta luajë këtë video mund t
#: mediagoblin/templates/mediagoblin/media_displays/video.html:59 #: mediagoblin/templates/mediagoblin/media_displays/video.html:59
msgid "WebM file (640p; VP8/Vorbis)" msgid "WebM file (640p; VP8/Vorbis)"
msgstr "" msgstr "Kartelë WebM (640p; VP8/Vorbis)"
#: mediagoblin/templates/mediagoblin/submit/collection.html:26 #: mediagoblin/templates/mediagoblin/submit/collection.html:26
msgid "Add a collection" msgid "Add a collection"
msgstr "" msgstr "Shtoni një koleksion"
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "Shtoni" msgstr "Shtoni"
@ -659,12 +726,12 @@ msgstr "Shtoni media tuajën"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:30
#, python-format #, python-format
msgid "%(collection_title)s (%(username)s's collection)" msgid "%(collection_title)s (%(username)s's collection)"
msgstr "" msgstr "%(collection_title)s (koleksione nga %(username)s)"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:39 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:39
#, python-format #, python-format
msgid "%(collection_title)s by <a href=\"%(user_url)s\">%(username)s</a>" msgid "%(collection_title)s by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr "%(collection_title)s nga <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:52 #: mediagoblin/templates/mediagoblin/user_pages/collection.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media.html:87 #: mediagoblin/templates/mediagoblin/user_pages/media.html:87
@ -676,14 +743,6 @@ msgstr "Përpunoni"
msgid "Delete" msgid "Delete"
msgstr "Fshije" msgstr "Fshije"
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -691,25 +750,25 @@ msgid "Really delete %(title)s?"
msgstr "Të fshihet vërtet %(title)s?" msgstr "Të fshihet vërtet %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "Fshije përgjithmonë" msgstr "Fshije përgjithmonë"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:31
#, python-format #, python-format
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr "Të hiqet vërtet %(media_title)s nga %(collection_title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr "Hiqe"
#: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19 #: mediagoblin/templates/mediagoblin/user_pages/comment_email.txt:19
#, python-format #, python-format
msgid "" msgid ""
"Hi %(username)s,\n" "Hi %(username)s,\n"
"%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n" "%(comment_author)s commented on your post (%(comment_url)s) at %(instance_name)s\n"
msgstr "" msgstr "Tungjatjeta %(username)s,\n%(comment_author)s ka komentuar te postimi juaj (%(comment_url)s) në %(instance_name)s\n"
#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 #: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30
#, python-format #, python-format
@ -726,12 +785,6 @@ msgstr "Media nga <a href=\"%(user_url)s\">%(username)s</a>"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "❖ Po shfletoni media nga <a href=\"%(user_url)s\">%(username)s</a>" msgstr "❖ Po shfletoni media nga <a href=\"%(user_url)s\">%(username)s</a>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr "Figurë për %(media_title)s"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "Shtoni një koment" msgstr "Shtoni një koment"
@ -758,27 +811,22 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "<h3>Shtuar më</h3>\n <p>%(date)s</p>" msgstr "<h3>Shtuar më</h3>\n <p>%(date)s</p>"
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments" msgstr "Shtoni koleksion media"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
#, python-format #, python-format
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr "Shtoni %(title)s te koleksioni juaj"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr "+"
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr "Shtoni një koleksion të ri"
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:29
msgid "" msgid ""
@ -787,7 +835,7 @@ msgstr "Gjendjen e medias që po përpunohet për galerinë tuaj mund ta ndiqni
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89 #: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:89
msgid "Your last 10 successful uploads" msgid "Your last 10 successful uploads"
msgstr "" msgstr "10 ngarkimet tuaja më të suksesshme"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:31 #: mediagoblin/templates/mediagoblin/user_pages/user.html:31
#: mediagoblin/templates/mediagoblin/user_pages/user.html:89 #: mediagoblin/templates/mediagoblin/user_pages/user.html:89
@ -847,47 +895,31 @@ msgstr "Përpunoni profil"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Ky përdorues nuk e ka plotësuar (ende) profilin e vet." msgstr "Ky përdorues nuk e ka plotësuar (ende) profilin e vet."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr "Ndryshoni rregullime llogarie"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Shihni krejt mediat nga %(username)s" msgstr "Shihni krejt mediat nga %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Media juaj do të shfaqet këtu, por nuk duket të keni shtuar gjë ende." msgstr "Media juaj do të shfaqet këtu, por nuk duket të keni shtuar gjë ende."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Shtoni media" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Nuk duket ende të ketë ndonjë media këtu..." msgstr "Nuk duket ende të ketë ndonjë media këtu..."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid "" msgstr "(hiqe)"
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
#, python-format #, python-format
msgid "In collections (%(collected)s)" msgid "In collections (%(collected)s)"
msgstr "" msgstr "Te koleksionet (%(collected)s)"
#: mediagoblin/templates/mediagoblin/utils/feed_link.html:21 #: mediagoblin/templates/mediagoblin/utils/feed_link.html:21
msgid "feed icon" msgid "feed icon"
@ -901,7 +933,7 @@ msgstr "Prurje Atom"
msgid "Location" msgid "Location"
msgstr "Vend" msgstr "Vend"
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "Shiheni te <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgstr "Shiheni te <a href=\"%(osm_url)s\">OpenStreetMap</a>"
@ -940,94 +972,120 @@ msgstr "Etiketuar me"
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "Nuk lexoi dot kartelën e figurës." msgstr "Nuk lexoi dot kartelën e figurës."
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Oooh!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr "Ndodhi një gabim"
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr "Veprim i palejuar"
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr "Më ndjeni or trim, nuk ju lë dot ta bëni këtë!</p><p>Provuat të kryeni një funksion që nuk lejohet. Keni provuar prapë të fshini krejt llogaritë e përdoruesve?"
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr "Nuk duket se ka ndonjë faqe në këtë adresë. Na ndjeni!</p><p>Nëse jeni i sigurt se kjo adresë është e saktë, ndoshta faqja që po kërkoni është lëvizur ose fshirë."
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Jam i sigurt që dua të fshihet kjo" msgstr "Jam i sigurt që dua të fshihet kjo"
#: mediagoblin/user_pages/forms.py:32 #: mediagoblin/user_pages/forms.py:32
msgid "I am sure I want to remove this item from the collection" msgid "I am sure I want to remove this item from the collection"
msgstr "" msgstr "Jam i sigurt se dua që të hiqet ky objekt prek koleksioni"
#: mediagoblin/user_pages/forms.py:35 #: mediagoblin/user_pages/forms.py:35
msgid "-- Select --" msgid "-- Select --"
msgstr "" msgstr "-- Përzgjidhni --"
#: mediagoblin/user_pages/forms.py:37 #: mediagoblin/user_pages/forms.py:37
msgid "Include a note" msgid "Include a note"
msgstr "" msgstr "Përfshini një shënim"
#: mediagoblin/user_pages/lib.py:56 #: mediagoblin/user_pages/lib.py:56
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr "komentoi te postimi juaj"
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "Hmmm, komenti juaj qe i zbrazët." msgstr "Hmmm, komenti juaj qe i zbrazët."
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "Komenti juaj u postua!" msgstr "Komenti juaj u postua!"
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr "Duhet të përzgjidhni ose shtoni një koleksion"
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr "\"%s\" gjendet tashmë te koleksioni \"%s\""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr "\"%s\" u shtua te koleksioni \"%s\""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr "Ju lutemi, kontrolloni zërat tuaj dhe riprovoni."
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr "Duket se mungojnë disa nga kartelat në këtë zë. Po fshihet, sido qoftë."
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "E fshitë median." msgstr "E fshitë median."
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "Media nuk u fshi ngaqë nuk i vutë shenjë pohimit se jeni i sigurt." msgstr "Media nuk u fshi ngaqë nuk i vutë shenjë pohimit se jeni i sigurt."
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "Ju ndan një hap nga fshirja e medias të një tjetër përdoruesi. Bëni kujdes." msgstr "Ju ndan një hap nga fshirja e medias të një tjetër përdoruesi. Hapni sytë."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr "E fshitë objektin prej koleksionit."
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr "Objekti nuk u fshi ngaqë, nuk pohuat se jeni të sigurt për këtë."
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr "Ju ndan një hap nga fshirja e një objekti prej koleksionit të një përdoruesi tjetër. Hapni sytë."
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr "E fshitë koleksionin \"%s\""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr "Koleksioni nuk u fshi ngaqë, nuk pohuat se jeni të sigurt për këtë."
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr "Ju ndan një hap nga fshirja e koleksionit të një përdoruesi tjetër. Hapni sytë."

View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/mediagoblin/language/sr/)\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/mediagoblin/language/sr/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -91,7 +91,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -102,7 +102,7 @@ msgid "Description of this work"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -118,11 +118,11 @@ msgstr ""
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "" msgstr ""
@ -161,20 +161,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -188,33 +188,38 @@ msgstr ""
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -231,7 +236,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -301,7 +306,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -326,62 +331,43 @@ msgstr ""
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -389,31 +375,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -421,17 +432,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -540,30 +544,43 @@ msgstr ""
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -589,13 +606,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -622,6 +638,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -646,7 +712,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -675,14 +741,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -690,7 +748,7 @@ msgid "Really delete %(title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -699,7 +757,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -725,12 +783,6 @@ msgstr ""
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -757,13 +809,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -771,11 +818,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -846,41 +893,25 @@ msgstr ""
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -900,7 +931,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -939,6 +970,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr ""
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "" msgstr ""
@ -959,74 +1016,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

View File

@ -9,8 +9,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/mediagoblin/language/sv/)\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/mediagoblin/language/sv/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -93,7 +93,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -104,7 +104,7 @@ msgid "Description of this work"
msgstr "Beskrivning av verket" msgstr "Beskrivning av verket"
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -120,11 +120,11 @@ msgstr "Taggar"
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "Sökvägsnamn" msgstr "Sökvägsnamn"
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "Sökvägsnamnet kan inte vara tomt" msgstr "Sökvägsnamnet kan inte vara tomt"
@ -163,20 +163,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -190,33 +190,38 @@ msgstr "Ett inlägg med det sökvägsnamnet existerar redan."
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "Var försiktig, du redigerar någon annans inlägg." msgstr "Var försiktig, du redigerar någon annans inlägg."
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "Var försiktig, du redigerar en annan användares profil." msgstr "Var försiktig, du redigerar en annan användares profil."
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "Fel lösenord" msgstr "Fel lösenord"
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -233,7 +238,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -303,7 +308,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -328,62 +333,43 @@ msgstr "Tjohoo! Upladdat!"
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr "Bild av stressat 404-troll."
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr "Ojoj!"
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr "Ledsen, det verkar inte vara någonting här."
#: mediagoblin/templates/mediagoblin/404.html:28
msgid ""
"If you're sure the address is correct, maybe the page you're looking for has"
" been moved or deleted."
msgstr "Om du är säker på att adressen stämmer så kanske sidan du letar efter har flyttats eller tagits bort."
#: mediagoblin/templates/mediagoblin/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "MediaGoblin-logotyp" msgstr "MediaGoblin-logotyp"
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr "Lägg till media"
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "Verifiera din e-postadress" msgstr "Verifiera din e-postadress"
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "Logga in" msgstr "Logga in"
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -391,31 +377,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Mediabehandlingspanel"
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "Utforska" msgstr "Utforska"
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "Hej, välkommen till den här MediaGoblin-sidan!" msgstr "Hej, välkommen till den här MediaGoblin-sidan!"
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "Har du inte ett redan?" msgstr "Har du inte ett redan?"
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -423,17 +434,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "Senast medier" msgstr "Senast medier"
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr "Mediabehandlingspanel"
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -542,30 +546,43 @@ msgstr "Hej %(username)s,\n\nöppna den följande webbadressen i din webbläsare
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "Avbryt"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Spara ändringar"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "Redigerar %(media_title)s" msgstr "Redigerar %(media_title)s"
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "Avbryt"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "Spara ändringar"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -591,13 +608,12 @@ msgstr "Media taggat med: %(tag_name)s"
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "Original" msgstr "Original"
@ -624,6 +640,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -648,7 +714,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -677,14 +743,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -692,7 +750,7 @@ msgid "Really delete %(title)s?"
msgstr "Vill du verkligen radera %(title)s?" msgstr "Vill du verkligen radera %(title)s?"
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -701,7 +759,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -727,12 +785,6 @@ msgstr "<a href=\"%(user_url)s\">%(username)s</a>s media"
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -759,13 +811,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -773,11 +820,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -848,41 +895,25 @@ msgstr "Redigera profil"
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "Den här användaren har inte fyllt i sin profilsida ännu." msgstr "Den här användaren har inte fyllt i sin profilsida ännu."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "Se all media från %(username)s" msgstr "Se all media från %(username)s"
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "Här kommer din media att dyka upp, du verkar inte ha lagt till någonting ännu." msgstr "Här kommer din media att dyka upp, du verkar inte ha lagt till någonting ännu."
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "Lägg till media" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "Det verkar inte finnas någon media här ännu." msgstr "Det verkar inte finnas någon media här ännu."
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -902,7 +933,7 @@ msgstr "Atom-feed"
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -941,6 +972,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr "Ojoj!"
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "Jag är säker på att jag vill radera detta" msgstr "Jag är säker på att jag vill radera detta"
@ -961,74 +1018,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." 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." msgstr "Du tänker radera en annan användares media. Var försiktig."
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

View File

@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -92,7 +92,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -103,7 +103,7 @@ msgid "Description of this work"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -119,11 +119,11 @@ msgstr ""
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "" msgstr ""
@ -162,20 +162,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -189,33 +189,38 @@ msgstr ""
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -232,7 +237,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -302,7 +307,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -327,62 +332,43 @@ msgstr ""
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -390,31 +376,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -422,17 +433,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -541,30 +545,43 @@ msgstr ""
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr "రద్దుచేయి"
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "మార్పులను భద్రపరచు"
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr "రద్దుచేయి"
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr "మార్పులను భద్రపరచు"
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -590,13 +607,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -623,6 +639,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -647,7 +713,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -676,14 +742,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -691,7 +749,7 @@ msgid "Really delete %(title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -700,7 +758,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -726,12 +784,6 @@ msgstr ""
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -758,13 +810,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -772,11 +819,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -847,41 +894,25 @@ msgstr ""
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -901,7 +932,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -940,6 +971,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr ""
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "" msgstr ""
@ -960,74 +1017,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU MediaGoblin\n" "Project-Id-Version: GNU MediaGoblin\n"
"Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n" "Report-Msgid-Bugs-To: http://issues.mediagoblin.org/\n"
"POT-Creation-Date: 2012-09-24 14:01-0500\n" "POT-Creation-Date: 2012-12-20 09:18-0600\n"
"PO-Revision-Date: 2012-09-24 18:57+0000\n" "PO-Revision-Date: 2012-12-20 15:14+0000\n"
"Last-Translator: cwebber <cwebber@dustycloud.org>\n" "Last-Translator: cwebber <cwebber@dustycloud.org>\n"
"Language-Team: Chinese (Taiwan) (Big5) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW.Big5/)\n" "Language-Team: Chinese (Taiwan) (Big5) (http://www.transifex.com/projects/p/mediagoblin/language/zh_TW.Big5/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -91,7 +91,7 @@ msgstr ""
msgid "You can now log in using your new password." msgid "You can now log in using your new password."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:83 #: mediagoblin/edit/forms.py:25 mediagoblin/edit/forms.py:82
#: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47 #: mediagoblin/submit/forms.py:28 mediagoblin/submit/forms.py:47
#: mediagoblin/user_pages/forms.py:40 #: mediagoblin/user_pages/forms.py:40
msgid "Title" msgid "Title"
@ -102,7 +102,7 @@ msgid "Description of this work"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52 #: mediagoblin/edit/forms.py:29 mediagoblin/edit/forms.py:52
#: mediagoblin/edit/forms.py:87 mediagoblin/submit/forms.py:32 #: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:32
#: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44 #: mediagoblin/submit/forms.py:51 mediagoblin/user_pages/forms.py:44
msgid "" msgid ""
"You can use\n" "You can use\n"
@ -118,11 +118,11 @@ msgstr ""
msgid "Separate tags by commas." msgid "Separate tags by commas."
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:91 #: mediagoblin/edit/forms.py:38 mediagoblin/edit/forms.py:90
msgid "Slug" msgid "Slug"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:92 #: mediagoblin/edit/forms.py:39 mediagoblin/edit/forms.py:91
msgid "The slug can't be empty" msgid "The slug can't be empty"
msgstr "" msgstr ""
@ -161,20 +161,20 @@ msgstr ""
msgid "New password" msgid "New password"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:72 #: mediagoblin/edit/forms.py:71
msgid "Email me when others comment on my media" msgid "Email me when others comment on my media"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:84 #: mediagoblin/edit/forms.py:83
msgid "The title can't be empty" msgid "The title can't be empty"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:86 mediagoblin/submit/forms.py:50 #: mediagoblin/edit/forms.py:85 mediagoblin/submit/forms.py:50
#: mediagoblin/user_pages/forms.py:43 #: mediagoblin/user_pages/forms.py:43
msgid "Description of this collection" msgid "Description of this collection"
msgstr "" msgstr ""
#: mediagoblin/edit/forms.py:93 #: mediagoblin/edit/forms.py:92
msgid "" msgid ""
"The title part of this collection's address. You usually don't need to " "The title part of this collection's address. You usually don't need to "
"change this." "change this."
@ -188,33 +188,38 @@ msgstr ""
msgid "You are editing another user's media. Proceed with caution." msgid "You are editing another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:182 #: mediagoblin/edit/views.py:156
#, python-format
msgid "You added the attachment %s!"
msgstr ""
#: mediagoblin/edit/views.py:181
msgid "You are editing a user's profile. Proceed with caution." msgid "You are editing a user's profile. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:198 #: mediagoblin/edit/views.py:197
msgid "Profile changes saved" msgid "Profile changes saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:227 mediagoblin/edit/views.py:247 #: mediagoblin/edit/views.py:226 mediagoblin/edit/views.py:246
msgid "Account settings saved" msgid "Account settings saved"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:252 #: mediagoblin/edit/views.py:251
msgid "Wrong password" msgid "Wrong password"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:288 mediagoblin/submit/views.py:211 #: mediagoblin/edit/views.py:287 mediagoblin/submit/views.py:211
#: mediagoblin/user_pages/views.py:215 #: mediagoblin/user_pages/views.py:210
#, python-format #, python-format
msgid "You already have a collection called \"%s\"!" msgid "You already have a collection called \"%s\"!"
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:292 #: mediagoblin/edit/views.py:291
msgid "A collection with that slug already exists for this user." msgid "A collection with that slug already exists for this user."
msgstr "" msgstr ""
#: mediagoblin/edit/views.py:309 #: mediagoblin/edit/views.py:308
msgid "You are editing another user's collection. Proceed with caution." msgid "You are editing another user's collection. Proceed with caution."
msgstr "" msgstr ""
@ -231,7 +236,7 @@ msgid "However, old link directory symlink found; removed.\n"
msgstr "" msgstr ""
#: mediagoblin/media_types/__init__.py:60 #: mediagoblin/media_types/__init__.py:60
#: mediagoblin/media_types/__init__.py:120 #: mediagoblin/media_types/__init__.py:101
msgid "Sorry, I don't support that file type :(" msgid "Sorry, I don't support that file type :("
msgstr "" msgstr ""
@ -301,7 +306,7 @@ msgstr ""
msgid "This field is required for public clients" msgid "This field is required for public clients"
msgstr "" msgstr ""
#: mediagoblin/plugins/oauth/views.py:59 #: mediagoblin/plugins/oauth/views.py:60
msgid "The client {0} has been registered!" msgid "The client {0} has been registered!"
msgstr "" msgstr ""
@ -326,62 +331,43 @@ msgstr ""
msgid "Collection \"%s\" added!" msgid "Collection \"%s\" added!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:24 #: mediagoblin/templates/mediagoblin/base.html:48
msgid "Image of 404 goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:25
msgid "Oops!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:26
msgid "There doesn't seem to be a page at this address. Sorry!"
msgstr ""
#: mediagoblin/templates/mediagoblin/404.html:28
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/base.html:50
msgid "MediaGoblin logo" msgid "MediaGoblin logo"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:54
#, python-format
msgid "<a href=\"%(user_url)s\">%(user_name)s</a>'s account"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:60 #: mediagoblin/templates/mediagoblin/base.html:60
msgid "log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:62
#: mediagoblin/templates/mediagoblin/root.html:28
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151
msgid "Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:68
msgid "Verify your email!" msgid "Verify your email!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:66 #: mediagoblin/templates/mediagoblin/base.html:73
msgid "+ Add media"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:67
msgid "+ Add collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:69
msgid "View your profile"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:70
msgid "Log out"
msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:75
#: mediagoblin/templates/mediagoblin/auth/login.html:28 #: mediagoblin/templates/mediagoblin/auth/login.html:28
#: mediagoblin/templates/mediagoblin/auth/login.html:36 #: mediagoblin/templates/mediagoblin/auth/login.html:36
#: mediagoblin/templates/mediagoblin/auth/login.html:54 #: mediagoblin/templates/mediagoblin/auth/login.html:54
msgid "Log in" msgid "Log in"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:89 #: mediagoblin/templates/mediagoblin/base.html:87
msgid "" msgid ""
"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a "
"href=\"http://gnu.org/\">GNU</a> project." "href=\"http://gnu.org/\">GNU</a> project."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/base.html:92 #: mediagoblin/templates/mediagoblin/base.html:90
#, python-format #, python-format
msgid "" msgid ""
"Released under the <a " "Released under the <a "
@ -389,31 +375,56 @@ msgid ""
"href=\"%(source_link)s\">Source code</a> available." "href=\"%(source_link)s\">Source code</a> available."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:24 #: mediagoblin/templates/mediagoblin/error.html:24
msgid "Image of goblin stressing out"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:25
msgid "Actions"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31
msgid "Create new collection"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:34
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:38
#: mediagoblin/templates/mediagoblin/root.html:44
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:51
msgid "Explore" msgid "Explore"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:26 #: mediagoblin/templates/mediagoblin/root.html:53
msgid "Hi there, welcome to this MediaGoblin site!" msgid "Hi there, welcome to this MediaGoblin site!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:28 #: mediagoblin/templates/mediagoblin/root.html:55
msgid "" msgid ""
"This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an " "This site is running <a href=\"http://mediagoblin.org\">MediaGoblin</a>, an "
"extraordinarily great piece of media hosting software." "extraordinarily great piece of media hosting software."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:29 #: mediagoblin/templates/mediagoblin/root.html:56
msgid "" msgid ""
"To add your own media, place comments, and more, you can log in with your " "To add your own media, place comments, and more, you can log in with your "
"MediaGoblin account." "MediaGoblin account."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:31 #: mediagoblin/templates/mediagoblin/root.html:58
msgid "Don't have one yet? It's easy!" msgid "Don't have one yet? It's easy!"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:32 #: mediagoblin/templates/mediagoblin/root.html:59
#, python-format #, python-format
msgid "" msgid ""
"<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n" "<a class=\"button_action_highlight\" href=\"%(register_url)s\">Create an account at this site</a>\n"
@ -421,17 +432,10 @@ msgid ""
" <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>" " <a class=\"button_action\" href=\"http://wiki.mediagoblin.org/HackingHowto\">Set up MediaGoblin on your own server</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/root.html:40 #: mediagoblin/templates/mediagoblin/root.html:67
msgid "Most recent media" msgid "Most recent media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:21
#: mediagoblin/templates/mediagoblin/admin/panel.html:26
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:21
#: mediagoblin/templates/mediagoblin/user_pages/processing_panel.html:26
msgid "Media processing panel"
msgstr ""
#: mediagoblin/templates/mediagoblin/admin/panel.html:29 #: mediagoblin/templates/mediagoblin/admin/panel.html:29
msgid "" msgid ""
"Here you can track the state of media being processed on this instance." "Here you can track the state of media being processed on this instance."
@ -540,30 +544,43 @@ msgstr ""
msgid "Editing attachments for %(media_title)s" msgid "Editing attachments for %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:43
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:56
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:60
#: mediagoblin/templates/mediagoblin/edit/edit.html:41
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:52
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:81
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:48
msgid "Cancel"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/attachments.html:62
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:51
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:23 #: mediagoblin/templates/mediagoblin/edit/edit.html:23
#: mediagoblin/templates/mediagoblin/edit/edit.html:35 #: mediagoblin/templates/mediagoblin/edit/edit.html:35
#, python-format #, python-format
msgid "Editing %(media_title)s" msgid "Editing %(media_title)s"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:42
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:32
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:46
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Cancel"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit.html:43
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:47
#: mediagoblin/templates/mediagoblin/edit/edit_collection.html:33
#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:41
msgid "Save changes"
msgstr ""
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:28 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:28
#: mediagoblin/templates/mediagoblin/edit/edit_account.html:41 #: mediagoblin/templates/mediagoblin/edit/edit_account.html:40
#, python-format #, python-format
msgid "Changing %(username)s's account settings" msgid "Changing %(username)s's account settings"
msgstr "" msgstr ""
@ -589,13 +606,12 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:34
#: mediagoblin/templates/mediagoblin/media_displays/audio.html:56 #: mediagoblin/templates/mediagoblin/media_displays/audio.html:56
#: mediagoblin/templates/mediagoblin/media_displays/image.html:23 #: mediagoblin/templates/mediagoblin/media_displays/stl.html:136
#: mediagoblin/templates/mediagoblin/media_displays/video.html:52 #: mediagoblin/templates/mediagoblin/media_displays/video.html:52
msgid "Download" msgid "Download"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38 #: mediagoblin/templates/mediagoblin/media_displays/ascii.html:38
#: mediagoblin/templates/mediagoblin/media_displays/image.html:27
msgid "Original" msgid "Original"
msgstr "" msgstr ""
@ -622,6 +638,56 @@ msgstr ""
msgid "WebM file (Vorbis codec)" msgid "WebM file (Vorbis codec)"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:87
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:93
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:99
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:105
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:112
msgid "Toggle Rotate"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:113
msgid "Perspective"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:116
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:117
msgid "Front"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:120
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:121
msgid "Top"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:124
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:125
msgid "Side"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:130
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:131
msgid "WebGL"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:138
msgid "Download model"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:146
msgid "File Format"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/stl.html:148
msgid "Object Height"
msgstr ""
#: mediagoblin/templates/mediagoblin/media_displays/video.html:40 #: mediagoblin/templates/mediagoblin/media_displays/video.html:40
msgid "" msgid ""
"Sorry, this video will not work because \n" "Sorry, this video will not work because \n"
@ -646,7 +712,7 @@ msgstr ""
#: mediagoblin/templates/mediagoblin/submit/collection.html:30 #: mediagoblin/templates/mediagoblin/submit/collection.html:30
#: mediagoblin/templates/mediagoblin/submit/start.html:34 #: mediagoblin/templates/mediagoblin/submit/start.html:34
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:83 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:82
msgid "Add" msgid "Add"
msgstr "" msgstr ""
@ -675,14 +741,6 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection.html:59
#, python-format
msgid ""
"<p>\n"
" %(collection_description)s\n"
" </p>"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:30
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:30
#, python-format #, python-format
@ -690,7 +748,7 @@ msgid "Really delete %(title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47 #: mediagoblin/templates/mediagoblin/user_pages/collection_confirm_delete.html:47
#: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:50 #: mediagoblin/templates/mediagoblin/user_pages/media_confirm_delete.html:49
msgid "Delete permanently" msgid "Delete permanently"
msgstr "" msgstr ""
@ -699,7 +757,7 @@ msgstr ""
msgid "Really remove %(media_title)s from %(collection_title)s?" msgid "Really remove %(media_title)s from %(collection_title)s?"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:54 #: mediagoblin/templates/mediagoblin/user_pages/collection_item_confirm_remove.html:53
msgid "Remove" msgid "Remove"
msgstr "" msgstr ""
@ -725,12 +783,6 @@ msgstr ""
msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>" msgid "❖ Browsing media by <a href=\"%(user_url)s\">%(username)s</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:67
#: mediagoblin/templates/mediagoblin/user_pages/media.html:73
#, python-format
msgid "Image for %(media_title)s"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:102 #: mediagoblin/templates/mediagoblin/user_pages/media.html:102
msgid "Add a comment" msgid "Add a comment"
msgstr "" msgstr ""
@ -757,13 +809,8 @@ msgid ""
" <p>%(date)s</p>" " <p>%(date)s</p>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:171 #: mediagoblin/templates/mediagoblin/user_pages/media.html:202
#: mediagoblin/templates/mediagoblin/user_pages/media.html:187 msgid "Add media to collection"
msgid "Attachments"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media.html:192
msgid "Add attachment"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:35
@ -771,11 +818,11 @@ msgstr ""
msgid "Add %(title)s to collection" msgid "Add %(title)s to collection"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:52 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:51
msgid "+" msgid "+"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:57 #: mediagoblin/templates/mediagoblin/user_pages/media_collect.html:56
msgid "Add a new collection" msgid "Add a new collection"
msgstr "" msgstr ""
@ -846,41 +893,25 @@ msgstr ""
msgid "This user hasn't filled in their profile (yet)." msgid "This user hasn't filled in their profile (yet)."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:125 #: mediagoblin/templates/mediagoblin/user_pages/user.html:132
msgid "Change account settings"
msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:138
#, python-format #, python-format
msgid "View all of %(username)s's media" msgid "View all of %(username)s's media"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:151 #: mediagoblin/templates/mediagoblin/user_pages/user.html:145
msgid "" msgid ""
"This is where your media will appear, but you don't seem to have added " "This is where your media will appear, but you don't seem to have added "
"anything yet." "anything yet."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/user_pages/user.html:157 #: mediagoblin/templates/mediagoblin/user_pages/user.html:157
msgid "Add media" #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:84
msgstr "" #: mediagoblin/templates/mediagoblin/utils/object_gallery.html:70
#: mediagoblin/templates/mediagoblin/user_pages/user.html:163
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:87
#: mediagoblin/templates/mediagoblin/utils/object_gallery.html:72
msgid "There doesn't seem to be any media here yet..." msgid "There doesn't seem to be any media here yet..."
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:39 #: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:49
#, python-format msgid "(remove)"
msgid ""
"<br />\n"
" <a href=\"%(entry_url)s\">%(note)s</a>"
msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collection_gallery.html:47
#, python-format
msgid "<br /><a href=\"%(remove_url)s\" class=\"remove\">(remove)</a>"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/collections.html:20 #: mediagoblin/templates/mediagoblin/utils/collections.html:20
@ -900,7 +931,7 @@ msgstr ""
msgid "Location" msgid "Location"
msgstr "" msgstr ""
#: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:38 #: mediagoblin/templates/mediagoblin/utils/geolocation_map.html:53
#, python-format #, python-format
msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>" msgid "View on <a href=\"%(osm_url)s\">OpenStreetMap</a>"
msgstr "" msgstr ""
@ -939,6 +970,32 @@ msgstr ""
msgid "Could not read the image file." msgid "Could not read the image file."
msgstr "" msgstr ""
#: mediagoblin/tools/response.py:30
msgid "Oops!"
msgstr ""
#: mediagoblin/tools/response.py:31
msgid "An error occured"
msgstr ""
#: mediagoblin/tools/response.py:46
msgid "Operation not allowed"
msgstr ""
#: mediagoblin/tools/response.py:47
msgid ""
"Sorry Dave, I can't let you do that!</p><p>You have tried to perform a "
"function that you are not allowed to. Have you been trying to delete all "
"user accounts again?"
msgstr ""
#: mediagoblin/tools/response.py:55
msgid ""
"There doesn't seem to be a page at this address. Sorry!</p><p>If you're sure"
" the address is correct, maybe the page you're looking for has been moved or"
" deleted."
msgstr ""
#: mediagoblin/user_pages/forms.py:28 #: mediagoblin/user_pages/forms.py:28
msgid "I am sure I want to delete this" msgid "I am sure I want to delete this"
msgstr "" msgstr ""
@ -959,74 +1016,74 @@ msgstr ""
msgid "commented on your post" msgid "commented on your post"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:161 #: mediagoblin/user_pages/views.py:156
msgid "Oops, your comment was empty." msgid "Oops, your comment was empty."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:167 #: mediagoblin/user_pages/views.py:162
msgid "Your comment has been posted!" msgid "Your comment has been posted!"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:235 #: mediagoblin/user_pages/views.py:230
msgid "You have to select or add a collection" msgid "You have to select or add a collection"
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:243 #: mediagoblin/user_pages/views.py:238
#, python-format #, python-format
msgid "\"%s\" already in collection \"%s\"" msgid "\"%s\" already in collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:258 #: mediagoblin/user_pages/views.py:253
#, python-format #, python-format
msgid "\"%s\" added to collection \"%s\"" msgid "\"%s\" added to collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:266 #: mediagoblin/user_pages/views.py:261
msgid "Please check your entries and try again." msgid "Please check your entries and try again."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:297 #: mediagoblin/user_pages/views.py:292
msgid "" msgid ""
"Some of the files with this entry seem to be missing. Deleting anyway." "Some of the files with this entry seem to be missing. Deleting anyway."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:302 #: mediagoblin/user_pages/views.py:297
msgid "You deleted the media." msgid "You deleted the media."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:309 #: mediagoblin/user_pages/views.py:304
msgid "The media was not deleted because you didn't check that you were sure." msgid "The media was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:317 #: mediagoblin/user_pages/views.py:312
msgid "You are about to delete another user's media. Proceed with caution." msgid "You are about to delete another user's media. Proceed with caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:379 #: mediagoblin/user_pages/views.py:370
msgid "You deleted the item from the collection." msgid "You deleted the item from the collection."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:383 #: mediagoblin/user_pages/views.py:374
msgid "The item was not removed because you didn't check that you were sure." msgid "The item was not removed because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:393 #: mediagoblin/user_pages/views.py:384
msgid "" msgid ""
"You are about to delete an item from another user's collection. Proceed with" "You are about to delete an item from another user's collection. Proceed with"
" caution." " caution."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:426 #: mediagoblin/user_pages/views.py:417
#, python-format #, python-format
msgid "You deleted the collection \"%s\"" msgid "You deleted the collection \"%s\""
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:433 #: mediagoblin/user_pages/views.py:424
msgid "" msgid ""
"The collection was not deleted because you didn't check that you were sure." "The collection was not deleted because you didn't check that you were sure."
msgstr "" msgstr ""
#: mediagoblin/user_pages/views.py:443 #: mediagoblin/user_pages/views.py:434
msgid "" msgid ""
"You are about to delete another user's collection. Proceed with caution." "You are about to delete another user's collection. Proceed with caution."
msgstr "" msgstr ""

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@ from beaker.util import parse_cache_config_options
import jinja2 import jinja2
from mediagoblin.tools import staticdirect from mediagoblin.tools import staticdirect
from mediagoblin.tools.translate import set_available_locales
from mediagoblin.init.config import ( from mediagoblin.init.config import (
read_mediagoblin_config, generate_validation_report) read_mediagoblin_config, generate_validation_report)
from mediagoblin import mg_globals from mediagoblin import mg_globals
@ -37,6 +38,11 @@ class ImproperlyConfigured(Error):
pass pass
def setup_locales():
"""Checks which language translations are available and sets them"""
set_available_locales()
def setup_global_and_app_config(config_path): def setup_global_and_app_config(config_path):
global_config, validation_result = read_mediagoblin_config(config_path) global_config, validation_result = read_mediagoblin_config(config_path)
app_config = global_config['mediagoblin'] app_config = global_config['mediagoblin']

View File

@ -14,14 +14,10 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin.routing import add_route
from routes.route import Route add_route('mediagoblin.listings.tags_listing',
"/tag/<string:tag>/",
tag_routes = [ "mediagoblin.listings.views:tag_listing")
# Route('mediagoblin.listings.tags_home', "/", add_route('mediagoblin.listings.tag_atom_feed', "/tag/<string:tag>/atom/",
# controller="mediagoblin.listings.views:tags_home"), "mediagoblin.listings.views:tag_atom_feed")
Route('mediagoblin.listings.tags_listing', "/{tag}/",
controller="mediagoblin.listings.views:tag_listing"),
Route('mediagoblin.listings.tag_atom_feed', "/{tag}/atom/",
controller="mediagoblin.listings.views:tag_atom_feed"),
]

View File

@ -14,10 +14,9 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
ENABLED_MEDDLEWARE = ( ENABLED_MEDDLEWARE = [
'mediagoblin.meddleware.noop:NoOpMeddleware',
'mediagoblin.meddleware.csrf:CsrfMeddleware', 'mediagoblin.meddleware.csrf:CsrfMeddleware',
) ]
class BaseMeddleware(object): class BaseMeddleware(object):

View File

@ -78,25 +78,6 @@ def get_media_managers():
yield media_type, sys.modules[media_type].MEDIA_MANAGER yield media_type, sys.modules[media_type].MEDIA_MANAGER
def get_media_manager(_media_type):
'''
Get the MEDIA_MANAGER based on a media type string
Example::
get_media_type('mediagoblin.media_types.image')
'''
if not _media_type:
return False
for media_type, manager in get_media_managers():
if media_type in _media_type:
return manager
# Nope? Then raise an error
raise FileTypeNotSupported(
"MediaManager not in enabled types. Check media_types in config?")
def get_media_type_and_manager(filename): def get_media_type_and_manager(filename):
''' '''
Try to find the media type based on the file name, extension Try to find the media type based on the file name, extension

View File

@ -144,7 +144,5 @@ def process_audio(entry):
mgg.queue_store.delete_file(queued_filepath) mgg.queue_store.delete_file(queued_filepath)
entry.save()
# clean up workbench # clean up workbench
workbench.destroy_self() workbench.destroy_self()

View File

@ -24,5 +24,5 @@ MEDIA_MANAGER = {
# 'mediagoblin.media_types.image.processing'? # 'mediagoblin.media_types.image.processing'?
"sniff_handler": sniff_handler, "sniff_handler": sniff_handler,
"display_template": "mediagoblin/media_displays/image.html", "display_template": "mediagoblin/media_displays/image.html",
"default_thumb": "images/media_thumbs/image.jpg", "default_thumb": "images/media_thumbs/image.png",
"accepted_extensions": ["jpg", "jpeg", "png", "gif", "tiff"]} "accepted_extensions": ["jpg", "jpeg", "png", "gif", "tiff"]}

View File

@ -0,0 +1,27 @@
# GNU MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin.media_types.stl.processing import process_stl, \
sniff_handler
MEDIA_MANAGER = {
"human_readable": "stereo lithographics",
"processor": process_stl,
"sniff_handler": sniff_handler,
"display_template": "mediagoblin/media_displays/stl.html",
"default_thumb": "images/media_thumbs/video.jpg",
"accepted_extensions": ["obj", "stl"]}

View File

@ -0,0 +1,84 @@
# GNU MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import bpy, json, os
try:
CONFIG = json.loads(os.environ["RENDER_SETUP"])
MODEL_EXT = CONFIG["model_ext"]
MODEL_PATH = CONFIG["model_path"]
CAMERA_COORD = CONFIG["camera_coord"]
CAMERA_FOCUS = CONFIG["camera_focus"]
CAMERA_CLIP = CONFIG["camera_clip"]
CAMERA_TYPE = CONFIG["projection"]
CAMERA_ORTHO = CONFIG["greatest"] * 1.5
RENDER_WIDTH = CONFIG["width"]
RENDER_HEIGHT = CONFIG["height"]
RENDER_FILE = CONFIG["out_file"]
except KeyError:
print("Failed to load RENDER_SETUP environment variable.")
exit(1)
# add and setup camera
bpy.ops.object.camera_add(view_align=False, enter_editmode=False,
location = CAMERA_COORD)
camera_ob = bpy.data.objects[0]
camera = bpy.data.cameras[0]
camera.clip_end = CAMERA_CLIP
camera.ortho_scale = CAMERA_ORTHO
camera.type = CAMERA_TYPE
# add an empty for focusing the camera
bpy.ops.object.add(location=CAMERA_FOCUS)
target = bpy.data.objects[1]
bpy.ops.object.select_all(action="SELECT")
bpy.ops.object.track_set(type="TRACKTO")
bpy.ops.object.select_all(action="DESELECT")
if MODEL_EXT == 'stl':
# import an stl model
bpy.ops.import_mesh.stl(filepath=MODEL_PATH)
elif MODEL_EXT == 'obj':
# import an obj model
bpy.ops.import_scene.obj(
filepath=MODEL_PATH,
use_smooth_groups=False,
use_image_search=False,
axis_forward="Y",
axis_up="Z")
# rotate the imported objects with meshes in the scene
if CAMERA_TYPE == "PERSP":
for obj in bpy.data.objects[2:]:
obj.rotation_euler[2]=-.3
# attempt to render
scene = bpy.data.scenes.values()[0]
scene.camera = camera_ob
scene.render.filepath = RENDER_FILE
scene.render.resolution_x = RENDER_WIDTH
scene.render.resolution_y = RENDER_HEIGHT
scene.render.resolution_percentage = 100
bpy.ops.render.render(write_still=True)

View File

@ -14,14 +14,4 @@
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
MIGRATIONS = {}
from mediagoblin.meddleware import BaseMeddleware
class NoOpMeddleware(BaseMeddleware):
def process_request(self, request, controller):
pass
def process_response(self, request, response):
pass

View File

@ -0,0 +1,134 @@
# GNU MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import struct
class ThreeDeeParseError(Exception):
pass
class ThreeDee():
"""
3D model parser base class. Derrived classes are used for basic
analysis of 3D models, and are not intended to be used for 3D
rendering.
"""
def __init__(self, fileob):
self.verts = []
self.average = [0, 0, 0]
self.min = [None, None, None]
self.max = [None, None, None]
self.width = 0 # x axis
self.depth = 0 # y axis
self.height = 0 # z axis
self.load(fileob)
if not len(self.verts):
raise ThreeDeeParseError("Empty model.")
for vector in self.verts:
for i in range(3):
num = vector[i]
self.average[i] += num
if not self.min[i]:
self.min[i] = num
self.max[i] = num
else:
if self.min[i] > num:
self.min[i] = num
if self.max[i] < num:
self.max[i] = num
for i in range(3):
self.average[i]/=len(self.verts)
self.width = abs(self.min[0] - self.max[0])
self.depth = abs(self.min[1] - self.max[1])
self.height = abs(self.min[2] - self.max[2])
def load(self, fileob):
"""Override this method in your subclass."""
pass
class ObjModel(ThreeDee):
"""
Parser for textureless wavefront obj files. File format
reference: http://en.wikipedia.org/wiki/Wavefront_.obj_file
"""
def __vector(self, line, expected=3):
nums = map(float, line.strip().split(" ")[1:])
return tuple(nums[:expected])
def load(self, fileob):
for line in fileob:
if line[0] == "v":
self.verts.append(self.__vector(line))
class BinaryStlModel(ThreeDee):
"""
Parser for ascii-encoded stl files. File format reference:
http://en.wikipedia.org/wiki/STL_%28file_format%29#Binary_STL
"""
def load(self, fileob):
fileob.seek(80) # skip the header
count = struct.unpack("<I", fileob.read(4))[0]
for i in range(count):
fileob.read(12) # skip the normal vector
for v in range(3):
self.verts.append(struct.unpack("<3f", fileob.read(12)))
fileob.read(2) # skip the attribute bytes
def auto_detect(fileob, hint):
"""
Attempt to divine which parser to use to divine information about
the model / verify the file."""
if hint == "obj" or not hint:
try:
return ObjModel(fileob)
except ThreeDeeParseError:
pass
if hint == "stl" or not hint:
try:
# HACK Ascii formatted stls are similar enough to obj
# files that we can just use the same parser for both.
# Isn't that something?
return ObjModel(fileob)
except ThreeDeeParseError:
pass
except ValueError:
pass
try:
# It is pretty important that the binary stl model loader
# is tried second, because its possible for it to parse
# total garbage from plaintext =)
return BinaryStlModel(fileob)
except ThreeDeeParseError:
pass
except MemoryError:
pass
raise ThreeDeeParseError("Could not successfully parse the model :(")

View File

@ -0,0 +1,46 @@
# GNU MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin.db.sql.base import Base
from sqlalchemy import (
Column, Integer, Float, String, ForeignKey)
from sqlalchemy.orm import relationship, backref
class StlData(Base):
__tablename__ = "stl__mediadata"
# The primary key *and* reference to the main media_entry
media_entry = Column(Integer, ForeignKey('core__media_entries.id'),
primary_key=True)
get_media_entry = relationship("MediaEntry",
backref=backref("stl__media_data", cascade="all, delete-orphan"))
center_x = Column(Float)
center_y = Column(Float)
center_z = Column(Float)
width = Column(Float)
height = Column(Float)
depth = Column(Float)
file_type = Column(String)
DATA_MODEL = StlData
MODELS = [StlData]

View File

@ -0,0 +1,190 @@
# GNU MediaGoblin -- federated, autonomous media hosting
# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
import json
import logging
import subprocess
import pkg_resources
from mediagoblin import mg_globals as mgg
from mediagoblin.processing import create_pub_filepath, \
FilenameBuilder
from mediagoblin.media_types.stl import model_loader
_log = logging.getLogger(__name__)
SUPPORTED_FILETYPES = ['stl', 'obj']
BLEND_FILE = pkg_resources.resource_filename(
'mediagoblin.media_types.stl',
os.path.join(
'assets',
'blender_render.blend'))
BLEND_SCRIPT = pkg_resources.resource_filename(
'mediagoblin.media_types.stl',
os.path.join(
'assets',
'blender_render.py'))
def sniff_handler(media_file, **kw):
if kw.get('media') is not None:
name, ext = os.path.splitext(kw['media'].filename)
clean_ext = ext[1:].lower()
if clean_ext in SUPPORTED_FILETYPES:
_log.info('Found file extension in supported filetypes')
return True
else:
_log.debug('Media present, extension not found in {0}'.format(
SUPPORTED_FILETYPES))
else:
_log.warning('Need additional information (keyword argument \'media\')'
' to be able to handle sniffing')
return False
def blender_render(config):
"""
Called to prerender a model.
"""
arg_string = "blender -b blender_render.blend -F "
arg_string +="JPEG -P blender_render.py"
env = {"RENDER_SETUP" : json.dumps(config), "DISPLAY":":0"}
subprocess.call(
["blender",
"-b", BLEND_FILE,
"-F", "JPEG",
"-P", BLEND_SCRIPT],
env=env)
def process_stl(entry):
"""
Code to process an stl or obj model.
"""
workbench = mgg.workbench_manager.create_workbench()
queued_filepath = entry.queued_media_file
queued_filename = workbench.localized_file(
mgg.queue_store, queued_filepath, 'source')
name_builder = FilenameBuilder(queued_filename)
ext = queued_filename.lower().strip()[-4:]
if ext.startswith("."):
ext = ext[1:]
else:
ext = None
# Attempt to parse the model file and divine some useful
# information about it.
with open(queued_filename, 'rb') as model_file:
model = model_loader.auto_detect(model_file, ext)
# generate preview images
greatest = [model.width, model.height, model.depth]
greatest.sort()
greatest = greatest[-1]
def snap(name, camera, width=640, height=640, project="ORTHO"):
filename = name_builder.fill(name)
workbench_path = workbench.joinpath(filename)
shot = {
"model_path": queued_filename,
"model_ext": ext,
"camera_coord": camera,
"camera_focus": model.average,
"camera_clip": greatest*10,
"greatest": greatest,
"projection": project,
"width": width,
"height": height,
"out_file": workbench_path,
}
blender_render(shot)
# make sure the image rendered to the workbench path
assert os.path.exists(workbench_path)
# copy it up!
with open(workbench_path, 'rb') as rendered_file:
public_path = create_pub_filepath(entry, filename)
with mgg.public_store.get_file(public_path, "wb") as public_file:
public_file.write(rendered_file.read())
return public_path
thumb_path = snap(
"{basename}.thumb.jpg",
[0, greatest*-1.5, greatest],
mgg.global_config['media:thumb']['max_width'],
mgg.global_config['media:thumb']['max_height'],
project="PERSP")
perspective_path = snap(
"{basename}.perspective.jpg",
[0, greatest*-1.5, greatest], project="PERSP")
topview_path = snap(
"{basename}.top.jpg",
[model.average[0], model.average[1], greatest*2])
frontview_path = snap(
"{basename}.front.jpg",
[model.average[0], greatest*-2, model.average[2]])
sideview_path = snap(
"{basename}.side.jpg",
[greatest*-2, model.average[1], model.average[2]])
## Save the public file stuffs
model_filepath = create_pub_filepath(
entry, name_builder.fill('{basename}{ext}'))
with mgg.public_store.get_file(model_filepath, 'wb') as model_file:
with open(queued_filename, 'rb') as queued_file:
model_file.write(queued_file.read())
# Remove queued media file from storage and database
mgg.queue_store.delete_file(queued_filepath)
entry.queued_media_file = []
# Insert media file information into database
media_files_dict = entry.setdefault('media_files', {})
media_files_dict[u'original'] = model_filepath
media_files_dict[u'thumb'] = thumb_path
media_files_dict[u'perspective'] = perspective_path
media_files_dict[u'top'] = topview_path
media_files_dict[u'side'] = sideview_path
media_files_dict[u'front'] = frontview_path
# Put model dimensions into the database
dimensions = {
"center_x" : model.average[0],
"center_y" : model.average[1],
"center_z" : model.average[2],
"width" : model.width,
"height" : model.height,
"depth" : model.depth,
"file_type" : ext,
}
entry.media_data_init(**dimensions)
# clean up workbench
workbench.destroy_self()

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