diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-08-19 12:31:31 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-08-19 12:31:31 -0500 |
commit | 0cbab848b9d0540085e61f6db472982c1c2bc102 (patch) | |
tree | 994478dafd2688e6d9da3fb9a5a84acc79559ba3 | |
parent | 58d717064455c5e0de61f2b09519568bc4a3594a (diff) | |
parent | b5017dbac8ad9e8afd70d2d2281571e0155c3739 (diff) | |
download | mediagoblin-0cbab848b9d0540085e61f6db472982c1c2bc102.tar.lz mediagoblin-0cbab848b9d0540085e61f6db472982c1c2bc102.tar.xz mediagoblin-0cbab848b9d0540085e61f6db472982c1c2bc102.zip |
Merge branch 'master' of gitorious.org:mediagoblin/mediagoblin
21 files changed, 1285 insertions, 242 deletions
diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo Binary files differnew file mode 100644 index 00000000..114ab7c0 --- /dev/null +++ b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..ea19af01 --- /dev/null +++ b/mediagoblin/i18n/eo/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,319 @@ +# Translations template for PROJECT. +# Copyright (C) 2011 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# <john_w1954@fastmail.fm>, 2011. +# Fernando Inocencio <faigos@gmail.com>, 2011. +msgid "" +msgstr "" +"Project-Id-Version: GNU MediaGoblin\n" +"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n" +"POT-Creation-Date: 2011-08-13 19:47-0500\n" +"PO-Revision-Date: 2011-08-15 20:33+0000\n" +"Last-Translator: fajro <faigos@gmail.com>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.6\n" +"Language: eo\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#: mediagoblin/auth/forms.py:24 mediagoblin/auth/forms.py:46 +msgid "Username" +msgstr "Uzantnomo" + +#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:50 +msgid "Password" +msgstr "Pasvorton" + +#: mediagoblin/auth/forms.py:34 +msgid "Passwords must match." +msgstr "Pasvortoj devas koincidi. " + +#: mediagoblin/auth/forms.py:36 +msgid "Confirm password" +msgstr "Retajpu pasvorton" + +#: mediagoblin/auth/forms.py:39 +msgid "Email address" +msgstr "Retadreso" + +#: mediagoblin/auth/views.py:40 +msgid "Sorry, registration is disabled on this instance." +msgstr "Bedaŭrinde, registrado estas malaktivita en tiu ĉi instanco." + +#: mediagoblin/auth/views.py:57 +msgid "Sorry, a user with that name already exists." +msgstr "Bedaŭrinde, uzanto kun tiu nomo jam ekzistas." + +#: mediagoblin/auth/views.py:61 +msgid "Sorry, that email address has already been taken." +msgstr "" + +#: mediagoblin/auth/views.py:159 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "" +"Vian retadreson estas kontrolita. Vi povas nun ensaluti, redakti vian " +"profilon, kaj alŝuti bildojn!" + +#: mediagoblin/auth/views.py:165 +msgid "The verification key or user id is incorrect" +msgstr "La kontrol-kodo aŭ la uzantonomo ne estas korekta" + +#: mediagoblin/auth/views.py:186 +#: mediagoblin/templates/mediagoblin/auth/resent_verification_email.html:22 +msgid "Resent your verification email." +msgstr "Resendi vian kontrol-mesaĝon." + +#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27 +msgid "Title" +msgstr "Titolo" + +#: mediagoblin/edit/forms.py:29 +msgid "Slug" +msgstr "" + +#: mediagoblin/edit/forms.py:30 +msgid "The slug can't be empty" +msgstr "" + +#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:31 +msgid "Tags" +msgstr "Etikedoj" + +#: mediagoblin/edit/forms.py:38 +msgid "Bio" +msgstr "Bio" + +#: mediagoblin/edit/forms.py:41 +msgid "Website" +msgstr "Retejo" + +#: mediagoblin/edit/forms.py:43 +msgid "Improperly formed URL" +msgstr "" + +#: mediagoblin/edit/views.py:54 +msgid "An entry with that slug already exists for this user." +msgstr "" + +#: mediagoblin/edit/views.py:75 +msgid "You are editing another user's media. Proceed with caution." +msgstr "" + +#: mediagoblin/edit/views.py:96 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "" + +#: mediagoblin/submit/forms.py:25 +msgid "File" +msgstr "Dosiero" + +#: mediagoblin/submit/views.py:46 +msgid "You must provide a file." +msgstr "Vi devas provizi dosieron." + +#: mediagoblin/submit/views.py:49 +msgid "The file doesn't seem to be an image!" +msgstr "" + +#: mediagoblin/submit/views.py:94 +msgid "Woohoo! Submitted!" +msgstr "" + +#: mediagoblin/templates/mediagoblin/base.html:22 +msgid "GNU MediaGoblin" +msgstr "GNU MediaGoblin" + +#: mediagoblin/templates/mediagoblin/base.html:45 +msgid "Mediagoblin logo" +msgstr " Logogramo de Mediagoblin" + +#: mediagoblin/templates/mediagoblin/base.html:51 +msgid "Submit media" +msgstr "Alŝuti aŭd-vid-dosieron" + +#: mediagoblin/templates/mediagoblin/base.html:62 +msgid "verify your email!" +msgstr "kontrolu vian retpoŝton! " + +#: mediagoblin/templates/mediagoblin/base.html:72 +msgid "Login" +msgstr "Ensaluti" + +#: mediagoblin/templates/mediagoblin/base.html:88 +msgid "" +"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " +"href=\"http://gnu.org/\">GNU project</a>" +msgstr "" +"Provizita de <a href=\"http://mediagoblin.org\">MediaGoblin</a>, unu el la " +"<a href=\"http://gnu.org/\">GNU projectoj</a>" + +#: mediagoblin/templates/mediagoblin/root.html:23 +msgid "Welcome to GNU MediaGoblin!" +msgstr "Bonvenon al GNU MediaGoblin!" + +#: mediagoblin/templates/mediagoblin/root.html:28 +msgid "Submit an item" +msgstr "Alŝuti dosieron" + +#: mediagoblin/templates/mediagoblin/root.html:33 +#, python-format +msgid "If you have an account, you can <a href=\"%(login_url)s\">Login</a>." +msgstr "Se vi havas konton, vi povas <a href=\"%(login_url)s\">Ensaluti</a>." + +#: mediagoblin/templates/mediagoblin/root.html:39 +#, python-format +msgid "" +"If you don't have an account, please <a " +"href=\"%(register_url)s\">Register</a>." +msgstr "" +"Se vi ne havas konton, bonvolu <a href=\"%(register_url)s\">Registriĝi</a>." + +#: mediagoblin/templates/mediagoblin/auth/login.html:26 +msgid "Log in" +msgstr "Ensaluti" + +#: mediagoblin/templates/mediagoblin/auth/login.html:29 +msgid "Login failed!" +msgstr "Ensalutado malsukcesis!" + +#: mediagoblin/templates/mediagoblin/auth/login.html:34 +#: mediagoblin/templates/mediagoblin/auth/register.html:30 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35 +#: mediagoblin/templates/mediagoblin/submit/start.html:29 +msgid "Submit" +msgstr "Alŝuti" + +#: mediagoblin/templates/mediagoblin/auth/login.html:42 +msgid "Don't have an account yet?" +msgstr "Ĉu ankoraŭ sen konto?" + +#: mediagoblin/templates/mediagoblin/auth/login.html:45 +msgid "Create one here!" +msgstr "Kreu unu ĉi tie!" + +#: mediagoblin/templates/mediagoblin/auth/register.html:27 +msgid "Create an account!" +msgstr "Kreu konton!" + +#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to activate your GNU MediaGoblin account, open the following URL in\n" +"your web browser:\n" +"\n" +"%(verification_url)s" +msgstr "" +"Sal %(username)s,\n" +"\n" +"por aktivigi vian GNU MediaGoblin konton, malfermu la sekvantan URLon en via retumilo:\n" +"\n" +"%(verification_url)s" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:29 +#, python-format +msgid "Editing %(media_title)s" +msgstr "Editing %(media_title)s" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:36 +msgid "Cancel" +msgstr "Nuligi" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:37 +msgid "Save changes" +msgstr "Konservi ŝanĝojn" + +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29 +#, python-format +msgid "Editing %(username)s's profile" +msgstr "Redaktanta profilon de %(username)s'" + +#: mediagoblin/templates/mediagoblin/listings/tag.html:31 +msgid "Media tagged with:" +msgstr "Dosiero markita kiel:" + +#: mediagoblin/templates/mediagoblin/listings/tag.html:42 +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:104 +msgid "atom feed" +msgstr "Atom-a informfluado" + +#: mediagoblin/templates/mediagoblin/submit/start.html:26 +msgid "Submit yer media" +msgstr "Alŝutu vian aŭd-vid-dosieron" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32 +#, python-format +msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media" +msgstr "<a href=\"%(user_url)s\">%(username)s</a>-a aŭd-vid-dosiero" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:32 +msgid "Sorry, no such user found." +msgstr "Uzanto ne trovita." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:59 +msgid "Verification needed" +msgstr "Kontrolon bezonata" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:42 +msgid "Almost done! Your account still needs to be verified." +msgstr "Preskaŭ farite! Via konto ankoraŭ devas esti kontrolita." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:47 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "" +"Retmesaĝo alvenos post kelkaj momentoj kun instrukcioj pri kiel tion fari." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:51 +msgid "In case it doesn't:" +msgstr "Se tio ne okazas:" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:54 +msgid "Resend verification email" +msgstr "Resendu kontrolmesaĝon" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" verified." +msgstr "" +"Iu registris konton kun tiu ĉi uzantonomo, sed ĝi devas ankoraŭ esti " +"kontrolita." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:68 +#, python-format +msgid "" +"If you are that person but you've lost your verification email, you can <a " +"href=\"%(login_url)s\">log in</a> and resend it." +msgstr "" +"Se vi estas tiu sed vi perdis vian kontrolmesaĝon, vi povas <a " +"href=\"%(login_url)s\">ensaluti</a> kaj resendi ĝin." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:78 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)s'-a profilo" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:86 +msgid "Edit profile" +msgstr "Redakti profilo" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:98 +#, python-format +msgid "View all of %(username)s's media" +msgstr "Rigardu ĉiuj aŭd-vid-dosierojn de %(username)s'" + +#: mediagoblin/user_pages/forms.py:24 +msgid "Comment" +msgstr "Komento" + + diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo Binary files differindex a7daf2c9..f8854734 100644 --- a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po index 4606bf47..5afe7091 100644 --- a/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/fr/LC_MESSAGES/mediagoblin.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the PROJECT project. # # <marktraceur@gmail.com>, 2011. +# Valentin Villenave <valentin@villenave.net>, 2011. +# <transifex@wandborg.se>, 2011. msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n" -"POT-Creation-Date: 2011-08-08 22:53-0500\n" -"PO-Revision-Date: 2011-08-10 21:24+0000\n" -"Last-Translator: MarkTraceur <marktraceur@gmail.com>\n" +"POT-Creation-Date: 2011-08-13 19:47-0500\n" +"PO-Revision-Date: 2011-08-16 13:22+0000\n" +"Last-Translator: joar <transifex@wandborg.se>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,102 +22,112 @@ msgstr "" #: mediagoblin/auth/forms.py:24 mediagoblin/auth/forms.py:46 msgid "Username" -msgstr "" +msgstr "Nom d'utilisateur" #: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:50 msgid "Password" -msgstr "" +msgstr "Mot de passe" #: mediagoblin/auth/forms.py:34 msgid "Passwords must match." -msgstr "" +msgstr "Les mots de passe doivent correspondre." #: mediagoblin/auth/forms.py:36 msgid "Confirm password" -msgstr "" +msgstr "Confirmer le mot de passe" #: mediagoblin/auth/forms.py:39 msgid "Email address" -msgstr "" +msgstr "Adresse e-mail" #: mediagoblin/auth/views.py:40 msgid "Sorry, registration is disabled on this instance." -msgstr "" +msgstr "L'inscription n'est pas activée sur ce serveur, désolé." -#: mediagoblin/auth/views.py:55 +#: mediagoblin/auth/views.py:57 msgid "Sorry, a user with that name already exists." +msgstr "Un utilisateur existe déjà avec ce nom, désolé." + +#: mediagoblin/auth/views.py:61 +msgid "Sorry, that email address has already been taken." msgstr "" -#: mediagoblin/auth/views.py:152 +#: mediagoblin/auth/views.py:159 msgid "" "Your email address has been verified. You may now login, edit your profile, " "and submit images!" msgstr "" +"Votre adresse e-mail a bien été vérifiée. Vous pouvez maintenant vous " +"identifier, modifier votre profil, et soumettre des images !" -#: mediagoblin/auth/views.py:158 +#: mediagoblin/auth/views.py:165 msgid "The verification key or user id is incorrect" -msgstr "" +msgstr "La clé de vérification ou le nom d'utilisateur est incorrect." -#: mediagoblin/auth/views.py:179 +#: mediagoblin/auth/views.py:186 #: mediagoblin/templates/mediagoblin/auth/resent_verification_email.html:22 msgid "Resent your verification email." -msgstr "Nous avons renvoyé votre e-mail de vérification." +msgstr "E-mail de vérification renvoyé." -#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:26 +#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27 msgid "Title" -msgstr "" +msgstr "Titre" #: mediagoblin/edit/forms.py:29 msgid "Slug" -msgstr "" +msgstr "Légende" #: mediagoblin/edit/forms.py:30 msgid "The slug can't be empty" -msgstr "" +msgstr "La légende ne peut pas être laissée vide." #: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:31 msgid "Tags" -msgstr "" +msgstr "Tags" #: mediagoblin/edit/forms.py:38 msgid "Bio" -msgstr "" +msgstr "Bio" #: mediagoblin/edit/forms.py:41 msgid "Website" -msgstr "" +msgstr "Site web" #: mediagoblin/edit/forms.py:43 msgid "Improperly formed URL" -msgstr "" +msgstr "Adresse web mal formée" #: mediagoblin/edit/views.py:54 msgid "An entry with that slug already exists for this user." -msgstr "" +msgstr "Une entrée existe déjà pour cet utilisateur avec la même légende." #: mediagoblin/edit/views.py:75 msgid "You are editing another user's media. Proceed with caution." msgstr "" +"Vous vous apprêtez à modifier le média d'un autre utilisateur. Veuillez " +"prendre garde." #: mediagoblin/edit/views.py:96 msgid "You are editing a user's profile. Proceed with caution." msgstr "" +"Vous vous apprêtez à modifier le profil d'un utilisateur. Veuillez prendre " +"garde." -#: mediagoblin/submit/forms.py:29 +#: mediagoblin/submit/forms.py:25 msgid "File" -msgstr "" +msgstr "Fichier" -#: mediagoblin/submit/views.py:45 +#: mediagoblin/submit/views.py:46 msgid "You must provide a file." -msgstr "" +msgstr "Il vous faut fournir un fichier." -#: mediagoblin/submit/views.py:48 +#: mediagoblin/submit/views.py:49 msgid "The file doesn't seem to be an image!" -msgstr "" +msgstr "Ce fichier ne semble pas être une image !" -#: mediagoblin/submit/views.py:96 +#: mediagoblin/submit/views.py:94 msgid "Woohoo! Submitted!" -msgstr "" +msgstr "Youhou, c'est envoyé !" #: mediagoblin/templates/mediagoblin/base.html:22 msgid "GNU MediaGoblin" @@ -127,73 +139,74 @@ msgstr "logo de MediaGoblin" #: mediagoblin/templates/mediagoblin/base.html:51 msgid "Submit media" -msgstr "Soumettez des médias" +msgstr "Soumettre un média" #: mediagoblin/templates/mediagoblin/base.html:62 msgid "verify your email!" -msgstr "vérifiez votre addresse e-mail" +msgstr "vérifier son adresse e-mail" #: mediagoblin/templates/mediagoblin/base.html:72 msgid "Login" -msgstr "Connexion" +msgstr "Identification" #: mediagoblin/templates/mediagoblin/base.html:88 msgid "" "Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " "href=\"http://gnu.org/\">GNU project</a>" msgstr "" -"Alimenté par <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un <a " -"href=\"http://gnu.org/\">projet GNU</a>" +"Propulsé par <a href=\"http://mediagoblin.org\">MediaGoblin</a>, un projet " +"de <a href=\"http://gnu.org/\">GNU</a>" -#: mediagoblin/templates/mediagoblin/root.html:21 +#: mediagoblin/templates/mediagoblin/root.html:23 msgid "Welcome to GNU MediaGoblin!" -msgstr "Bienvenue à GNU MediaGoblin!" +msgstr "Bienvenue sur GNU MediaGoblin !" -#: mediagoblin/templates/mediagoblin/root.html:26 +#: mediagoblin/templates/mediagoblin/root.html:28 msgid "Submit an item" -msgstr "Soumettez un fichier" +msgstr "Soumettre un fichier" -#: mediagoblin/templates/mediagoblin/root.html:31 +#: mediagoblin/templates/mediagoblin/root.html:33 #, python-format msgid "If you have an account, you can <a href=\"%(login_url)s\">Login</a>." msgstr "" -"Si vous avez un compte, vous pouvez <a href=\"%(login_url)s\">Connecter</a>." +"Si vous avez un compte, vous pouvez vous <a " +"href=\"%(login_url)s\">identifier</a>." -#: mediagoblin/templates/mediagoblin/root.html:37 +#: mediagoblin/templates/mediagoblin/root.html:39 #, python-format msgid "" "If you don't have an account, please <a " "href=\"%(register_url)s\">Register</a>." msgstr "" -"Si vous n'avez pas un compte, s'il vous plaît, <a " -"href=\"%(register_url)s\">vous inscrivez</a>." +"Si vous n'avez pas de compte, veuillez vous <a " +"href=\"%(register_url)s\">inscrire</a>." #: mediagoblin/templates/mediagoblin/auth/login.html:26 msgid "Log in" -msgstr "Connexion" +msgstr "S'identifier" #: mediagoblin/templates/mediagoblin/auth/login.html:29 msgid "Login failed!" -msgstr "Connexion manqué" +msgstr "L'identification a échoué !" #: mediagoblin/templates/mediagoblin/auth/login.html:34 #: mediagoblin/templates/mediagoblin/auth/register.html:30 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35 -#: mediagoblin/templates/mediagoblin/submit/start.html:32 +#: mediagoblin/templates/mediagoblin/submit/start.html:29 msgid "Submit" -msgstr "Soumettez" +msgstr "Soumettre" #: mediagoblin/templates/mediagoblin/auth/login.html:42 msgid "Don't have an account yet?" -msgstr "N'avez-vous toujours un compte?" +msgstr "Pas encore de compte ?" #: mediagoblin/templates/mediagoblin/auth/login.html:45 msgid "Create one here!" -msgstr "En créez un ici!" +msgstr "Créez-en un ici !" #: mediagoblin/templates/mediagoblin/auth/register.html:27 msgid "Create an account!" -msgstr "Créez un compte!" +msgstr "Créer un compte !" #: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19 #, python-format @@ -205,101 +218,112 @@ msgid "" "\n" "%(verification_url)s" msgstr "" -"Bonjour, %(username)s,\n" +"Bonjour %(username)s,\n" "\n" -"pour activer votre compte de GNU MediaGoblin, ouvrez l'URL suite avec votre navigateur web:\n" +"pour activer votre compte sur GNU MediaGoblin, veuillez vous rendre à l'adresse suivante avec votre navigateur web:\n" "\n" "%(verification_url)s" #: mediagoblin/templates/mediagoblin/edit/edit.html:29 #, python-format msgid "Editing %(media_title)s" -msgstr "On édit %(media_title)s" +msgstr "Modification de %(media_title)s" #: mediagoblin/templates/mediagoblin/edit/edit.html:36 msgid "Cancel" -msgstr "Annulez" +msgstr "Annuler" #: mediagoblin/templates/mediagoblin/edit/edit.html:37 msgid "Save changes" -msgstr "Enregistrez les modifications" +msgstr "Enregistrer les modifications" #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29 #, python-format msgid "Editing %(username)s's profile" -msgstr "" +msgstr "Modification du profil de %(username)s" -#: mediagoblin/templates/mediagoblin/listings/tag.html:29 +#: mediagoblin/templates/mediagoblin/listings/tag.html:31 msgid "Media tagged with:" -msgstr "" +msgstr "Média comportant les tags suivants :" -#: mediagoblin/templates/mediagoblin/listings/tag.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:101 +#: mediagoblin/templates/mediagoblin/listings/tag.html:42 +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:104 msgid "atom feed" -msgstr "" +msgstr "flux Atom" #: mediagoblin/templates/mediagoblin/submit/start.html:26 msgid "Submit yer media" -msgstr "" +msgstr "Soumettez ce média" -#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32 #, python-format msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media" -msgstr "" +msgstr "Médias de <a href=\"%(user_url)s\">%(username)s</a>" -#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:51 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:32 msgid "Sorry, no such user found." -msgstr "" +msgstr "Impossible de trouver cet utilisateur, désolé." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:37 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:59 msgid "Verification needed" -msgstr "" +msgstr "Vérification requise" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:42 msgid "Almost done! Your account still needs to be verified." -msgstr "" +msgstr "C'est presque fini ! Il vous faut encore vérifier votre compte." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:47 msgid "" "An email should arrive in a few moments with instructions on how to do so." msgstr "" +"Un e-mail devrait vous parvenir dans quelques instants ; il vous indiquera " +"comment procéder." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:49 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:51 msgid "In case it doesn't:" -msgstr "" +msgstr "Si la vérification n'est pas arrivée à bon port :" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:54 msgid "Resend verification email" -msgstr "" +msgstr "Renvoyer l'e-mail de vérification" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 msgid "" "Someone has registered an account with this username, but it still has to be" " verified." msgstr "" +"Quelqu'un a créé un compte à ce nom, mais le compte n'a pas encore été " +"vérifié." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:68 #, python-format msgid "" "If you are that person but you've lost your verification email, you can <a " "href=\"%(login_url)s\">log in</a> and resend it." msgstr "" +"Si c'est de vous qu'il s'agit, mais que vous avez perdu l'e-mail de " +"vérification, vous pouvez vous <a href=\"%(login_url)s\">identifier</a> et " +"le renvoyer." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:78 #, python-format msgid "%(username)s's profile" -msgstr "" +msgstr "profil de %(username)s" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:84 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:86 msgid "Edit profile" -msgstr "" +msgstr "Modifier le profil" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:98 #, python-format msgid "View all of %(username)s's media" +msgstr "Voir tous les médias de %(username)s" + +#: mediagoblin/user_pages/forms.py:24 +msgid "Comment" msgstr "" diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo Binary files differnew file mode 100644 index 00000000..78455ad2 --- /dev/null +++ b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..0aba5755 --- /dev/null +++ b/mediagoblin/i18n/ja/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,310 @@ +# Translations template for PROJECT. +# Copyright (C) 2011 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# <averym@gmail.com>, 2011. +msgid "" +msgstr "" +"Project-Id-Version: GNU MediaGoblin\n" +"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n" +"POT-Creation-Date: 2011-08-13 19:47-0500\n" +"PO-Revision-Date: 2011-08-14 00:47+0000\n" +"Last-Translator: cwebber <cwebber@dustycloud.org>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.6\n" +"Language: ja\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#: mediagoblin/auth/forms.py:24 mediagoblin/auth/forms.py:46 +msgid "Username" +msgstr "ユーザネーム" + +#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:50 +msgid "Password" +msgstr "パスワード" + +#: mediagoblin/auth/forms.py:34 +msgid "Passwords must match." +msgstr "パスワードが一致している必要があります。" + +#: mediagoblin/auth/forms.py:36 +msgid "Confirm password" +msgstr "パスワードを確認" + +#: mediagoblin/auth/forms.py:39 +msgid "Email address" +msgstr "メールアドレス" + +#: mediagoblin/auth/views.py:40 +msgid "Sorry, registration is disabled on this instance." +msgstr "申し訳ありませんが、このインスタンスで登録は無効になっています。" + +#: mediagoblin/auth/views.py:57 +msgid "Sorry, a user with that name already exists." +msgstr "申し訳ありませんが、その名前を持つユーザーがすでに存在しています。" + +#: mediagoblin/auth/views.py:61 +msgid "Sorry, that email address has already been taken." +msgstr "" + +#: mediagoblin/auth/views.py:159 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "メアドが確認されています。これで、ログインしてプロファイルを編集し、画像を提出することができます!" + +#: mediagoblin/auth/views.py:165 +msgid "The verification key or user id is incorrect" +msgstr "検証キーまたはユーザーIDが間違っています" + +#: mediagoblin/auth/views.py:186 +#: mediagoblin/templates/mediagoblin/auth/resent_verification_email.html:22 +msgid "Resent your verification email." +msgstr "検証メールを再送しました。" + +#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27 +msgid "Title" +msgstr "タイトル" + +#: mediagoblin/edit/forms.py:29 +msgid "Slug" +msgstr "スラグ" + +#: mediagoblin/edit/forms.py:30 +msgid "The slug can't be empty" +msgstr "スラグは必要です。" + +#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:31 +msgid "Tags" +msgstr "タグ" + +#: mediagoblin/edit/forms.py:38 +msgid "Bio" +msgstr "自己紹介" + +#: mediagoblin/edit/forms.py:41 +msgid "Website" +msgstr "URL" + +#: mediagoblin/edit/forms.py:43 +msgid "Improperly formed URL" +msgstr "不適切な形式のURL" + +#: mediagoblin/edit/views.py:54 +msgid "An entry with that slug already exists for this user." +msgstr "そのスラグを持つエントリは、このユーザーは既に存在します。" + +#: mediagoblin/edit/views.py:75 +msgid "You are editing another user's media. Proceed with caution." +msgstr "あなたは、他のユーザーのメディアを編集しています。ご注意ください。" + +#: mediagoblin/edit/views.py:96 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "あなたは、他のユーザーのプロファイルを編集しています。ご注意ください。" + +#: mediagoblin/submit/forms.py:25 +msgid "File" +msgstr "ファイル" + +#: mediagoblin/submit/views.py:46 +msgid "You must provide a file." +msgstr "ファイルを提供する必要があります。" + +#: mediagoblin/submit/views.py:49 +msgid "The file doesn't seem to be an image!" +msgstr "ファイルが画像ではないようです!" + +#: mediagoblin/submit/views.py:94 +msgid "Woohoo! Submitted!" +msgstr "投稿終了!" + +#: mediagoblin/templates/mediagoblin/base.html:22 +msgid "GNU MediaGoblin" +msgstr "GNU MediaGoblin" + +#: mediagoblin/templates/mediagoblin/base.html:45 +msgid "Mediagoblin logo" +msgstr "MediaGoblinロゴ" + +#: mediagoblin/templates/mediagoblin/base.html:51 +msgid "Submit media" +msgstr "コンテンツを投稿" + +#: mediagoblin/templates/mediagoblin/base.html:62 +msgid "verify your email!" +msgstr "メアドを確認してください!" + +#: mediagoblin/templates/mediagoblin/base.html:72 +msgid "Login" +msgstr "ログイン" + +#: mediagoblin/templates/mediagoblin/base.html:88 +msgid "" +"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " +"href=\"http://gnu.org/\">GNU project</a>" +msgstr "" +"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " +"href=\"http://gnu.org/\">GNU project</a>" + +#: mediagoblin/templates/mediagoblin/root.html:23 +msgid "Welcome to GNU MediaGoblin!" +msgstr "GNU MediaGoblinへようこそ!" + +#: mediagoblin/templates/mediagoblin/root.html:28 +msgid "Submit an item" +msgstr "アイテムを投稿" + +#: mediagoblin/templates/mediagoblin/root.html:33 +#, python-format +msgid "If you have an account, you can <a href=\"%(login_url)s\">Login</a>." +msgstr "もしアカウントが持ったら、<a href=\"%(login_url)s\">ログイン</a>できます。" + +#: mediagoblin/templates/mediagoblin/root.html:39 +#, python-format +msgid "" +"If you don't have an account, please <a " +"href=\"%(register_url)s\">Register</a>." +msgstr "アカウントが持っていなければ、<a href=\"%(register_url)s\">登録</a>してお願いします。" + +#: mediagoblin/templates/mediagoblin/auth/login.html:26 +msgid "Log in" +msgstr "ログイン" + +#: mediagoblin/templates/mediagoblin/auth/login.html:29 +msgid "Login failed!" +msgstr "ログイン失敗!" + +#: mediagoblin/templates/mediagoblin/auth/login.html:34 +#: mediagoblin/templates/mediagoblin/auth/register.html:30 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35 +#: mediagoblin/templates/mediagoblin/submit/start.html:29 +msgid "Submit" +msgstr "送信" + +#: mediagoblin/templates/mediagoblin/auth/login.html:42 +msgid "Don't have an account yet?" +msgstr "まだアカウントを持っていませんか?" + +#: mediagoblin/templates/mediagoblin/auth/login.html:45 +msgid "Create one here!" +msgstr "ここで作成!" + +#: mediagoblin/templates/mediagoblin/auth/register.html:27 +msgid "Create an account!" +msgstr "アカウントを作成!" + +#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to activate your GNU MediaGoblin account, open the following URL in\n" +"your web browser:\n" +"\n" +"%(verification_url)s" +msgstr "" +"%(username)s様へ\n" +"\n" +"GNU MediaGoblinアカウントを検証にするには、このURLを開いてください。\n" +"\n" +"%(verification_url)s" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:29 +#, python-format +msgid "Editing %(media_title)s" +msgstr "%(media_title)sを編集中" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:36 +msgid "Cancel" +msgstr "キャンセル" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:37 +msgid "Save changes" +msgstr "投稿する" + +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29 +#, python-format +msgid "Editing %(username)s's profile" +msgstr "%(username)sさんのプロフィールを編集中" + +#: mediagoblin/templates/mediagoblin/listings/tag.html:31 +msgid "Media tagged with:" +msgstr "タグ付けされたコンテンツ:" + +#: mediagoblin/templates/mediagoblin/listings/tag.html:42 +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:104 +msgid "atom feed" +msgstr "Atomフィード" + +#: mediagoblin/templates/mediagoblin/submit/start.html:26 +msgid "Submit yer media" +msgstr "コンテンツを投稿" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32 +#, python-format +msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media" +msgstr "<a href=\"%(user_url)s\">%(username)s</a>さんのコンテンツ" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:32 +msgid "Sorry, no such user found." +msgstr "申し訳ありませんが、そのユーザーは見つかりませんでした。" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:59 +msgid "Verification needed" +msgstr "確認必要" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:42 +msgid "Almost done! Your account still needs to be verified." +msgstr "ほぼ完了!アカウントを検証する必要があります。" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:47 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "メールは、その方法の指示でいくつかの瞬間に到着します。" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:51 +msgid "In case it doesn't:" +msgstr "到着しない場合は、" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:54 +msgid "Resend verification email" +msgstr "確認メールを再送信" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" verified." +msgstr "誰かがこのユーザ名でアカウントを登録しているが、まだ検証する必要があります。" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:68 +#, python-format +msgid "" +"If you are that person but you've lost your verification email, you can <a " +"href=\"%(login_url)s\">log in</a> and resend it." +msgstr "あなたの確認メールを紛失した場合、<a href=\"%(login_url)s\">ログイン</a>して再送できます。" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:78 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)sさんのプロフィール" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:86 +msgid "Edit profile" +msgstr "プロフィールを編集" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:98 +#, python-format +msgid "View all of %(username)s's media" +msgstr "%(username)sさんのコンテンツをすべて見る" + +#: mediagoblin/user_pages/forms.py:24 +msgid "Comment" +msgstr "" + + diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo Binary files differindex 04fe0b6f..0d4b463c 100644 --- a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo +++ b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po index 311c5656..23605892 100644 --- a/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po +++ b/mediagoblin/i18n/sv/LC_MESSAGES/mediagoblin.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: GNU MediaGoblin\n" "Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n" -"POT-Creation-Date: 2011-08-08 22:53-0500\n" -"PO-Revision-Date: 2011-08-09 15:00+0000\n" +"POT-Creation-Date: 2011-08-13 19:47-0500\n" +"PO-Revision-Date: 2011-08-16 13:22+0000\n" "Last-Translator: joar <transifex@wandborg.se>\n" "Language-Team: Swedish (http://www.transifex.net/projects/p/mediagoblin/team/sv/)\n" "MIME-Version: 1.0\n" @@ -42,11 +42,15 @@ msgstr "E-postadress" msgid "Sorry, registration is disabled on this instance." msgstr "Vi beklagar, registreringen är avtängd på den här instansen." -#: mediagoblin/auth/views.py:55 +#: mediagoblin/auth/views.py:57 msgid "Sorry, a user with that name already exists." msgstr "En användare med det användarnamnet finns redan." -#: mediagoblin/auth/views.py:152 +#: mediagoblin/auth/views.py:61 +msgid "Sorry, that email address has already been taken." +msgstr "Den e-postadressen är redan tagen." + +#: mediagoblin/auth/views.py:159 msgid "" "Your email address has been verified. You may now login, edit your profile, " "and submit images!" @@ -54,16 +58,16 @@ msgstr "" "Din e-postadress är verifierad. Du kan nu logga in, redigera din profil och " "ladda upp filer!" -#: mediagoblin/auth/views.py:158 +#: mediagoblin/auth/views.py:165 msgid "The verification key or user id is incorrect" msgstr "Verifieringsnyckeln eller användar-IDt är fel." -#: mediagoblin/auth/views.py:179 +#: mediagoblin/auth/views.py:186 #: mediagoblin/templates/mediagoblin/auth/resent_verification_email.html:22 msgid "Resent your verification email." msgstr "Skickade ett nytt verifierings-email." -#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:26 +#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27 msgid "Title" msgstr "Titel" @@ -103,19 +107,19 @@ msgstr "Var försiktig, du redigerar någon annans inlägg." msgid "You are editing a user's profile. Proceed with caution." msgstr "Var försiktig, du redigerar en annan användares profil." -#: mediagoblin/submit/forms.py:29 +#: mediagoblin/submit/forms.py:25 msgid "File" msgstr "Fil" -#: mediagoblin/submit/views.py:45 +#: mediagoblin/submit/views.py:46 msgid "You must provide a file." msgstr "Du måste ange en fil" -#: mediagoblin/submit/views.py:48 +#: mediagoblin/submit/views.py:49 msgid "The file doesn't seem to be an image!" msgstr "Filen verkar inte vara en giltig bildfil!" -#: mediagoblin/submit/views.py:96 +#: mediagoblin/submit/views.py:94 msgid "Woohoo! Submitted!" msgstr "Tjohoo! Upladdat!" @@ -147,20 +151,20 @@ msgstr "" "Drivs av <a href=\"http://mediagoblin.org\">MediaGoblin</a>, ett <a " "href=\"http://gnu.org/\">GNU</a>-projekt" -#: mediagoblin/templates/mediagoblin/root.html:21 +#: mediagoblin/templates/mediagoblin/root.html:23 msgid "Welcome to GNU MediaGoblin!" msgstr "Välkommen till GNU MediaGoblin!" -#: mediagoblin/templates/mediagoblin/root.html:26 +#: mediagoblin/templates/mediagoblin/root.html:28 msgid "Submit an item" msgstr "Ladda upp" -#: mediagoblin/templates/mediagoblin/root.html:31 +#: mediagoblin/templates/mediagoblin/root.html:33 #, python-format msgid "If you have an account, you can <a href=\"%(login_url)s\">Login</a>." msgstr "Har du ett konto? <a href=\"%(login_url)s\">Logga in</a>." -#: mediagoblin/templates/mediagoblin/root.html:37 +#: mediagoblin/templates/mediagoblin/root.html:39 #, python-format msgid "" "If you don't have an account, please <a " @@ -179,7 +183,7 @@ msgstr "Inloggning misslyckades!" #: mediagoblin/templates/mediagoblin/auth/login.html:34 #: mediagoblin/templates/mediagoblin/auth/register.html:30 #: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35 -#: mediagoblin/templates/mediagoblin/submit/start.html:32 +#: mediagoblin/templates/mediagoblin/submit/start.html:29 msgid "Submit" msgstr "Skicka" @@ -229,13 +233,13 @@ msgstr "Spara" msgid "Editing %(username)s's profile" msgstr "Redigerar %(username)ss profil" -#: mediagoblin/templates/mediagoblin/listings/tag.html:29 +#: mediagoblin/templates/mediagoblin/listings/tag.html:31 msgid "Media tagged with:" msgstr "Taggat med:" -#: mediagoblin/templates/mediagoblin/listings/tag.html:40 -#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:46 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:101 +#: mediagoblin/templates/mediagoblin/listings/tag.html:42 +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:104 msgid "atom feed" msgstr "atom-feed" @@ -243,40 +247,40 @@ msgstr "atom-feed" msgid "Submit yer media" msgstr "Ladda upp" -#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32 #, python-format msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media" msgstr "<a href=\"%(user_url)s\">%(username)s</a>s media" -#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:51 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:30 +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:32 msgid "Sorry, no such user found." msgstr "Finns ingen sådan användare ännu." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:37 -#: mediagoblin/templates/mediagoblin/user_pages/user.html:57 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:59 msgid "Verification needed" msgstr "Verifiering krävs" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:40 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:42 msgid "Almost done! Your account still needs to be verified." msgstr "Nästan klart! Nu behöver du bara verifiera ditt konto." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:45 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:47 msgid "" "An email should arrive in a few moments with instructions on how to do so." msgstr "" "Ett e-postmeddelande med instruktioner kommer att hamna hos dig inom kort." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:49 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:51 msgid "In case it doesn't:" msgstr "Om det inte skulle göra det:" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:52 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:54 msgid "Resend verification email" msgstr "Skicka ett nytt e-postmeddelande" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:60 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 msgid "" "Someone has registered an account with this username, but it still has to be" " verified." @@ -284,7 +288,7 @@ msgstr "" "Det finns redan ett konto med det här användarnamnet, men det behöver " "verifieras." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:66 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:68 #, python-format msgid "" "If you are that person but you've lost your verification email, you can <a " @@ -294,18 +298,22 @@ msgstr "" "detaljer om hur du verifierar ditt konto så kan du <a " "href=\"%(login_url)s\">logga in</a> och begära ett nytt." -#: mediagoblin/templates/mediagoblin/user_pages/user.html:76 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:78 #, python-format msgid "%(username)s's profile" msgstr "%(username)ss profil" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:84 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:86 msgid "Edit profile" msgstr "Redigera profil" -#: mediagoblin/templates/mediagoblin/user_pages/user.html:95 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:98 #, python-format msgid "View all of %(username)s's media" msgstr "Se all media från %(username)s" +#: mediagoblin/user_pages/forms.py:24 +msgid "Comment" +msgstr "Kommentar" + diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo Binary files differnew file mode 100644 index 00000000..9615e44c --- /dev/null +++ b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.mo diff --git a/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po new file mode 100644 index 00000000..d8f8c98d --- /dev/null +++ b/mediagoblin/i18n/zh_TW/LC_MESSAGES/mediagoblin.po @@ -0,0 +1,310 @@ +# Translations template for PROJECT. +# Copyright (C) 2011 ORGANIZATION +# This file is distributed under the same license as the PROJECT project. +# +# <chc@citi.sinica.edu.tw>, 2011. +msgid "" +msgstr "" +"Project-Id-Version: GNU MediaGoblin\n" +"Report-Msgid-Bugs-To: http://bugs.foocorp.net/projects/mediagoblin/issues\n" +"POT-Creation-Date: 2011-08-13 19:47-0500\n" +"PO-Revision-Date: 2011-08-14 00:47+0000\n" +"Last-Translator: cwebber <cwebber@dustycloud.org>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 0.9.6\n" +"Language: zh_TW\n" +"Plural-Forms: nplurals=1; plural=0\n" + +#: mediagoblin/auth/forms.py:24 mediagoblin/auth/forms.py:46 +msgid "Username" +msgstr "使用者名稱" + +#: mediagoblin/auth/forms.py:29 mediagoblin/auth/forms.py:50 +msgid "Password" +msgstr "密碼" + +#: mediagoblin/auth/forms.py:34 +msgid "Passwords must match." +msgstr "密碼必須一至" + +#: mediagoblin/auth/forms.py:36 +msgid "Confirm password" +msgstr "確認密碼" + +#: mediagoblin/auth/forms.py:39 +msgid "Email address" +msgstr "電子郵件位置" + +#: mediagoblin/auth/views.py:40 +msgid "Sorry, registration is disabled on this instance." +msgstr "抱歉, 這個項目已經被暫停註冊." + +#: mediagoblin/auth/views.py:57 +msgid "Sorry, a user with that name already exists." +msgstr "抱歉, 這個使用者名稱已經存在." + +#: mediagoblin/auth/views.py:61 +msgid "Sorry, that email address has already been taken." +msgstr "" + +#: mediagoblin/auth/views.py:159 +msgid "" +"Your email address has been verified. You may now login, edit your profile, " +"and submit images!" +msgstr "你的電子郵件位址已被認證. 你現在就可以登入, 編輯你的個人檔案而且送出照片!" + +#: mediagoblin/auth/views.py:165 +msgid "The verification key or user id is incorrect" +msgstr "認證碼或是使用者帳號錯誤" + +#: mediagoblin/auth/views.py:186 +#: mediagoblin/templates/mediagoblin/auth/resent_verification_email.html:22 +msgid "Resent your verification email." +msgstr "重送認證郵件." + +#: mediagoblin/edit/forms.py:26 mediagoblin/submit/forms.py:27 +msgid "Title" +msgstr "稱謂" + +#: mediagoblin/edit/forms.py:29 +msgid "Slug" +msgstr "自訂字串" + +#: mediagoblin/edit/forms.py:30 +msgid "The slug can't be empty" +msgstr "自訂字串不能空白" + +#: mediagoblin/edit/forms.py:33 mediagoblin/submit/forms.py:31 +msgid "Tags" +msgstr "標籤" + +#: mediagoblin/edit/forms.py:38 +msgid "Bio" +msgstr "自傳" + +#: mediagoblin/edit/forms.py:41 +msgid "Website" +msgstr "網站" + +#: mediagoblin/edit/forms.py:43 +msgid "Improperly formed URL" +msgstr "部正確的網址" + +#: mediagoblin/edit/views.py:54 +msgid "An entry with that slug already exists for this user." +msgstr "這個自訂字串已經被其他人用了" + +#: mediagoblin/edit/views.py:75 +msgid "You are editing another user's media. Proceed with caution." +msgstr "你正在編輯他人的媒體檔案. 請謹慎處理." + +#: mediagoblin/edit/views.py:96 +msgid "You are editing a user's profile. Proceed with caution." +msgstr "你正在編輯他人的檔案. 請謹慎處理." + +#: mediagoblin/submit/forms.py:25 +msgid "File" +msgstr "檔案" + +#: mediagoblin/submit/views.py:46 +msgid "You must provide a file." +msgstr "你必須提供一個檔案" + +#: mediagoblin/submit/views.py:49 +msgid "The file doesn't seem to be an image!" +msgstr "檔案看起來不像是一個圖片喔!" + +#: mediagoblin/submit/views.py:94 +msgid "Woohoo! Submitted!" +msgstr "喔耶! 送出去了!" + +#: mediagoblin/templates/mediagoblin/base.html:22 +msgid "GNU MediaGoblin" +msgstr "GNU MediaGoblin" + +#: mediagoblin/templates/mediagoblin/base.html:45 +msgid "Mediagoblin logo" +msgstr "Mediagoblin 標誌" + +#: mediagoblin/templates/mediagoblin/base.html:51 +msgid "Submit media" +msgstr "送出媒體" + +#: mediagoblin/templates/mediagoblin/base.html:62 +msgid "verify your email!" +msgstr "確認您的電子郵件!" + +#: mediagoblin/templates/mediagoblin/base.html:72 +msgid "Login" +msgstr "登入" + +#: mediagoblin/templates/mediagoblin/base.html:88 +msgid "" +"Powered by <a href=\"http://mediagoblin.org\">MediaGoblin</a>, a <a " +"href=\"http://gnu.org/\">GNU project</a>" +msgstr "" +"由 <a href=\"http://mediagoblin.org\">MediaGoblin</a> 製作, 她是一個 <a " +"href=\"http://gnu.org/\">GNU project</a>" + +#: mediagoblin/templates/mediagoblin/root.html:23 +msgid "Welcome to GNU MediaGoblin!" +msgstr "GNU MediaGoblin 歡迎您!" + +#: mediagoblin/templates/mediagoblin/root.html:28 +msgid "Submit an item" +msgstr "送出一個項目" + +#: mediagoblin/templates/mediagoblin/root.html:33 +#, python-format +msgid "If you have an account, you can <a href=\"%(login_url)s\">Login</a>." +msgstr "如果您有帳號了, 你可以直接 <a href=\"%(login_url)s\">登入</a>." + +#: mediagoblin/templates/mediagoblin/root.html:39 +#, python-format +msgid "" +"If you don't have an account, please <a " +"href=\"%(register_url)s\">Register</a>." +msgstr "如果您尚未取得帳號, 請 <a href=\"%(register_url)s\">註冊</a>." + +#: mediagoblin/templates/mediagoblin/auth/login.html:26 +msgid "Log in" +msgstr "登入" + +#: mediagoblin/templates/mediagoblin/auth/login.html:29 +msgid "Login failed!" +msgstr "登入錯誤" + +#: mediagoblin/templates/mediagoblin/auth/login.html:34 +#: mediagoblin/templates/mediagoblin/auth/register.html:30 +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:35 +#: mediagoblin/templates/mediagoblin/submit/start.html:29 +msgid "Submit" +msgstr "送出" + +#: mediagoblin/templates/mediagoblin/auth/login.html:42 +msgid "Don't have an account yet?" +msgstr "還沒有帳號嗎?" + +#: mediagoblin/templates/mediagoblin/auth/login.html:45 +msgid "Create one here!" +msgstr "在這裡建立一個吧!" + +#: mediagoblin/templates/mediagoblin/auth/register.html:27 +msgid "Create an account!" +msgstr "建立一個帳號!" + +#: mediagoblin/templates/mediagoblin/auth/verification_email.txt:19 +#, python-format +msgid "" +"Hi %(username)s,\n" +"\n" +"to activate your GNU MediaGoblin account, open the following URL in\n" +"your web browser:\n" +"\n" +"%(verification_url)s" +msgstr "" +"嗨 %(username)s,\n" +"\n" +"啟動 GNU MediaGoblin 帳號, 在你的瀏覽器中打開下面的網址:\n" +"\n" +"%(verification_url)s" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:29 +#, python-format +msgid "Editing %(media_title)s" +msgstr "編輯 %(media_title)s 中" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:36 +msgid "Cancel" +msgstr "取消" + +#: mediagoblin/templates/mediagoblin/edit/edit.html:37 +msgid "Save changes" +msgstr "儲存變更" + +#: mediagoblin/templates/mediagoblin/edit/edit_profile.html:29 +#, python-format +msgid "Editing %(username)s's profile" +msgstr "編輯 %(username)s'的檔案中" + +#: mediagoblin/templates/mediagoblin/listings/tag.html:31 +msgid "Media tagged with:" +msgstr "媒體被標籤為:" + +#: mediagoblin/templates/mediagoblin/listings/tag.html:42 +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:48 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:104 +msgid "atom feed" +msgstr "atom feed" + +#: mediagoblin/templates/mediagoblin/submit/start.html:26 +msgid "Submit yer media" +msgstr "送出你的媒體檔案" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:32 +#, python-format +msgid "<a href=\"%(user_url)s\">%(username)s</a>'s media" +msgstr "<a href=\"%(user_url)s\">%(username)s</a>的媒體" + +#: mediagoblin/templates/mediagoblin/user_pages/gallery.html:53 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:32 +msgid "Sorry, no such user found." +msgstr "抱歉, 找不到這個使用者." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:39 +#: mediagoblin/templates/mediagoblin/user_pages/user.html:59 +msgid "Verification needed" +msgstr "需要驗證" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:42 +msgid "Almost done! Your account still needs to be verified." +msgstr "快要完成了! 你的帳號仍需要驗證." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:47 +msgid "" +"An email should arrive in a few moments with instructions on how to do so." +msgstr "很快的會有一封電子郵件告訴你如何做." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:51 +msgid "In case it doesn't:" +msgstr "假設它無法:" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:54 +msgid "Resend verification email" +msgstr "重送認證郵件 " + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:62 +msgid "" +"Someone has registered an account with this username, but it still has to be" +" verified." +msgstr "有人已經註冊了這個帳號, 但此帳號仍需要驗證." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:68 +#, python-format +msgid "" +"If you are that person but you've lost your verification email, you can <a " +"href=\"%(login_url)s\">log in</a> and resend it." +msgstr "如果你就是那個人, 但是遺失了認證信, 你可以<a href=\"%(login_url)s\">登入</a> 然後重送一次." + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:78 +#, python-format +msgid "%(username)s's profile" +msgstr "%(username)s的個人檔案" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:86 +msgid "Edit profile" +msgstr "編輯個人檔案" + +#: mediagoblin/templates/mediagoblin/user_pages/user.html:98 +#, python-format +msgid "View all of %(username)s's media" +msgstr "查看%(username)s的全部媒體檔案" + +#: mediagoblin/user_pages/forms.py:24 +msgid "Comment" +msgstr "" + + diff --git a/mediagoblin/static/css/base.css b/mediagoblin/static/css/base.css index 59c2f49d..83f5357c 100644 --- a/mediagoblin/static/css/base.css +++ b/mediagoblin/static/css/base.css @@ -14,23 +14,13 @@ form { padding: 0px; } -/* Carter One font */ - -@font-face { - font-family: 'Carter One'; - font-style: normal; - font-weight: normal; - src: local('CarterOne'), url('http://themes.googleusercontent.com/font?kit=VjW2qt1pkqVtO22ObxgEBRsxEYwM7FgeyaSgU71cLG0') format('woff'); -} - /* text styles */ h1{ - font-family: 'Carter One',arial,serif; margin-bottom: 15px; margin-top: 15px; color: #fff; - font-size: 30px; + font-size: 1.875em; } h2{ @@ -39,12 +29,12 @@ h2{ } h3{ - border-bottom: 1px solid #222; - font-size: 18px; + border-bottom: 1px solid #333; + font-size: 1.125em; } a { - color: #999; + color: #86D4B1; } a.highlight { @@ -66,7 +56,12 @@ label { height: 36px; padding-top: 14px; margin-bottom: 20px; - border-bottom: 1px solid #222222; + border-bottom: 1px solid #333; +} + +a.mediagoblin_logo{ + color: #fff; + font-weight: bold; } .header_submit{ @@ -79,21 +74,21 @@ label { background-image: -o-linear-gradient(top, #D2D2D2, #aaa); background-image: linear-gradient(top, #D2D2D2, #aaa); box-shadow: 0px 0px 4px #000; - border-radius: 5px 5px 5px 5px; + border-radius: 3px; margin: 8px; padding: 3px 8px; text-decoration: none; border: medium none; - font-family: 'Carter One',arial,serif; + font-style: normal; } .mediagoblin_footer { height: 30px; - border-top: 1px solid #222222; + border-top: 1px solid #333; bottom: 0px; padding-top: 8px; text-align: center; - font-size: 14px; + font-size: 0.8125em; color: #999; } @@ -108,7 +103,6 @@ label { /* common website elements */ .button { - font-family: 'Carter One', arial, serif; height: 32px; min-width: 99px; background-color: #86d4b1; @@ -119,11 +113,10 @@ label { background-image: -o-linear-gradient(top, #86d4b1, #62caa2); background-image: linear-gradient(top, #86d4b1, #62caa2); box-shadow: 0px 0px 4px #000; - border-radius: 5px; + border-radius: 3px; border: none; color: #272727; margin: 10px 0px 10px 15px; - font-size: 1em; text-align: center; padding-left: 11px; padding-right: 11px; @@ -138,13 +131,20 @@ text-align: center; margin: 5px; } +.empty_space{ + background-color: #222; + font-style: italic; + text-align: center; + height: 160px; + padding-top: 70px; +} + /* forms */ .form_box { background-color: #222; background-image: url("../images/background_lines.png"); background-repeat: repeat-x; - font-size: 18px; padding-bottom: 30px; padding-top: 30px; margin-left: auto; @@ -157,13 +157,8 @@ text-align: center; background-image: url("../images/background_edit.png"); } -.form_box h1 { - font-size: 28px; -} - .form_field_input input, .form_field_input textarea { width: 100%; - font-size: 18px; } .form_field_box { @@ -178,7 +173,6 @@ text-align: center; background-color: #87453b; color: #fff; border: none; - font-size: 16px; padding: 9px; margin-top: 8px; margin-bottom: 8px; @@ -193,7 +187,7 @@ text-align: center; .comment_author { margin-bottom: 40px; padding-top: 4px; - font-size: 14px; + font-size: 0.9em; } .comment_content p { @@ -205,7 +199,6 @@ text-align: center; .media_thumbnail { padding: 0px; width: 180px; - height: 180px; overflow: hidden; float: left; margin: 0px 4px 10px 4px; @@ -214,8 +207,12 @@ text-align: center; /* media detail */ -.media_image_container { - text-align: center; +h2.media_title{ + margin-bottom: 0px; +} + +p.media_uploader{ + font-size: 0.9em; } /* icons */ @@ -232,10 +229,9 @@ img.media_icon{ display: block; float: left; text-align: center; - background-color: #222; + background-color: #333; text-decoration: none; padding: 12px 0pt; - font-family: 'Carter One', arial, serif; font-size: 2em; margin: 0 0 20px } diff --git a/mediagoblin/static/images/icon_feed.png b/mediagoblin/static/images/icon_feed.png Binary files differindex 11e5b1e7..81889473 100644 --- a/mediagoblin/static/images/icon_feed.png +++ b/mediagoblin/static/images/icon_feed.png diff --git a/mediagoblin/static/images/logo.png b/mediagoblin/static/images/logo.png Binary files differdeleted file mode 100644 index cf28a6d4..00000000 --- a/mediagoblin/static/images/logo.png +++ /dev/null diff --git a/mediagoblin/templates/mediagoblin/base.html b/mediagoblin/templates/mediagoblin/base.html index 986e0995..f46871c6 100644 --- a/mediagoblin/templates/mediagoblin/base.html +++ b/mediagoblin/templates/mediagoblin/base.html @@ -39,11 +39,9 @@ <div class="container_16"> <div class="grid_16 mediagoblin_header"> {% block mediagoblin_logo %} - <a class="mediagoblin_logo" - href="{{ request.urlgen('index') }}"> - <img src="{{ request.staticdirect('/images/logo.png') }}" - alt="{% trans %}Mediagoblin logo{% endtrans %}" /> - </a> + <a class="mediagoblin_logo" href="{{ request.urlgen('index') }}"> + MediaGoblin<img src="{{ request.staticdirect('/images/logo.png') }}" + alt="{% trans %}MediaGoblin logo{% endtrans %}" /></a> {% endblock %} {% if request.user and request.user['status'] == 'active' %} <a class="header_submit" diff --git a/mediagoblin/templates/mediagoblin/listings/tag.html b/mediagoblin/templates/mediagoblin/listings/tag.html index a43355a7..289f44b8 100644 --- a/mediagoblin/templates/mediagoblin/listings/tag.html +++ b/mediagoblin/templates/mediagoblin/listings/tag.html @@ -36,10 +36,9 @@ </div> <div class="grid_16"> - <a href="{{ request.urlgen( - 'mediagoblin.listings.tag_atom_feed', - tag=tag_slug) }}"> - {%- trans %}atom feed{% endtrans -%} - </a> + {% set feed_url = request.urlgen( + 'mediagoblin.listings.tag_atom_feed', + tag=tag_slug) %} + {% include "mediagoblin/utils/feed_link.html" %} </div> {% endblock %} diff --git a/mediagoblin/templates/mediagoblin/user_pages/gallery.html b/mediagoblin/templates/mediagoblin/user_pages/gallery.html index ff935ac4..3a3d2373 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/gallery.html +++ b/mediagoblin/templates/mediagoblin/user_pages/gallery.html @@ -37,16 +37,15 @@ {%- endtrans %} </h1> - </div> <div class="container_16 media_gallery"> {{ object_gallery(request, media_entries, pagination) }} </div> + <div class="grid_16"> - <a href="{{ request.urlgen( - 'mediagoblin.user_pages.atom_feed', - user=user.username) }}"> - {%- trans %}atom feed{% endtrans -%} - </a> + {% set feed_url = request.urlgen( + 'mediagoblin.user_pages.atom_feed', + user=user.username) %} + {% include "mediagoblin/utils/feed_link.html" %} </div> {% else %} {# This *should* not occur as the view makes sure we pass in a user. #} diff --git a/mediagoblin/templates/mediagoblin/user_pages/media.html b/mediagoblin/templates/mediagoblin/user_pages/media.html index 9c0a1cca..e1175fc4 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/media.html +++ b/mediagoblin/templates/mediagoblin/user_pages/media.html @@ -28,16 +28,10 @@ src="{{ request.app.public_store.file_url( media.get_display_media(media.media_files)) }}" /> </div> - - <h2> + <h2 class="media_title"> {{media.title}} </h2> - - {% autoescape False %} - <p>{{ media.description_html }}</p> - {% endautoescape %} - - <p> + <p class="media_uploader"> {% trans date="%4d-%02d-%02d"|format( media.created.year, media.created.month, media.created.day), @@ -45,11 +39,13 @@ 'mediagoblin.user_pages.user_home', user=media.uploader().username), username=media.uploader().username -%} - — uploaded on {{ date }} by <a href="{{ user_url }}">{{ username }}</a> + Uploaded on {{ date }} by <a href="{{ user_url }}">{{ username }}</a> {%- endtrans %} </p> + {% autoescape False %} + <p>{{ media.description_html }}</p> + {% endautoescape %} <br /> - <h3>{% trans %}Comments{% endtrans %}</h3> {% if request.user %} <form action="{{ request.urlgen('mediagoblin.user_pages.media_post_comment', diff --git a/mediagoblin/templates/mediagoblin/user_pages/user.html b/mediagoblin/templates/mediagoblin/user_pages/user.html index 4649c8c7..0214082c 100644 --- a/mediagoblin/templates/mediagoblin/user_pages/user.html +++ b/mediagoblin/templates/mediagoblin/user_pages/user.html @@ -78,33 +78,79 @@ {%- trans username=user.username %}{{ username }}'s profile{% endtrans -%} </h1> - <div class="grid_6 alpha"> - {% include "mediagoblin/utils/profile.html" %} - {% if request.user['_id'] == user['_id'] or request.user['is_admin'] %} - <a href="{{ request.urlgen('mediagoblin.edit.profile') }}?username={{ - user.username }}"> - {%- trans %}Edit profile{% endtrans -%} - </a> + {% if not user['url'] and not user['profile'] %} + {% if request.user['_id'] == user['_id'] %} + <div class="grid_6 alpha empty_space"> + <p> + {% trans %}Here's a spot to tell others about yourself.{% endtrans %} + </p> + <a href="{{ request.urlgen('mediagoblin.edit.profile') }}?username={{ + user.username }}" + class="header_submit"> + {%- trans %}Edit profile{% endtrans -%} + </a> + </div> + {% else %} + <div class="grid_6 alpha empty_space"> + <p> + {% trans -%} + This user hasn't filled in their profile (yet). + {%- endtrans %} + </p> + </div> {% endif %} - </div> - - <div class="grid_10 omega"> - {{ object_gallery(request, media_entries, pagination, - pagination_base_url=user_gallery_url, col_number=3) }} - {% include "mediagoblin/utils/object_gallery.html" %} - <div class="clear"></div> - <p> - <a href="{{ user_gallery_url }}"> - {% trans username=user.username -%} - View all of {{ username }}'s media{% endtrans -%} - </a> - </p> - <a href="{{ request.urlgen( 'mediagoblin.user_pages.atom_feed', - user=user.username) }}"> - {%- trans %}atom feed{% endtrans -%} - </a> - </div> + {% else %} + <div class="grid_6 alpha"> + {% include "mediagoblin/utils/profile.html" %} + {% if request.user['_id'] == user['_id'] or request.user['is_admin'] %} + <a href="{{ request.urlgen('mediagoblin.edit.profile') }}?username={{ + user.username }}"> + {%- trans %}Edit profile{% endtrans -%} + </a> + {% endif %} + </div> + {% endif %} + {% if media_entries.count() %} + <div class="grid_10 omega"> + {{ object_gallery(request, media_entries, pagination, + pagination_base_url=user_gallery_url, col_number=3) }} + {% include "mediagoblin/utils/object_gallery.html" %} + <div class="clear"></div> + <p> + <a href="{{ user_gallery_url }}"> + {% trans username=user.username -%} + View all of {{ username }}'s media{% endtrans -%} + </a> + </p> + {% set feed_url = request.urlgen( + 'mediagoblin.user_pages.atom_feed', + user=user.username) %} + {% include "mediagoblin/utils/feed_link.html" %} + </div> + {% else %} + {% if request.user['_id'] == user['_id'] %} + <div class="grid_10 omega empty_space"> + <p> + {% trans -%} + This is where your media will appear, but you don't seem to have added anything yet. + {%- endtrans %} + </p> + <a class="header_submit" + href="{{ request.urlgen('mediagoblin.submit.start') }}"> + {%- trans %}Add media{% endtrans -%} + </a> + </div> + {% else %} + <div class="grid_10 omega empty_space"> + <p> + {% trans -%} + There doesn't seem to be any media here yet... + {%- endtrans %} + </p> + </div> + {% endif %} + {% endif %} <div class="clear"></div> {% endif %} {% endblock %} diff --git a/mediagoblin/templates/mediagoblin/utils/feed_link.html b/mediagoblin/templates/mediagoblin/utils/feed_link.html new file mode 100644 index 00000000..c4036bf3 --- /dev/null +++ b/mediagoblin/templates/mediagoblin/utils/feed_link.html @@ -0,0 +1,23 @@ +{# +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011 Free Software Foundation, Inc +# +# 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/>. +#} + +<a href="{{ feed_url }}"> + <img src="{{ request.staticdirect('/images/icon_feed.png') }}" + class="media_icon" alt="{% trans %}feed icon{% endtrans %}" /> +</a> +<a href="{{ feed_url }}">{%- trans %}Atom feed{% endtrans -%}</a> diff --git a/mediagoblin/templates/mediagoblin/utils/object_gallery.html b/mediagoblin/templates/mediagoblin/utils/object_gallery.html index c7286678..b451946d 100644 --- a/mediagoblin/templates/mediagoblin/utils/object_gallery.html +++ b/mediagoblin/templates/mediagoblin/utils/object_gallery.html @@ -18,44 +18,27 @@ {% from "mediagoblin/utils/pagination.html" import render_pagination %} -{% macro media_grid(request, media_list, col_number=5) %} - {% set num_items = media_list.count() %} - {% set col_counter = 0 %} - {% set row_counter = 0 %} - {% set item_counter = 0 %} - - {% set num_rows = num_items // col_number %} - {% if num_items % col_number != 0 %} - {% set num_rows = num_rows + 1 %} - {% endif %} - - <div class="thumb_gallery"> - {% for entry in media_list %} - {% if col_counter == 0 %} - <div class="thumb_row {% if row_counter == 0 %}thumb_row_first{% endif %}{% if num_rows == row_counter + 1 %}thumb_row_last{% endif %}"> - {% endif %} - - <div class="media_thumbnail thumb_entry {% if col_counter == 0 %}thumb_entry_first{% endif %}{% if col_number == col_counter + 1 or num_items == item_counter + 1 %}thumb_entry_last{% endif %}"> +{% macro media_grid(request, media_entries, col_number=5) %} + <table class="thumb_gallery"> + {% for row in gridify_cursor(media_entries, col_number) %} + <tr class="thumb_row + {%- if loop.first %} thumb_row_first + {%- elif loop.last %} thumb_row_last{% endif %}"> + {% for entry in row %} + <td class="media_thumbnail thumb_entry + {%- if loop.first %} thumb_entry_first + {%- elif loop.last %} thumb_entry_last{% endif %}"> <a href="{{ entry.url_for_self(request.urlgen) }}"> - <img src="{{ request.app.public_store.file_url( - entry['media_files']['thumb']) }}" /></a> - </div> - - {% if col_number == col_counter + 1 or num_items == item_counter + 1 %} - </div> - {% set row_counter = row_counter + 1 %} - {% endif %} - - {% set item_counter = item_counter + 1 %} - {% set col_counter = col_counter + 1 %} - {% if col_counter == col_number %} - {% set col_counter = 0 %} - {% endif %} + <img src="{{ request.app.public_store.file_url( + entry['media_files']['thumb']) }}" /> + </a> + </td> + {% endfor %} + </tr> {% endfor %} - </div> + </table> {%- endmacro %} - {# Render a media gallery with pagination. diff --git a/mediagoblin/util.py b/mediagoblin/util.py index b46c65d9..cc426228 100644 --- a/mediagoblin/util.py +++ b/mediagoblin/util.py @@ -100,7 +100,10 @@ def get_jinja_env(template_loader, locale): # All templates will know how to ... # ... fetch all waiting messages and remove them from the queue + # ... construct a grid of thumbnails or other media template_env.globals['fetch_messages'] = messages.fetch_messages + template_env.globals['gridify_list'] = gridify_list + template_env.globals['gridify_cursor'] = gridify_cursor if exists(locale): SETUP_JINJA_ENVS[locale] = template_env @@ -628,3 +631,32 @@ class Pagination(object): """ return self.get_page_url_explicit( request.path_info, request.GET, page_no) + + +def gridify_list(this_list, num_cols=5): + """ + Generates a list of lists where each sub-list's length depends on + the number of columns in the list + """ + grid = [] + + # Figure out how many rows we should have + num_rows = int(ceil(float(len(this_list)) / num_cols)) + + for row_num in range(num_rows): + slice_min = row_num * num_cols + slice_max = (row_num + 1) * num_cols + + row = this_list[slice_min:slice_max] + + grid.append(row) + + return grid + + +def gridify_cursor(this_cursor, num_cols=5): + """ + Generates a list of lists where each sub-list's length depends on + the number of columns in the list + """ + return gridify_list(list(this_cursor), num_cols) |