mirror of
https://github.com/django/django.git
synced 2025-07-04 17:59:13 +00:00
gis: Merged revisions 4786-5490 via svnmerge from
http://code.djangoproject.com/svn/django/trunk git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@5492 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
48c9f87e1f
commit
bdcc95e5cc
51
AUTHORS
51
AUTHORS
@ -41,12 +41,17 @@ And here is an inevitably incomplete list of MUCH-APPRECIATED CONTRIBUTORS --
|
||||
people who have submitted patches, reported bugs, added translations, helped
|
||||
answer newbie questions, and generally made Django that much better:
|
||||
|
||||
adurdin@gmail.com
|
||||
alang@bright-green.com
|
||||
Marty Alchin <gulopine@gamemusic.org>
|
||||
Daniel Alves Barbosa de Oliveira Vaz <danielvaz@gmail.com>
|
||||
Andreas
|
||||
andy@jadedplanet.net
|
||||
Fabrice Aneche <akh@nobugware.com>
|
||||
ant9000@netwise.it
|
||||
David Ascher <http://ascher.ca/>
|
||||
david@kazserve.org
|
||||
Arthur <avandorp@gmail.com>
|
||||
axiak@mit.edu
|
||||
Jiri Barton
|
||||
Ned Batchelder <http://www.nedbatchelder.com/>
|
||||
Shannon -jj Behrens <http://jjinux.blogspot.com/>
|
||||
@ -63,32 +68,45 @@ answer newbie questions, and generally made Django that much better:
|
||||
Chris Chamberlin <dja@cdc.msbx.net>
|
||||
Amit Chakradeo <http://amit.chakradeo.net/>
|
||||
ChaosKCW
|
||||
ivan.chelubeev@gmail.com
|
||||
Bryan Chow <bryan at verdjn dot com>
|
||||
Michal Chruszcz <troll@pld-linux.org>
|
||||
Ian Clelland <clelland@gmail.com>
|
||||
crankycoder@gmail.com
|
||||
Pete Crosier <pete.crosier@gmail.com>
|
||||
Matt Croydon <http://www.postneo.com/>
|
||||
flavio.curella@gmail.com
|
||||
Jure Cuhalev <gandalf@owca.info>
|
||||
dackze+django@gmail.com
|
||||
David Danier <goliath.mailinglist@gmx.de>
|
||||
Dirk Datzert <dummy@habmalnefrage.de>
|
||||
Jonathan Daugherty (cygnus) <http://www.cprogrammer.org/>
|
||||
dave@thebarproject.com
|
||||
Jason Davies (Esaj) <http://www.jasondavies.com/>
|
||||
Alex Dedul
|
||||
deric@monowerks.com
|
||||
Max Derkachev <mderk@yandex.ru>
|
||||
Jordan Dimov <s3x3y1@gmail.com>
|
||||
dne@mayonnaise.net
|
||||
Maximillian Dornseif <md@hudora.de>
|
||||
Jeremy Dunck <http://dunck.us/>
|
||||
Andrew Durdin <adurdin@gmail.com>
|
||||
Andy Dustman <farcepest@gmail.com>
|
||||
Clint Ecker
|
||||
enlight
|
||||
Enrico <rico.bl@gmail.com>
|
||||
Ludvig Ericson <ludvig.ericson@gmail.com>
|
||||
Dirk Eschler <dirk.eschler@gmx.net>
|
||||
Marc Fargas <telenieko@telenieko.com>
|
||||
favo@exoweb.net
|
||||
Bill Fenner <fenner@gmail.com>
|
||||
Matthew Flanagan <http://wadofstuff.blogspot.com>
|
||||
Eric Floehr <eric@intellovations.com>
|
||||
Jorge Gajon <gajon@gajon.org>
|
||||
gandalf@owca.info
|
||||
Baishampayan Ghose
|
||||
martin.glueck@gmail.com
|
||||
GomoX <gomo@datafull.com>
|
||||
Simon Greenhill <dev@simon.net.nz>
|
||||
Owen Griffiths
|
||||
Espen Grindhaug <http://grindhaug.org/>
|
||||
@ -100,40 +118,49 @@ answer newbie questions, and generally made Django that much better:
|
||||
hipertracker@gmail.com
|
||||
Ian Holsman <http://feh.holsman.net/>
|
||||
Kieran Holland <http://www.kieranholland.com>
|
||||
Sung-Jin Hong <serialx.net@gmail.com>
|
||||
Robert Rock Howard <http://djangomojo.com/>
|
||||
Jason Huggins <http://www.jrandolph.com/blog/>
|
||||
Hyun Mi Ae
|
||||
Tom Insam
|
||||
Baurzhan Ismagulov <ibr@radix50.net>
|
||||
jcrasta@gmail.com
|
||||
Zak Johnson <zakj@nox.cx>
|
||||
Michael Josephson <http://www.sdjournal.com/>
|
||||
jpellerin@gmail.com
|
||||
junzhang.jn@gmail.com
|
||||
Antti Kaihola <http://akaihola.blogspot.com/>
|
||||
Ben Dean Kawamura <ben.dean.kawamura@gmail.com>
|
||||
ian.g.kelly@gmail.com
|
||||
Garth Kidd <http://www.deadlybloodyserious.com/>
|
||||
kilian <kilian.cavalotti@lip6.fr>
|
||||
Sune Kirkeby <http://ibofobi.dk/>
|
||||
Bastian Kleineidam <calvin@debian.org>
|
||||
Cameron Knight (ckknight)
|
||||
Gasper Koren
|
||||
Martin Kosír <martin@martinkosir.net>
|
||||
Meir Kriheli <http://mksoft.co.il/>
|
||||
Bruce Kroeze <http://coderseye.com/>
|
||||
Joseph Kocherhans
|
||||
konrad@gwu.edu
|
||||
lakin.wecker@gmail.com
|
||||
Nick Lane <nick.lane.au@gmail.com>
|
||||
Stuart Langridge <http://www.kryogenix.org/>
|
||||
Nicola Larosa <nico@teknico.net>
|
||||
Eugene Lazutkin <http://lazutkin.com/blog/>
|
||||
Jeong-Min Lee <falsetru@gmail.com>
|
||||
Jannis Leidel <jl@websushi.org>
|
||||
Christopher Lenz <http://www.cmlenz.net/>
|
||||
lerouxb@gmail.com
|
||||
Waylan Limberg <waylan@gmail.com>
|
||||
limodou
|
||||
mattmcc
|
||||
Matt McClanahan <http://mmcc.cx/>
|
||||
Martin Maney <http://www.chipy.org/Martin_Maney>
|
||||
masonsimon+django@gmail.com
|
||||
Manuzhai
|
||||
Petar Marić <http://www.petarmaric.com/>
|
||||
Nuno Mariz <nmariz@gmail.com>
|
||||
marijn@metronomo.cl
|
||||
mark@junklight.com
|
||||
Yasushi Masuda <whosaysni@gmail.com>
|
||||
mattycakes@gmail.com
|
||||
@ -144,15 +171,18 @@ answer newbie questions, and generally made Django that much better:
|
||||
mitakummaa@gmail.com
|
||||
mmarshall
|
||||
Eric Moritz <http://eric.themoritzfamily.com/>
|
||||
mrmachine <real.human@mrmachine.net>
|
||||
Robin Munn <http://www.geekforgod.com/>
|
||||
Robert Myers <myer0052@gmail.com>
|
||||
Nebojša Dorđević
|
||||
Gopal Narayanan <gopastro@gmail.com>
|
||||
Fraser Nevett <mail@nevett.org>
|
||||
Sam Newman <http://www.magpiebrain.com/>
|
||||
Neal Norwitz <nnorwitz@google.com>
|
||||
oggie rob <oz.robharvey@gmail.com>
|
||||
Jay Parlar <parlar@gmail.com>
|
||||
pavithran s <pavithran.s@gmail.com>
|
||||
Barry Pederson <bp@barryp.org>
|
||||
pgross@thoughtworks.com
|
||||
phaedo <http://phaedo.cx/>
|
||||
phil@produxion.net
|
||||
@ -161,14 +191,19 @@ answer newbie questions, and generally made Django that much better:
|
||||
Luke Plant <http://lukeplant.me.uk/>
|
||||
plisk
|
||||
Daniel Poelzleithner <http://poelzi.org/>
|
||||
polpak@yahoo.com
|
||||
J. Rademaker
|
||||
Michael Radziej <mir@noris.de>
|
||||
ramiro
|
||||
Ramiro Morales <rm0@gmx.net>
|
||||
Massimiliano Ravelli <massimiliano.ravelli@gmail.com>
|
||||
Brian Ray <http://brianray.chipy.org/>
|
||||
remco@diji.biz
|
||||
rhettg@gmail.com
|
||||
Henrique Romano <onaiort@gmail.com>
|
||||
Armin Ronacher
|
||||
Oliver Rutherfurd <http://rutherfurd.net/>
|
||||
Ivan Sagalaev (Maniac) <http://www.softwaremaniacs.org/>
|
||||
Vinay Sajip <vinay_sajip@yahoo.co.uk>
|
||||
David Schein
|
||||
scott@staplefish.com
|
||||
serbaut@gmail.com
|
||||
@ -176,25 +211,35 @@ answer newbie questions, and generally made Django that much better:
|
||||
SmileyChris <smileychris@gmail.com>
|
||||
smurf@smurf.noris.de
|
||||
sopel
|
||||
Wiliam Alves de Souza <wiliamsouza83@gmail.com>
|
||||
Georgi Stanojevski <glisha@gmail.com>
|
||||
Vasiliy Stavenko <stavenko@gmail.com>
|
||||
Thomas Steinacher <http://www.eggdrop.ch/>
|
||||
nowell strite
|
||||
Radek Švarz <http://www.svarz.cz/translate/>
|
||||
Swaroop C H <http://www.swaroopch.info>
|
||||
Aaron Swartz <http://www.aaronsw.com/>
|
||||
Ville Säävuori <http://www.unessa.net/>
|
||||
Tyson Tate <tyson@fallingbullets.com>
|
||||
Frank Tegtmeyer <fte@fte.to>
|
||||
thebjorn <bp@datakortet.no>
|
||||
Zach Thompson <zthompson47@gmail.com>
|
||||
Tom Tobin
|
||||
Joe Topjian <http://joe.terrarum.net/geek/code/python/django/>
|
||||
torne-django@wolfpuppy.org.uk
|
||||
Karen Tracey <graybark@bellsouth.net>
|
||||
Makoto Tsuyuki <mtsuyuki@gmail.com>
|
||||
tt@gurgle.no
|
||||
Amit Upadhyay
|
||||
Geert Vanderkelen
|
||||
viestards.lists@gmail.com
|
||||
Milton Waddams
|
||||
wam-djangobug@wamber.net
|
||||
wangchun <yaohua2000@gmail.com>
|
||||
Dan Watson <http://theidioteque.net/>
|
||||
Chris Wesseling <Chris.Wesseling@cwi.nl>
|
||||
James Wheare <django@sparemint.com>
|
||||
charly.wilhelm@gmail.com
|
||||
Rachel Willmer <http://www.willmer.com/kb/>
|
||||
Gary Wilson <gary.wilson@gmail.com>
|
||||
wojtek
|
||||
|
@ -1,10 +1,15 @@
|
||||
include README
|
||||
include AUTHORS
|
||||
include INSTALL
|
||||
include LICENSE
|
||||
include MANIFEST.in
|
||||
recursive-include docs *
|
||||
recursive-include scripts *
|
||||
recursive-include examples *
|
||||
recursive-include extras *
|
||||
recursive-include django/conf/locale *
|
||||
recursive-include django/contrib/admin/templates *
|
||||
recursive-include django/contrib/admin/media *
|
||||
recursive-include django/contrib/comments/templates *
|
||||
recursive-include django/contrib/databrowse/templates *
|
||||
recursive-include django/contrib/sitemaps/templates *
|
||||
|
@ -1 +1,8 @@
|
||||
VERSION = (0, 96, None)
|
||||
VERSION = (0, 97, 'pre')
|
||||
|
||||
def get_version():
|
||||
"Returns the version as a human-format string."
|
||||
v = '.'.join([str(i) for i in VERSION[:-1]])
|
||||
if VERSION[-1]:
|
||||
v += '-' + VERSION[-1]
|
||||
return v
|
||||
|
@ -31,9 +31,9 @@ def compile_messages(locale=None):
|
||||
os.environ['djangocompilemo'] = pf + '.mo'
|
||||
os.environ['djangocompilepo'] = pf + '.po'
|
||||
if sys.platform == 'win32': # Different shell-variable syntax
|
||||
cmd = 'msgfmt -o "%djangocompilemo%" "%djangocompilepo%"'
|
||||
cmd = 'msgfmt --check-format -o "%djangocompilemo%" "%djangocompilepo%"'
|
||||
else:
|
||||
cmd = 'msgfmt -o "$djangocompilemo" "$djangocompilepo"'
|
||||
cmd = 'msgfmt --check-format -o "$djangocompilemo" "$djangocompilepo"'
|
||||
os.system(cmd)
|
||||
|
||||
def main():
|
||||
|
@ -7,13 +7,13 @@ Can be run as a cronjob to clean out old data from the database (only expired
|
||||
sessions at the moment).
|
||||
"""
|
||||
|
||||
from django.db import backend, connection, transaction
|
||||
import datetime
|
||||
from django.db import transaction
|
||||
from django.contrib.sessions.models import Session
|
||||
|
||||
def clean_up():
|
||||
# Clean up old database records
|
||||
cursor = connection.cursor()
|
||||
cursor.execute("DELETE FROM %s WHERE %s < NOW()" % \
|
||||
(backend.quote_name('django_session'), backend.quote_name('expire_date')))
|
||||
"""Clean up expired sessions."""
|
||||
Session.objects.filter(expire_date__lt=datetime.datetime.now()).delete()
|
||||
transaction.commit_unless_managed()
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
@ -81,7 +81,7 @@ def make_messages():
|
||||
src = pythonize_re.sub('\n#', src)
|
||||
open(os.path.join(dirpath, '%s.py' % file), "wb").write(src)
|
||||
thefile = '%s.py' % file
|
||||
cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy --from-code UTF-8 -o - "%s"' % (
|
||||
cmd = 'xgettext %s -d %s -L Perl --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % (
|
||||
os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile))
|
||||
(stdin, stdout, stderr) = os.popen3(cmd, 'b')
|
||||
msgs = stdout.read()
|
||||
@ -103,7 +103,7 @@ def make_messages():
|
||||
open(os.path.join(dirpath, '%s.py' % file), "wb").write(templatize(src))
|
||||
thefile = '%s.py' % file
|
||||
if verbose: sys.stdout.write('processing file %s in %s\n' % (file, dirpath))
|
||||
cmd = 'xgettext %s -d %s -L Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy --from-code UTF-8 -o - "%s"' % (
|
||||
cmd = 'xgettext %s -d %s -L Python --keyword=gettext_noop --keyword=gettext_lazy --keyword=ngettext_lazy:1,2 --from-code UTF-8 -o - "%s"' % (
|
||||
os.path.exists(potfile) and '--omit-header' or '', domain, os.path.join(dirpath, thefile))
|
||||
(stdin, stdout, stderr) = os.popen3(cmd, 'b')
|
||||
msgs = stdout.read()
|
||||
|
@ -22,7 +22,7 @@ def gather_stats(p):
|
||||
else:
|
||||
continue
|
||||
print "Processing %s" % f
|
||||
if profiles.has_key(path):
|
||||
if path in profiles:
|
||||
profiles[path].add(prof)
|
||||
else:
|
||||
profiles[path] = prof
|
||||
|
@ -38,6 +38,7 @@ LANGUAGE_CODE = 'en-us'
|
||||
LANGUAGES = (
|
||||
('ar', gettext_noop('Arabic')),
|
||||
('bn', gettext_noop('Bengali')),
|
||||
('bg', gettext_noop('Bulgarian')),
|
||||
('ca', gettext_noop('Catalan')),
|
||||
('cs', gettext_noop('Czech')),
|
||||
('cy', gettext_noop('Welsh')),
|
||||
@ -55,6 +56,7 @@ LANGUAGES = (
|
||||
('is', gettext_noop('Icelandic')),
|
||||
('it', gettext_noop('Italian')),
|
||||
('ja', gettext_noop('Japanese')),
|
||||
('ko', gettext_noop('Korean')),
|
||||
('kn', gettext_noop('Kannada')),
|
||||
('lv', gettext_noop('Latvian')),
|
||||
('mk', gettext_noop('Macedonian')),
|
||||
@ -118,6 +120,7 @@ EMAIL_PORT = 25
|
||||
# Optional SMTP authentication information for EMAIL_HOST.
|
||||
EMAIL_HOST_USER = ''
|
||||
EMAIL_HOST_PASSWORD = ''
|
||||
EMAIL_USE_TLS = False
|
||||
|
||||
# List of strings representing installed apps.
|
||||
INSTALLED_APPS = ()
|
||||
@ -141,6 +144,7 @@ TEMPLATE_CONTEXT_PROCESSORS = (
|
||||
'django.core.context_processors.auth',
|
||||
'django.core.context_processors.debug',
|
||||
'django.core.context_processors.i18n',
|
||||
'django.core.context_processors.media',
|
||||
# 'django.core.context_processors.request',
|
||||
)
|
||||
|
||||
@ -237,7 +241,8 @@ TRANSACTIONS_MANAGED = False
|
||||
|
||||
# The User-Agent string to use when checking for URL validity through the
|
||||
# isExistingURL validator.
|
||||
URL_VALIDATOR_USER_AGENT = "Django/0.96pre (http://www.djangoproject.com)"
|
||||
from django import get_version
|
||||
URL_VALIDATOR_USER_AGENT = "Django/%s (http://www.djangoproject.com)" % get_version()
|
||||
|
||||
##############
|
||||
# MIDDLEWARE #
|
||||
@ -311,6 +316,12 @@ BANNED_IPS = ()
|
||||
|
||||
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
|
||||
|
||||
LOGIN_URL = '/accounts/login/'
|
||||
|
||||
LOGOUT_URL = '/accounts/logout/'
|
||||
|
||||
LOGIN_REDIRECT_URL = '/accounts/profile/'
|
||||
|
||||
###########
|
||||
# TESTING #
|
||||
###########
|
||||
@ -322,6 +333,13 @@ TEST_RUNNER = 'django.test.simple.run_tests'
|
||||
# If None, a name of 'test_' + DATABASE_NAME will be assumed
|
||||
TEST_DATABASE_NAME = None
|
||||
|
||||
# Strings used to set the character set and collation order for the test
|
||||
# database. These values are passed literally to the server, so they are
|
||||
# backend-dependent. If None, no special settings are sent (system defaults are
|
||||
# used).
|
||||
TEST_DATABASE_CHARSET = None
|
||||
TEST_DATABASE_COLLATION = None
|
||||
|
||||
############
|
||||
# FIXTURES #
|
||||
############
|
||||
|
BIN
django/conf/locale/bg/LC_MESSAGES/django.mo
Normal file
BIN
django/conf/locale/bg/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2670
django/conf/locale/bg/LC_MESSAGES/django.po
Normal file
2670
django/conf/locale/bg/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
BIN
django/conf/locale/bg/LC_MESSAGES/djangojs.mo
Normal file
BIN
django/conf/locale/bg/LC_MESSAGES/djangojs.mo
Normal file
Binary file not shown.
106
django/conf/locale/bg/LC_MESSAGES/djangojs.po
Normal file
106
django/conf/locale/bg/LC_MESSAGES/djangojs.po
Normal file
@ -0,0 +1,106 @@
|
||||
# translation of djangojs.po to Bulgarian
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: djangojs\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-12-09 11:51+0100\n"
|
||||
"PO-Revision-Date: 2007-05-12 17:51+0300\n"
|
||||
"Last-Translator: Jordan Dimov <s3x3y1@gmail.com>\n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||
#, perl-format
|
||||
msgid "Available %s"
|
||||
msgstr "Налични %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:41
|
||||
msgid "Choose all"
|
||||
msgstr "Избери всички"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:46
|
||||
msgid "Add"
|
||||
msgstr "Добави"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:48
|
||||
msgid "Remove"
|
||||
msgstr "Премахни"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:53
|
||||
#, perl-format
|
||||
msgid "Chosen %s"
|
||||
msgstr "Избрахме %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:54
|
||||
msgid "Select your choice(s) and click "
|
||||
msgstr "Направете своя избор и щракнете "
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:59
|
||||
msgid "Clear all"
|
||||
msgstr "Изчисти всички"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:26
|
||||
#: contrib/admin/media/js/calendar.js:24
|
||||
msgid ""
|
||||
"January February March April May June July August September October November "
|
||||
"December"
|
||||
msgstr "Януари Февруари Март Април Май Юни Юли Август Септември Октомври Ноември Декември"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:27
|
||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||
msgstr "Неделя Понеделник Вторник Сряда Четвъртък Петък Събота"
|
||||
|
||||
#: contrib/admin/media/js/calendar.js:25
|
||||
msgid "S M T W T F S"
|
||||
msgstr "Н П В С Ч П С"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80
|
||||
msgid "Now"
|
||||
msgstr "Сега"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48
|
||||
msgid "Clock"
|
||||
msgstr "Часовник"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77
|
||||
msgid "Choose a time"
|
||||
msgstr "Избери време"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||
msgid "Midnight"
|
||||
msgstr "Полунощ"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||
msgid "6 a.m."
|
||||
msgstr "6 a.m."
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||
msgid "Noon"
|
||||
msgstr "По обяд"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168
|
||||
msgid "Cancel"
|
||||
msgstr "Отказ"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162
|
||||
msgid "Today"
|
||||
msgstr "Днес"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114
|
||||
msgid "Calendar"
|
||||
msgstr "Календар"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160
|
||||
msgid "Yesterday"
|
||||
msgstr "Вчера"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164
|
||||
msgid "Tomorrow"
|
||||
msgstr "Утре"
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -3,20 +3,19 @@
|
||||
# Copyright (C)
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# Jorge Gajon <gajon@gajon.org>, 2005.
|
||||
# Marc Fargas <marc@fargas.com>, 2007.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: djangojs\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-02-15 11:05+1100\n"
|
||||
"PO-Revision-Date: 2007-01-19 10:30+0100\n"
|
||||
"POT-Creation-Date: 2007-05-20 18:25+0200\n"
|
||||
"PO-Revision-Date: 2007-05-20 18:24+0200\n"
|
||||
"Last-Translator: Marc Fargas <marc@fargas.com>\n"
|
||||
"Language-Team: <es@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=ISO-8859-1\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
"X-Generator: VIM 7.0\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||
#, perl-format
|
||||
@ -54,7 +53,7 @@ msgid ""
|
||||
"January February March April May June July August September October November "
|
||||
"December"
|
||||
msgstr ""
|
||||
"Febrer Març Abril Maig Juny Juliol Agost Setembre Octubre Novembre Desembre"
|
||||
"Febrer Març Abril Maig Juny Juliol Agost Setembre Octubre Novembre Desembre"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:33
|
||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||
@ -92,7 +91,7 @@ msgstr "Migdia"
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·lar"
|
||||
msgstr "Cancel·lar"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177
|
||||
@ -109,13 +108,13 @@ msgstr "Ahir"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179
|
||||
msgid "Tomorrow"
|
||||
msgstr "Demà"
|
||||
msgstr "Demà"
|
||||
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72
|
||||
msgid "Show"
|
||||
msgstr ""
|
||||
msgstr "Mostrar"
|
||||
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
msgstr "Ocultar"
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-05-16 10:13+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: panos laganakos <panos.laganakos@gmail.com>\n"
|
||||
"Last-Translator: Orestis Markou <orestis@orestis.gr>\n"
|
||||
"Language-Team: Greek\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
@ -164,9 +164,9 @@ msgid ""
|
||||
"\n"
|
||||
"%(text)s"
|
||||
msgstr ""
|
||||
"Αυτο το σχόλιο σημειώθηκε απο %(χρήστη)ες\n"
|
||||
"Αυτο το σχόλιο σημειώθηκε απο %(user)s\n"
|
||||
"\n"
|
||||
"%(κείμενο)α"
|
||||
"%(text)s"
|
||||
|
||||
#: contrib/comments/models.py:265
|
||||
msgid "flag date"
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -305,7 +305,7 @@ msgstr "Japon
|
||||
|
||||
#: conf/global_settings.py:58
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
msgstr "Latvio"
|
||||
|
||||
#: conf/global_settings.py:59
|
||||
msgid "Macedonian"
|
||||
@ -611,7 +611,7 @@ msgstr "La URL %s no apunta a una imagen v
|
||||
#, python-format
|
||||
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
||||
msgstr ""
|
||||
"Los números de teléfono deben guardar el formato XXX-XXX-XXXX format. \"%s\" "
|
||||
"Los números de teléfono deben guardar el formato XXX-XXX-XXXX. \"%s\" "
|
||||
"no es válido."
|
||||
|
||||
#: core/validators.py:196
|
||||
@ -726,10 +726,10 @@ msgid "Please enter a valid decimal number with a whole part of at most %s digit
|
||||
msgid_plural "Please enter a valid decimal number with a whole part of at most %s digits."
|
||||
msgstr[0] ""
|
||||
"Por favor, introduzca un número decimal válido con a lo más %s dígito en "
|
||||
"total."
|
||||
"su parte entera."
|
||||
msgstr[1] ""
|
||||
"Por favor, introduzca un número decimal válido con a lo más %s dígitos en "
|
||||
"total."
|
||||
"su parte entera."
|
||||
|
||||
#: core/validators.py:426
|
||||
#, python-format
|
||||
@ -958,7 +958,7 @@ msgid ""
|
||||
"digits and underscores)."
|
||||
msgstr ""
|
||||
"Requerido. 30 caracteres o menos. Sólo caracteres alfanuméricos (letras, "
|
||||
"dígutos y guiones bajos)."
|
||||
"dígitos y guiones bajos)."
|
||||
|
||||
#: contrib/auth/models.py:91
|
||||
msgid "first name"
|
||||
@ -1107,7 +1107,7 @@ msgstr "Las contrase
|
||||
#: contrib/auth/forms.py:124
|
||||
msgid "Your old password was entered incorrectly. Please enter it again."
|
||||
msgstr ""
|
||||
"Tu contraseña antígua es incorrecta. Por favor, vuelve a introducirla "
|
||||
"Tu contraseña antigua es incorrecta. Por favor, vuelve a introducirla "
|
||||
"correctamente."
|
||||
|
||||
#: contrib/comments/models.py:67 contrib/comments/models.py:166
|
||||
@ -1707,7 +1707,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Ha ocurrido un error. Se ha informado a los administradores del sitio "
|
||||
"mediante correo electrónico y debería arreglarse en breve. Gracias por su "
|
||||
"paciencia"
|
||||
"paciencia."
|
||||
|
||||
#: contrib/admin/templates/admin/search_form.html:8
|
||||
msgid "Go"
|
||||
@ -1899,7 +1899,7 @@ msgid ""
|
||||
"the appropriate user."
|
||||
msgstr ""
|
||||
"Algo va mal con la instalación de la base de datos. Asegúrate que las tablas "
|
||||
"necesarias han sido creadas, y que la base de datos puede ser leida por el "
|
||||
"necesarias han sido creadas, y que la base de datos puede ser leída por el "
|
||||
"usuario apropiado."
|
||||
|
||||
#: contrib/admin/templates/admin/filter.html:2
|
||||
@ -1912,7 +1912,7 @@ msgid ""
|
||||
"First, enter a username and password. Then, you'll be able to edit more user "
|
||||
"options."
|
||||
msgstr ""
|
||||
"Primero, introduzca un nombre de usuario y una contraseña. Luego, podrá "
|
||||
"Primero introduzca un nombre de usuario y una contraseña. Luego podrá "
|
||||
"editar el resto de opciones del usuario."
|
||||
|
||||
#: contrib/admin/templates/admin/auth/user/add_form.html:12
|
||||
@ -2105,7 +2105,7 @@ msgstr "vista:"
|
||||
#: contrib/admin/views/doc.py:164
|
||||
#, python-format
|
||||
msgid "App %r not found"
|
||||
msgstr "Applicación %r no encontrada"
|
||||
msgstr "Aplicación %r no encontrada"
|
||||
|
||||
#: contrib/admin/views/doc.py:171
|
||||
#, python-format
|
||||
@ -2326,12 +2326,12 @@ msgstr "Cambiar clave: %s"
|
||||
|
||||
#: contrib/localflavor/usa/forms.py:17
|
||||
msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX."
|
||||
msgstr "Introduzca un código zip en el formato XXXXX o XXXX-XXXX."
|
||||
msgstr "Introduzca un código postal en el formato XXXXX o XXXX-XXXX."
|
||||
|
||||
#: contrib/localflavor/uk/forms.py:18
|
||||
msgid "Enter a postcode. A space is required between the two postcode parts."
|
||||
msgstr ""
|
||||
"Introduzca in código postal. Se necesita un espacio entre las dos partes del "
|
||||
"Introduzca un código postal. Se necesita un espacio entre las dos partes del "
|
||||
"código."
|
||||
|
||||
#: contrib/sessions/models.py:51
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -8,26 +8,14 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: djangojs 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-03-30 13:28+0200\n"
|
||||
"PO-Revision-Date: 2006-03-30 13:35+0200\n"
|
||||
"POT-Creation-Date: 2007-05-06 13:08+0300\n"
|
||||
"PO-Revision-Date: 2007-05-06 13:08+0300\n"
|
||||
"Last-Translator: Meir Kriheli <meir@mksoft.co.il>\n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:32
|
||||
#: contrib/admin/media/js/calendar.js:24
|
||||
msgid ""
|
||||
"January February March April May June July August September October November "
|
||||
"December"
|
||||
msgstr ""
|
||||
"ינואר פברואר מרץ אפריל מאי יוני יולי אוגוסט ספטמבר אוקטובר נובמבר דצמבר"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:33
|
||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||
msgstr "ראשון שני שלישי רביעי חמישי שישי שבת"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||
#, perl-format
|
||||
msgid "Available %s"
|
||||
@ -58,54 +46,75 @@ msgstr "יש לסמן את ההרשאות המבוקשות וללחוץ על "
|
||||
msgid "Clear all"
|
||||
msgstr "איפוס הכל"
|
||||
|
||||
#: contrib/admin/media/js/calendar.js:24
|
||||
#: contrib/admin/media/js/dateparse.js:32
|
||||
msgid ""
|
||||
"January February March April May June July August September October November "
|
||||
"December"
|
||||
msgstr ""
|
||||
"ינואר פברואר מרץ אפריל מאי יוני יולי אוגוסט ספטמבר אוקטובר נובמבר דצמבר"
|
||||
|
||||
#: contrib/admin/media/js/calendar.js:25
|
||||
msgid "S M T W T F S"
|
||||
msgstr "ר ש ש ר ח ש ש"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80
|
||||
#: contrib/admin/media/js/dateparse.js:33
|
||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||
msgstr "ראשון שני שלישי רביעי חמישי שישי שבת"
|
||||
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72
|
||||
msgid "Show"
|
||||
msgstr "הצג"
|
||||
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63
|
||||
msgid "Hide"
|
||||
msgstr "הסתר"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||
msgid "Now"
|
||||
msgstr "כעת"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51
|
||||
msgid "Clock"
|
||||
msgstr "שעון"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78
|
||||
msgid "Choose a time"
|
||||
msgstr "בחירת שעה"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||
msgid "Midnight"
|
||||
msgstr "חצות"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||
msgid "6 a.m."
|
||||
msgstr "6 בבוקר"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
|
||||
msgid "Noon"
|
||||
msgstr "צהריים"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
||||
msgid "Cancel"
|
||||
msgstr "ביטול"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177
|
||||
msgid "Today"
|
||||
msgstr "היום"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132
|
||||
msgid "Calendar"
|
||||
msgstr "לוח שנה"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175
|
||||
msgid "Yesterday"
|
||||
msgstr "אתמול"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179
|
||||
msgid "Tomorrow"
|
||||
msgstr "מחר"
|
||||
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
# Translation of django.po to japanese.
|
||||
# Copyright (C) 2005,2006 THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# Copyright (C) 2005,2006,2007 makoto tsuyuki
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# makoto tsuyuki <mtsuyuki@gmail.com>, 2005,2006,2007.
|
||||
#
|
||||
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Django 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-02-15 23:43+0900\n"
|
||||
"POT-Creation-Date: 2007-03-26 22:51+0900\n"
|
||||
"PO-Revision-Date: 2006-05-18 00:28+0900\n"
|
||||
"Last-Translator: makoto tsuyuki <mtsuyuki@gmail.com>\n"
|
||||
"Language-Team: Japanese <django-ja@googlegroups.com>\n"
|
||||
@ -92,70 +92,82 @@ msgid "Japanese"
|
||||
msgstr "日本語"
|
||||
|
||||
#: conf/global_settings.py:58
|
||||
msgid "Kannada"
|
||||
msgstr "カンナダ語"
|
||||
|
||||
#: conf/global_settings.py:59
|
||||
msgid "Latvian"
|
||||
msgstr "ラトビア語"
|
||||
|
||||
#: conf/global_settings.py:59
|
||||
#: conf/global_settings.py:60
|
||||
msgid "Macedonian"
|
||||
msgstr "マケドニア語"
|
||||
|
||||
#: conf/global_settings.py:60
|
||||
#: conf/global_settings.py:61
|
||||
msgid "Dutch"
|
||||
msgstr "オランダ語"
|
||||
|
||||
#: conf/global_settings.py:61
|
||||
#: conf/global_settings.py:62
|
||||
msgid "Norwegian"
|
||||
msgstr "ノルウェー語"
|
||||
|
||||
#: conf/global_settings.py:62
|
||||
#: conf/global_settings.py:63
|
||||
msgid "Polish"
|
||||
msgstr "ポーランド語"
|
||||
|
||||
#: conf/global_settings.py:63
|
||||
#: conf/global_settings.py:64
|
||||
msgid "Portugese"
|
||||
msgstr "ポルトガル語"
|
||||
|
||||
#: conf/global_settings.py:65
|
||||
msgid "Brazilian"
|
||||
msgstr "ブラジル語"
|
||||
|
||||
#: conf/global_settings.py:64
|
||||
#: conf/global_settings.py:66
|
||||
msgid "Romanian"
|
||||
msgstr "ルーマニア語"
|
||||
|
||||
#: conf/global_settings.py:65
|
||||
#: conf/global_settings.py:67
|
||||
msgid "Russian"
|
||||
msgstr "ロシア語"
|
||||
|
||||
#: conf/global_settings.py:66
|
||||
#: conf/global_settings.py:68
|
||||
msgid "Slovak"
|
||||
msgstr "スロバキア語"
|
||||
|
||||
#: conf/global_settings.py:67
|
||||
#: conf/global_settings.py:69
|
||||
msgid "Slovenian"
|
||||
msgstr "スロヴェニア語"
|
||||
|
||||
#: conf/global_settings.py:68
|
||||
#: conf/global_settings.py:70
|
||||
msgid "Serbian"
|
||||
msgstr "セルビア語"
|
||||
|
||||
#: conf/global_settings.py:69
|
||||
#: conf/global_settings.py:71
|
||||
msgid "Swedish"
|
||||
msgstr "スウェーデン語"
|
||||
|
||||
#: conf/global_settings.py:70
|
||||
#: conf/global_settings.py:72
|
||||
msgid "Tamil"
|
||||
msgstr "タミル語"
|
||||
|
||||
#: conf/global_settings.py:71
|
||||
#: conf/global_settings.py:73
|
||||
msgid "Telugu"
|
||||
msgstr "テルグ語"
|
||||
|
||||
#: conf/global_settings.py:74
|
||||
msgid "Turkish"
|
||||
msgstr "トルコ語"
|
||||
|
||||
#: conf/global_settings.py:72
|
||||
#: conf/global_settings.py:75
|
||||
msgid "Ukrainian"
|
||||
msgstr "ウクライナ語"
|
||||
|
||||
#: conf/global_settings.py:73
|
||||
#: conf/global_settings.py:76
|
||||
msgid "Simplified Chinese"
|
||||
msgstr "簡体字中国語"
|
||||
|
||||
#: conf/global_settings.py:74
|
||||
#: conf/global_settings.py:77
|
||||
msgid "Traditional Chinese"
|
||||
msgstr "繁体字中国語"
|
||||
|
||||
@ -194,17 +206,17 @@ msgid "This year"
|
||||
msgstr "今年"
|
||||
|
||||
#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170
|
||||
#: oldforms/__init__.py:572
|
||||
#: oldforms/__init__.py:577
|
||||
msgid "Yes"
|
||||
msgstr "はい"
|
||||
|
||||
#: contrib/admin/filterspecs.py:143 newforms/widgets.py:170
|
||||
#: oldforms/__init__.py:572
|
||||
#: oldforms/__init__.py:577
|
||||
msgid "No"
|
||||
msgstr "いいえ"
|
||||
|
||||
#: contrib/admin/filterspecs.py:150 newforms/widgets.py:170
|
||||
#: oldforms/__init__.py:572
|
||||
#: oldforms/__init__.py:577
|
||||
msgid "Unknown"
|
||||
msgstr "不明"
|
||||
|
||||
@ -568,7 +580,8 @@ msgstr "確認のため、再度パスワードを入力してください。"
|
||||
#: contrib/admin/templates/admin/auth/user/change_password.html:28
|
||||
#, python-format
|
||||
msgid "Enter a new password for the user <strong>%(username)s</strong>."
|
||||
msgstr "<strong>%(username)s</strong>さんの新しいパスワードを入力してください。"
|
||||
msgstr ""
|
||||
"<strong>%(username)s</strong>さんの新しいパスワードを入力してください。"
|
||||
|
||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:3
|
||||
msgid "Bookmarklets"
|
||||
@ -602,7 +615,6 @@ msgstr ""
|
||||
msgid "Documentation for this page"
|
||||
msgstr "このページのドキュメント"
|
||||
|
||||
# TODO
|
||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:20
|
||||
msgid ""
|
||||
"Jumps you from any page to the documentation for the view that generates "
|
||||
@ -769,7 +781,7 @@ msgstr "現在:"
|
||||
msgid "Change:"
|
||||
msgstr "変更:"
|
||||
|
||||
#: contrib/admin/templatetags/admin_list.py:238
|
||||
#: contrib/admin/templatetags/admin_list.py:247
|
||||
msgid "All dates"
|
||||
msgstr "いつでも"
|
||||
|
||||
@ -850,13 +862,13 @@ msgstr "アプリケーション %r が見つかりません"
|
||||
|
||||
#: contrib/admin/views/doc.py:171
|
||||
#, python-format
|
||||
msgid "Model %r not found in app %r"
|
||||
msgstr "モデル %r が %r アプリケーションに見つかりません"
|
||||
msgid "Model %(name)r not found in app %(label)r"
|
||||
msgstr "モデル %(name)r が %(label)r アプリケーションに見つかりません"
|
||||
|
||||
#: contrib/admin/views/doc.py:183
|
||||
#, python-format
|
||||
msgid "the related `%s.%s` object"
|
||||
msgstr "`%s.%s` (関連オブジェクト)"
|
||||
msgid "the related `%(label)s.%(type)s` object"
|
||||
msgstr "`%(label)s.%(type)s` (関連オブジェクト)"
|
||||
|
||||
#: contrib/admin/views/doc.py:183 contrib/admin/views/doc.py:205
|
||||
#: contrib/admin/views/doc.py:219 contrib/admin/views/doc.py:224
|
||||
@ -865,8 +877,8 @@ msgstr "モデル :"
|
||||
|
||||
#: contrib/admin/views/doc.py:214
|
||||
#, python-format
|
||||
msgid "related `%s.%s` objects"
|
||||
msgstr "`%s.%s` (関連オブジェクト)"
|
||||
msgid "related `%(label)s.%(name)s` objects"
|
||||
msgstr "`%(label)s.%(name)s` (関連オブジェクト)"
|
||||
|
||||
#: contrib/admin/views/doc.py:219
|
||||
#, python-format
|
||||
@ -984,7 +996,7 @@ msgid "Added %s."
|
||||
msgstr "%s を追加しました。"
|
||||
|
||||
#: contrib/admin/views/main.py:335 contrib/admin/views/main.py:337
|
||||
#: contrib/admin/views/main.py:339 db/models/manipulators.py:306
|
||||
#: contrib/admin/views/main.py:339 db/models/manipulators.py:308
|
||||
msgid "and"
|
||||
msgstr "と"
|
||||
|
||||
@ -1018,41 +1030,41 @@ msgstr "%(name)s \"%(obj)s\" を追加しました。続けて編集できます
|
||||
msgid "Change %s"
|
||||
msgstr "%s を変更"
|
||||
|
||||
#: contrib/admin/views/main.py:473
|
||||
#: contrib/admin/views/main.py:476
|
||||
#, python-format
|
||||
msgid "One or more %(fieldname)s in %(name)s: %(obj)s"
|
||||
msgstr "%(name)s に %(fieldname)s が一つ以上あります: %(obj)s"
|
||||
|
||||
#: contrib/admin/views/main.py:478
|
||||
#: contrib/admin/views/main.py:481
|
||||
#, python-format
|
||||
msgid "One or more %(fieldname)s in %(name)s:"
|
||||
msgstr "%(name)s に %(fieldname)s が一つ以上あります:"
|
||||
|
||||
#: contrib/admin/views/main.py:511
|
||||
#: contrib/admin/views/main.py:514
|
||||
#, python-format
|
||||
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
|
||||
msgstr "%(name)s \"%(obj)s\" を削除しました。"
|
||||
|
||||
#: contrib/admin/views/main.py:514
|
||||
#: contrib/admin/views/main.py:517
|
||||
msgid "Are you sure?"
|
||||
msgstr "よろしいですか?"
|
||||
|
||||
#: contrib/admin/views/main.py:536
|
||||
#: contrib/admin/views/main.py:539
|
||||
#, python-format
|
||||
msgid "Change history: %s"
|
||||
msgstr "変更履歴: %s"
|
||||
|
||||
#: contrib/admin/views/main.py:570
|
||||
#: contrib/admin/views/main.py:573
|
||||
#, python-format
|
||||
msgid "Select %s"
|
||||
msgstr "%s を選択"
|
||||
|
||||
#: contrib/admin/views/main.py:570
|
||||
#: contrib/admin/views/main.py:573
|
||||
#, python-format
|
||||
msgid "Select %s to change"
|
||||
msgstr "変更する %s を選択"
|
||||
|
||||
#: contrib/admin/views/main.py:758
|
||||
#: contrib/admin/views/main.py:768
|
||||
msgid "Database error"
|
||||
msgstr "データベースエラー"
|
||||
|
||||
@ -1147,8 +1159,8 @@ msgid ""
|
||||
"Use '[algo]$[salt]$[hexdigest]' or use the <a href=\"password/\">change "
|
||||
"password form</a>."
|
||||
msgstr ""
|
||||
"'[algo]$[salt]$[hexdigest]'形式か、"
|
||||
"<a href=\"password/\">パスワード変更フォーム</a>を使ってください。"
|
||||
"'[algo]$[salt]$[hexdigest]'形式か、<a href=\"password/\">パスワード変更フォー"
|
||||
"ム</a>を使ってください。"
|
||||
|
||||
#: contrib/auth/models.py:95
|
||||
msgid "staff status"
|
||||
@ -1517,15 +1529,15 @@ msgstr "コメント ID が不正です"
|
||||
msgid "No voting for yourself"
|
||||
msgstr "自分には投票できません。"
|
||||
|
||||
#: contrib/contenttypes/models.py:26
|
||||
#: contrib/contenttypes/models.py:36
|
||||
msgid "python model class name"
|
||||
msgstr "Python モデルクラス名"
|
||||
|
||||
#: contrib/contenttypes/models.py:29
|
||||
#: contrib/contenttypes/models.py:39
|
||||
msgid "content type"
|
||||
msgstr "コンテンツタイプ"
|
||||
|
||||
#: contrib/contenttypes/models.py:30
|
||||
#: contrib/contenttypes/models.py:40
|
||||
msgid "content types"
|
||||
msgstr "コンテンツタイプ"
|
||||
|
||||
@ -1575,7 +1587,281 @@ msgstr "フラットページ"
|
||||
msgid "flat pages"
|
||||
msgstr "フラットページ"
|
||||
|
||||
#: contrib/localflavor/usa/forms.py:13
|
||||
#: contrib/humanize/templatetags/humanize.py:17
|
||||
msgid "th"
|
||||
msgstr "番目"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:17
|
||||
msgid "st"
|
||||
msgstr "番目"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:17
|
||||
msgid "nd"
|
||||
msgstr "番目"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:17
|
||||
msgid "rd"
|
||||
msgstr "番目"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:47
|
||||
#, python-format
|
||||
msgid "%(value).1f million"
|
||||
msgid_plural "%(value).1f million"
|
||||
msgstr[0] "%(value).1f 百万"
|
||||
msgstr[1] "%(value).1f 百万"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:50
|
||||
#, python-format
|
||||
msgid "%(value).1f billion"
|
||||
msgid_plural "%(value).1f billion"
|
||||
msgstr[0] "%(value).1f 十億"
|
||||
msgstr[1] "%(value).1f 十億"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:53
|
||||
#, python-format
|
||||
msgid "%(value).1f trillion"
|
||||
msgid_plural "%(value).1f trillion"
|
||||
msgstr[0] "%(value).1f 兆"
|
||||
msgstr[1] "%(value).1f 兆"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:68
|
||||
msgid "one"
|
||||
msgstr "1"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:68
|
||||
msgid "two"
|
||||
msgstr "2"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:68
|
||||
msgid "three"
|
||||
msgstr "3"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:68
|
||||
msgid "four"
|
||||
msgstr "4"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:68
|
||||
msgid "five"
|
||||
msgstr "5"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:68
|
||||
msgid "six"
|
||||
msgstr "6"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:68
|
||||
msgid "seven"
|
||||
msgstr "7"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:68
|
||||
msgid "eight"
|
||||
msgstr "8"
|
||||
|
||||
#: contrib/humanize/templatetags/humanize.py:68
|
||||
msgid "nine"
|
||||
msgstr "9"
|
||||
|
||||
#: contrib/localflavor/fr/forms.py:17
|
||||
#, fuzzy
|
||||
msgid "Enter a zip code in the format XXXXX."
|
||||
msgstr "XXXXXの形式でZipコードを入力してください。"
|
||||
|
||||
#: contrib/localflavor/jp/forms.py:21
|
||||
msgid "Enter a postal code in the format XXXXXXX or XXX-XXXX."
|
||||
msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:4
|
||||
msgid "Hokkaido"
|
||||
msgstr "北海道"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:5
|
||||
msgid "Aomori"
|
||||
msgstr "青森県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:6
|
||||
msgid "Iwate"
|
||||
msgstr "岩手県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:7
|
||||
msgid "Miyagi"
|
||||
msgstr "宮城県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:8
|
||||
msgid "Akita"
|
||||
msgstr "秋田県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:9
|
||||
msgid "Yamagata"
|
||||
msgstr "山形県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:10
|
||||
msgid "Fukushima"
|
||||
msgstr "福島県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:11
|
||||
msgid "Ibaraki"
|
||||
msgstr "茨城県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:12
|
||||
msgid "Tochigi"
|
||||
msgstr "栃木県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:13
|
||||
msgid "Gunma"
|
||||
msgstr "群馬県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:14
|
||||
msgid "Saitama"
|
||||
msgstr "埼玉県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:15
|
||||
msgid "Chiba"
|
||||
msgstr "千葉県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:16
|
||||
msgid "Tokyo"
|
||||
msgstr "東京都"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:17
|
||||
msgid "Kanagawa"
|
||||
msgstr "神奈川県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:18
|
||||
msgid "Yamanashi"
|
||||
msgstr "山梨県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:19
|
||||
msgid "Nagano"
|
||||
msgstr "長野県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:20
|
||||
msgid "Niigata"
|
||||
msgstr "新潟県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:21
|
||||
msgid "Toyama"
|
||||
msgstr "富山県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:22
|
||||
msgid "Ishikawa"
|
||||
msgstr "石川県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:23
|
||||
msgid "Fukui"
|
||||
msgstr "福井県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:24
|
||||
msgid "Gifu"
|
||||
msgstr "岐阜県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:25
|
||||
msgid "Shizuoka"
|
||||
msgstr "静岡県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:26
|
||||
msgid "Aichi"
|
||||
msgstr "愛知県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:27
|
||||
msgid "Mie"
|
||||
msgstr "三重県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:28
|
||||
msgid "Shiga"
|
||||
msgstr "滋賀県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:29
|
||||
msgid "Kyoto"
|
||||
msgstr "京都府"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:30
|
||||
msgid "Osaka"
|
||||
msgstr "大阪府"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:31
|
||||
msgid "Hyogo"
|
||||
msgstr "兵庫県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:32
|
||||
msgid "Nara"
|
||||
msgstr "奈良県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:33
|
||||
msgid "Wakayama"
|
||||
msgstr "和歌山県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:34
|
||||
msgid "Tottori"
|
||||
msgstr "鳥取県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:35
|
||||
msgid "Shimane"
|
||||
msgstr "島根県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:36
|
||||
msgid "Okayama"
|
||||
msgstr "岡山県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:37
|
||||
msgid "Hiroshima"
|
||||
msgstr "広島県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:38
|
||||
msgid "Yamaguchi"
|
||||
msgstr "山口県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:39
|
||||
msgid "Tokushima"
|
||||
msgstr "徳島県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:40
|
||||
msgid "Kagawa"
|
||||
msgstr "香川県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:41
|
||||
msgid "Ehime"
|
||||
msgstr "愛媛県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:42
|
||||
msgid "Kochi"
|
||||
msgstr "高知県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:43
|
||||
msgid "Fukuoka"
|
||||
msgstr "福岡県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:44
|
||||
msgid "Saga"
|
||||
msgstr "佐賀県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:45
|
||||
msgid "Nagasaki"
|
||||
msgstr "長崎県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:46
|
||||
msgid "Kumamoto"
|
||||
msgstr "熊本県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:47
|
||||
msgid "Oita"
|
||||
msgstr "大分県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:48
|
||||
msgid "Miyazaki"
|
||||
msgstr "宮崎県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:49
|
||||
msgid "Kagoshima"
|
||||
msgstr "鹿児島県"
|
||||
|
||||
#: contrib/localflavor/jp/jp_prefectures.py:50
|
||||
msgid "Okinawa"
|
||||
msgstr "沖縄県"
|
||||
|
||||
#: contrib/localflavor/uk/forms.py:18
|
||||
msgid "Enter a postcode. A space is required between the two postcode parts."
|
||||
msgstr "ポスタルコードを入力してください。コードとコードの間は半角のスペースで区切ってください。"
|
||||
|
||||
#: contrib/localflavor/usa/forms.py:17
|
||||
msgid "Enter a zip code in the format XXXXX or XXXXX-XXXX."
|
||||
msgstr "XXXXXか、XXXXX-XXXXの形式で郵便番号を入力してください。"
|
||||
|
||||
@ -1607,23 +1893,23 @@ msgstr "リダイレクト"
|
||||
msgid "redirects"
|
||||
msgstr "リダイレクト"
|
||||
|
||||
#: contrib/sessions/models.py:51
|
||||
#: contrib/sessions/models.py:68
|
||||
msgid "session key"
|
||||
msgstr "セッションキー"
|
||||
|
||||
#: contrib/sessions/models.py:52
|
||||
#: contrib/sessions/models.py:69
|
||||
msgid "session data"
|
||||
msgstr "セッションデータ"
|
||||
|
||||
#: contrib/sessions/models.py:53
|
||||
#: contrib/sessions/models.py:70
|
||||
msgid "expire date"
|
||||
msgstr "有効期限"
|
||||
|
||||
#: contrib/sessions/models.py:57
|
||||
#: contrib/sessions/models.py:74
|
||||
msgid "session"
|
||||
msgstr "セッション"
|
||||
|
||||
#: contrib/sessions/models.py:58
|
||||
#: contrib/sessions/models.py:75
|
||||
msgid "sessions"
|
||||
msgstr "セッション"
|
||||
|
||||
@ -1704,31 +1990,31 @@ msgstr "1900年以降を指定してください。"
|
||||
|
||||
#: core/validators.py:143
|
||||
#, python-format
|
||||
msgid "Invalid date: %s."
|
||||
msgid "Invalid date: %s"
|
||||
msgstr "無効な日付: %s"
|
||||
|
||||
#: core/validators.py:147 db/models/fields/__init__.py:454
|
||||
#: core/validators.py:148 db/models/fields/__init__.py:457
|
||||
msgid "Enter a valid date in YYYY-MM-DD format."
|
||||
msgstr "YYYY-MM-DD形式で日付を入力してください。"
|
||||
|
||||
#: core/validators.py:152
|
||||
#: core/validators.py:153
|
||||
msgid "Enter a valid time in HH:MM format."
|
||||
msgstr "HH:MM形式で時刻を入力してください。"
|
||||
|
||||
#: core/validators.py:156 db/models/fields/__init__.py:521
|
||||
#: core/validators.py:157 db/models/fields/__init__.py:526
|
||||
msgid "Enter a valid date/time in YYYY-MM-DD HH:MM format."
|
||||
msgstr "YYYY-MM-DD HH:MM形式で日時を入力してください。"
|
||||
|
||||
#: core/validators.py:161 newforms/fields.py:269
|
||||
#: core/validators.py:162 newforms/fields.py:269
|
||||
msgid "Enter a valid e-mail address."
|
||||
msgstr "有効なメールアドレスを入力してください。"
|
||||
|
||||
#: core/validators.py:173 core/validators.py:442 oldforms/__init__.py:667
|
||||
#: core/validators.py:174 core/validators.py:445 oldforms/__init__.py:672
|
||||
msgid "No file was submitted. Check the encoding type on the form."
|
||||
msgstr ""
|
||||
"ファイルが取得できませんでした。formのencoding typeを確認してください。"
|
||||
|
||||
#: core/validators.py:177
|
||||
#: core/validators.py:178
|
||||
msgid ""
|
||||
"Upload a valid image. The file you uploaded was either not an image or a "
|
||||
"corrupted image."
|
||||
@ -1736,26 +2022,26 @@ msgstr ""
|
||||
"画像をアップロードしてください。アップロードした画像は画像でないか、または壊"
|
||||
"れています。"
|
||||
|
||||
#: core/validators.py:184
|
||||
#: core/validators.py:185
|
||||
#, python-format
|
||||
msgid "The URL %s does not point to a valid image."
|
||||
msgstr "URL ( %s ) は画像ではありません。"
|
||||
|
||||
#: core/validators.py:188
|
||||
#: core/validators.py:189
|
||||
#, python-format
|
||||
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
||||
msgstr "電話番号は XXX-XXX-XXXX 形式で入力してください。\"%s\" は無効です。"
|
||||
|
||||
#: core/validators.py:196
|
||||
#: core/validators.py:197
|
||||
#, python-format
|
||||
msgid "The URL %s does not point to a valid QuickTime video."
|
||||
msgstr "URL ( %s ) は QuickTime ビデオではありません。"
|
||||
|
||||
#: core/validators.py:200
|
||||
#: core/validators.py:201
|
||||
msgid "A valid URL is required."
|
||||
msgstr "正しい URL を入力してください。"
|
||||
|
||||
#: core/validators.py:214
|
||||
#: core/validators.py:215
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Valid HTML is required. Specific errors are:\n"
|
||||
@ -1764,86 +2050,86 @@ msgstr ""
|
||||
"有効な HTML を入力してください。エラー:\n"
|
||||
"%s"
|
||||
|
||||
#: core/validators.py:221
|
||||
#: core/validators.py:222
|
||||
#, python-format
|
||||
msgid "Badly formed XML: %s"
|
||||
msgstr "不正な XML です: %s"
|
||||
|
||||
#: core/validators.py:238
|
||||
#: core/validators.py:239
|
||||
#, python-format
|
||||
msgid "Invalid URL: %s"
|
||||
msgstr "無効なURL: %s"
|
||||
|
||||
#: core/validators.py:243 core/validators.py:245
|
||||
#: core/validators.py:244 core/validators.py:246
|
||||
#, python-format
|
||||
msgid "The URL %s is a broken link."
|
||||
msgstr "URL ( %s ) はリンクが壊れています。"
|
||||
|
||||
#: core/validators.py:251
|
||||
#: core/validators.py:252
|
||||
msgid "Enter a valid U.S. state abbreviation."
|
||||
msgstr "正しい米州略称を入力してください。"
|
||||
|
||||
#: core/validators.py:265
|
||||
#: core/validators.py:266
|
||||
#, python-format
|
||||
msgid "Watch your mouth! The word %s is not allowed here."
|
||||
msgid_plural "Watch your mouth! The words %s are not allowed here."
|
||||
msgstr[0] "言葉使いに気を付けて! %s という言葉は使えません。"
|
||||
msgstr[1] "言葉使いに気を付けて! %s という言葉は使えません。"
|
||||
|
||||
#: core/validators.py:272
|
||||
#: core/validators.py:273
|
||||
#, python-format
|
||||
msgid "This field must match the '%s' field."
|
||||
msgstr "このフィールドは '%s' フィールドと一致せねばなりません。"
|
||||
|
||||
#: core/validators.py:291
|
||||
#: core/validators.py:292
|
||||
msgid "Please enter something for at least one field."
|
||||
msgstr "少なくとも一つのフィールドに何か入力してください。"
|
||||
|
||||
#: core/validators.py:300 core/validators.py:311
|
||||
#: core/validators.py:301 core/validators.py:312
|
||||
msgid "Please enter both fields or leave them both empty."
|
||||
msgstr "両方のフィールドに入力するか、両方とも未入力にしてください。"
|
||||
|
||||
#: core/validators.py:318
|
||||
#: core/validators.py:320
|
||||
#, python-format
|
||||
msgid "This field must be given if %(field)s is %(value)s"
|
||||
msgstr ""
|
||||
"%(field)s を %(value)s にするのなら、このフィールドに必ず入力してください。"
|
||||
|
||||
#: core/validators.py:330
|
||||
#: core/validators.py:333
|
||||
#, python-format
|
||||
msgid "This field must be given if %(field)s is not %(value)s"
|
||||
msgstr ""
|
||||
"%(field)s を %(value)s にしないのなら、このフィールドに必ず入力してください。"
|
||||
|
||||
#: core/validators.py:349
|
||||
#: core/validators.py:352
|
||||
msgid "Duplicate values are not allowed."
|
||||
msgstr "重複する値は認められません。"
|
||||
|
||||
#: core/validators.py:364
|
||||
#: core/validators.py:367
|
||||
#, python-format
|
||||
msgid "This value must be between %s and %s."
|
||||
msgstr "この値は %s から %s の間でなければなりません。"
|
||||
msgid "This value must be between %(lower)s and %(upper)s."
|
||||
msgstr "この値は %(lower)s から %(upper)s の間でなければなりません。"
|
||||
|
||||
#: core/validators.py:366
|
||||
#: core/validators.py:369
|
||||
#, python-format
|
||||
msgid "This value must be at least %s."
|
||||
msgstr "この値は %s 以上でなければなりません。"
|
||||
|
||||
#: core/validators.py:368
|
||||
#: core/validators.py:371
|
||||
#, python-format
|
||||
msgid "This value must be no more than %s."
|
||||
msgstr "この値は %s より小さくなければなりません。"
|
||||
|
||||
#: core/validators.py:404
|
||||
#: core/validators.py:407
|
||||
#, python-format
|
||||
msgid "This value must be a power of %s."
|
||||
msgstr "この値は %s の累乗でなければなりません。"
|
||||
|
||||
#: core/validators.py:415
|
||||
#: core/validators.py:418
|
||||
msgid "Please enter a valid decimal number."
|
||||
msgstr "有効な 10 進数を入力してください。"
|
||||
|
||||
#: core/validators.py:419
|
||||
#: core/validators.py:422
|
||||
#, python-format
|
||||
msgid "Please enter a valid decimal number with at most %s total digit."
|
||||
msgid_plural ""
|
||||
@ -1851,7 +2137,7 @@ msgid_plural ""
|
||||
msgstr[0] "全体で %s 文字以下の数字を入力してください。"
|
||||
msgstr[1] "全体で %s 文字以下の数字を入力してください。"
|
||||
|
||||
#: core/validators.py:422
|
||||
#: core/validators.py:425
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Please enter a valid decimal number with a whole part of at most %s digit."
|
||||
@ -1860,7 +2146,7 @@ msgid_plural ""
|
||||
msgstr[0] "整数部は %s 文字以下の数字を入力してください。"
|
||||
msgstr[1] "整数部は %s 文字以下の数字を入力してください。"
|
||||
|
||||
#: core/validators.py:425
|
||||
#: core/validators.py:428
|
||||
#, python-format
|
||||
msgid "Please enter a valid decimal number with at most %s decimal place."
|
||||
msgid_plural ""
|
||||
@ -1868,37 +2154,37 @@ msgid_plural ""
|
||||
msgstr[0] "小数部は %s 文字以下の数字を入力してください。"
|
||||
msgstr[1] "小数部は %s 文字以下の数字を入力してください。"
|
||||
|
||||
#: core/validators.py:435
|
||||
#: core/validators.py:438
|
||||
#, python-format
|
||||
msgid "Make sure your uploaded file is at least %s bytes big."
|
||||
msgstr "アップロードするファイルの大きさは %s バイト以上にしてください。"
|
||||
|
||||
#: core/validators.py:436
|
||||
#: core/validators.py:439
|
||||
#, python-format
|
||||
msgid "Make sure your uploaded file is at most %s bytes big."
|
||||
msgstr "アップロードするファイルの大きさは %s 最大バイトまでです。"
|
||||
|
||||
#: core/validators.py:453
|
||||
#: core/validators.py:456
|
||||
msgid "The format for this field is wrong."
|
||||
msgstr "フィールドの形式が正しくありません。"
|
||||
|
||||
#: core/validators.py:468
|
||||
#: core/validators.py:471
|
||||
msgid "This field is invalid."
|
||||
msgstr "このフィールドは無効です。"
|
||||
|
||||
#: core/validators.py:504
|
||||
#: core/validators.py:507
|
||||
#, python-format
|
||||
msgid "Could not retrieve anything from %s."
|
||||
msgstr "%s から何も検索できませんでした。"
|
||||
|
||||
#: core/validators.py:507
|
||||
#: core/validators.py:510
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
||||
msgstr ""
|
||||
"URL %(url)s は無効なコンテンツタイプヘッダ '%(contenttype)s' を返しました。"
|
||||
|
||||
#: core/validators.py:540
|
||||
#: core/validators.py:543
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Please close the unclosed %(tag)s tag from line %(line)s. (Line starts with "
|
||||
@ -1907,7 +2193,7 @@ msgstr ""
|
||||
"%(line)s 行目から始まる %(tag)s タグを閉じてください (\"%(start)s\" で始まる"
|
||||
"行です)。"
|
||||
|
||||
#: core/validators.py:544
|
||||
#: core/validators.py:547
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Some text starting on line %(line)s is not allowed in that context. (Line "
|
||||
@ -1916,7 +2202,7 @@ msgstr ""
|
||||
"%(line)s 行目から始まるテキストはこのコンテキストでは使えません。 (\"%(start)"
|
||||
"s\" で始まる行です)。"
|
||||
|
||||
#: core/validators.py:549
|
||||
#: core/validators.py:552
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\"%(attr)s\" on line %(line)s is an invalid attribute. (Line starts with \"%"
|
||||
@ -1925,7 +2211,7 @@ msgstr ""
|
||||
"%(line)s 行目の \"%(attr)s\" は無効なアトリビュートです (\"%(start)s\" で始ま"
|
||||
"る行です)。"
|
||||
|
||||
#: core/validators.py:554
|
||||
#: core/validators.py:557
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\"<%(tag)s>\" on line %(line)s is an invalid tag. (Line starts with \"%"
|
||||
@ -1934,7 +2220,7 @@ msgstr ""
|
||||
"%(line)s 行目の \"<%(tag)s>\" は無効なタグです( \"%(start)s\" で始まる行で"
|
||||
"す)。"
|
||||
|
||||
#: core/validators.py:558
|
||||
#: core/validators.py:561
|
||||
#, python-format
|
||||
msgid ""
|
||||
"A tag on line %(line)s is missing one or more required attributes. (Line "
|
||||
@ -1943,7 +2229,7 @@ msgstr ""
|
||||
"%(line)s 行目のタグは必須アトリビュートが未入力です( \"%(start)s\" で始まる行"
|
||||
"です)。"
|
||||
|
||||
#: core/validators.py:563
|
||||
#: core/validators.py:566
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
|
||||
@ -1952,7 +2238,7 @@ msgstr ""
|
||||
"%(line)s 行目の \"%(attr)s\" アトリビュートの値が正しくありません (\"%(start)"
|
||||
"s\" で始まる行です) 。"
|
||||
|
||||
#: db/models/manipulators.py:305
|
||||
#: db/models/manipulators.py:307
|
||||
#, python-format
|
||||
msgid "%(object)s with this %(type)s already exists for the given %(field)s."
|
||||
msgstr ""
|
||||
@ -1963,29 +2249,33 @@ msgstr ""
|
||||
msgid "%(optname)s with this %(fieldname)s already exists."
|
||||
msgstr "%(fieldname)s に %(optname)s は既に存在します。"
|
||||
|
||||
#: db/models/fields/__init__.py:116 db/models/fields/__init__.py:273
|
||||
#: db/models/fields/__init__.py:605 db/models/fields/__init__.py:616
|
||||
#: newforms/fields.py:78 newforms/fields.py:373 newforms/fields.py:449
|
||||
#: newforms/fields.py:460 oldforms/__init__.py:352
|
||||
#: db/models/fields/__init__.py:117 db/models/fields/__init__.py:274
|
||||
#: db/models/fields/__init__.py:610 db/models/fields/__init__.py:621
|
||||
#: newforms/fields.py:78 newforms/fields.py:374 newforms/fields.py:450
|
||||
#: newforms/fields.py:461 newforms/models.py:177 oldforms/__init__.py:357
|
||||
msgid "This field is required."
|
||||
msgstr "このフィールドは必須です。"
|
||||
|
||||
#: db/models/fields/__init__.py:366
|
||||
#: db/models/fields/__init__.py:367
|
||||
msgid "This value must be an integer."
|
||||
msgstr "値は整数でなければなりません。"
|
||||
|
||||
#: db/models/fields/__init__.py:401
|
||||
#: db/models/fields/__init__.py:402
|
||||
msgid "This value must be either True or False."
|
||||
msgstr "値は真: True または偽: False でなければなりません。"
|
||||
|
||||
#: db/models/fields/__init__.py:422
|
||||
#: db/models/fields/__init__.py:423
|
||||
msgid "This field cannot be null."
|
||||
msgstr "このフィールドには NULL を指定できません。"
|
||||
|
||||
#: db/models/fields/__init__.py:625
|
||||
#: db/models/fields/__init__.py:630
|
||||
msgid "Enter a valid filename."
|
||||
msgstr "正しいファイル名を入力してください。"
|
||||
|
||||
#: db/models/fields/__init__.py:751
|
||||
msgid "This value must be either None, True or False."
|
||||
msgstr "値は、空: None、真: True または偽: False でなければなりません。"
|
||||
|
||||
#: db/models/fields/related.py:53
|
||||
#, python-format
|
||||
msgid "Please enter a valid %s."
|
||||
@ -2054,55 +2344,79 @@ msgstr "URLを正しく入力してください。"
|
||||
msgid "This URL appears to be a broken link."
|
||||
msgstr "このURLはリンクが壊れています。"
|
||||
|
||||
#: newforms/fields.py:359
|
||||
#: newforms/fields.py:360 newforms/models.py:164
|
||||
msgid "Select a valid choice. That choice is not one of the available choices."
|
||||
msgstr "正しく選択してください。選択したものは候補にありません。"
|
||||
|
||||
#: newforms/fields.py:377 newforms/fields.py:453
|
||||
#: newforms/fields.py:378 newforms/fields.py:454 newforms/models.py:181
|
||||
msgid "Enter a list of values."
|
||||
msgstr "リストを入力してください。"
|
||||
|
||||
#: newforms/fields.py:386
|
||||
#: newforms/fields.py:387 newforms/models.py:187
|
||||
#, python-format
|
||||
msgid "Select a valid choice. %s is not one of the available choices."
|
||||
msgstr "正しく選択してください。 %s は候補にありません。"
|
||||
|
||||
#: oldforms/__init__.py:387
|
||||
#: oldforms/__init__.py:392
|
||||
#, python-format
|
||||
msgid "Ensure your text is less than %s character."
|
||||
msgid_plural "Ensure your text is less than %s characters."
|
||||
msgstr[0] "%s 字以下で入力してください。"
|
||||
msgstr[1] "%s 字以下で入力してください。"
|
||||
|
||||
#: oldforms/__init__.py:392
|
||||
#: oldforms/__init__.py:397
|
||||
msgid "Line breaks are not allowed here."
|
||||
msgstr "改行はできません。"
|
||||
|
||||
#: oldforms/__init__.py:493 oldforms/__init__.py:566 oldforms/__init__.py:605
|
||||
#: oldforms/__init__.py:498 oldforms/__init__.py:571 oldforms/__init__.py:610
|
||||
#, python-format
|
||||
msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
|
||||
msgstr "正しく選択してください。; '%(data)s' は %(choices)s にありません。"
|
||||
|
||||
#: oldforms/__init__.py:669
|
||||
#: oldforms/__init__.py:674
|
||||
msgid "The submitted file is empty."
|
||||
msgstr "入力されたファイルは空です。"
|
||||
|
||||
#: oldforms/__init__.py:725
|
||||
#: oldforms/__init__.py:730
|
||||
msgid "Enter a whole number between -32,768 and 32,767."
|
||||
msgstr "-32,768 から 32,767 までの整数を入力してください。"
|
||||
|
||||
#: oldforms/__init__.py:735
|
||||
#: oldforms/__init__.py:740
|
||||
msgid "Enter a positive number."
|
||||
msgstr "正の数を入力してください。"
|
||||
|
||||
#: oldforms/__init__.py:745
|
||||
#: oldforms/__init__.py:750
|
||||
msgid "Enter a whole number between 0 and 32,767."
|
||||
msgstr "0 から 32,767 までの整数を入力してください。"
|
||||
|
||||
#: template/defaultfilters.py:436
|
||||
#: template/defaultfilters.py:491
|
||||
msgid "yes,no,maybe"
|
||||
msgstr "はい,いいえ,たぶん"
|
||||
|
||||
#: utils/dateformat.py:40
|
||||
msgid "p.m."
|
||||
msgstr "p.m."
|
||||
|
||||
#: utils/dateformat.py:41
|
||||
msgid "a.m."
|
||||
msgstr "a.m."
|
||||
|
||||
#: utils/dateformat.py:46
|
||||
msgid "PM"
|
||||
msgstr "PM"
|
||||
|
||||
#: utils/dateformat.py:47
|
||||
msgid "AM"
|
||||
msgstr "AM"
|
||||
|
||||
#: utils/dateformat.py:95
|
||||
msgid "midnight"
|
||||
msgstr "0時"
|
||||
|
||||
#: utils/dateformat.py:97
|
||||
msgid "noon"
|
||||
msgstr "12時"
|
||||
|
||||
#: utils/dates.py:6
|
||||
msgid "Monday"
|
||||
msgstr "月曜日"
|
||||
|
Binary file not shown.
@ -1,14 +1,12 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# Japanese translation for js.
|
||||
# Copyright (C) 2005 makoto tsuyuki
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
# makoto tsuyuki <mtsuyuki@gmail.com>, 2005.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Django 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-10-06 00:30+0900\n"
|
||||
"POT-Creation-Date: 2007-03-26 23:41+0900\n"
|
||||
"PO-Revision-Date: 2006-05-08 13:39+0900\n"
|
||||
"Last-Translator: makoto tsuyuki <mtsuyuki@gmail.com>\n"
|
||||
"Language-Team: Japanese <django-ja@googlegroups.com>\n"
|
||||
@ -85,7 +83,7 @@ msgstr "時間を選択"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||
msgid "Midnight"
|
||||
msgstr "夜中"
|
||||
msgstr "0時"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||
msgid "6 a.m."
|
||||
@ -93,7 +91,7 @@ msgstr "午前 6 時"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
|
||||
msgid "Noon"
|
||||
msgstr "正午"
|
||||
msgstr "12時"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
||||
|
BIN
django/conf/locale/ko/LC_MESSAGES/django.mo
Normal file
BIN
django/conf/locale/ko/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
2797
django/conf/locale/ko/LC_MESSAGES/django.po
Normal file
2797
django/conf/locale/ko/LC_MESSAGES/django.po
Normal file
File diff suppressed because it is too large
Load Diff
BIN
django/conf/locale/ko/LC_MESSAGES/djangojs.mo
Normal file
BIN
django/conf/locale/ko/LC_MESSAGES/djangojs.mo
Normal file
Binary file not shown.
118
django/conf/locale/ko/LC_MESSAGES/djangojs.po
Normal file
118
django/conf/locale/ko/LC_MESSAGES/djangojs.po
Normal file
@ -0,0 +1,118 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-04-06 11:10+0900\n"
|
||||
"PO-Revision-Date: 2007-04-06 11:15+0900\n"
|
||||
"Last-Translator: Hyun Mi Ae <happyhyun@gmail.com>\n"
|
||||
"Language-Team: Korean\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: contrib/admin/media/js/calendar.js:24
|
||||
#: contrib/admin/media/js/dateparse.js:32
|
||||
msgid ""
|
||||
"January February March April May June July August September October November "
|
||||
"December"
|
||||
msgstr "1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월"
|
||||
|
||||
#: contrib/admin/media/js/calendar.js:25
|
||||
msgid "S M T W T F S"
|
||||
msgstr "일 월 화 수 목 금 토"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:33
|
||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||
msgstr "일요일 월요일 화요일 수요일 목요일 금요일 토요일"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||
#, perl-format
|
||||
msgid "Available %s"
|
||||
msgstr "이용 가능한 %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:41
|
||||
msgid "Choose all"
|
||||
msgstr "모두 선택"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:46
|
||||
msgid "Add"
|
||||
msgstr "추가"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:48
|
||||
msgid "Remove"
|
||||
msgstr "삭제"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:53
|
||||
#, perl-format
|
||||
msgid "Chosen %s"
|
||||
msgstr "선택된 %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:54
|
||||
msgid "Select your choice(s) and click "
|
||||
msgstr "선택한 후 클릭하세요"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:59
|
||||
msgid "Clear all"
|
||||
msgstr "모두 삭제"
|
||||
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72
|
||||
msgid "Show"
|
||||
msgstr "보기"
|
||||
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63
|
||||
msgid "Hide"
|
||||
msgstr "감추기"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||
msgid "Now"
|
||||
msgstr "현재"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51
|
||||
msgid "Clock"
|
||||
msgstr "시계"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78
|
||||
msgid "Choose a time"
|
||||
msgstr "시간 선택"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||
msgid "Midnight"
|
||||
msgstr "자정"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||
msgid "6 a.m."
|
||||
msgstr "오전 6시"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
|
||||
msgid "Noon"
|
||||
msgstr "정오"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177
|
||||
msgid "Today"
|
||||
msgstr "오늘"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132
|
||||
msgid "Calendar"
|
||||
msgstr "달력"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175
|
||||
msgid "Yesterday"
|
||||
msgstr "어제"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179
|
||||
msgid "Tomorrow"
|
||||
msgstr "내일"
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -10,7 +10,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-02-15 10:46+1100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Last-Translator: Gatis Tomsons <gatis.tomsons@gmail.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
@ -19,64 +19,65 @@ msgstr ""
|
||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||
#, perl-format
|
||||
msgid "Available %s"
|
||||
msgstr ""
|
||||
msgstr "Pieejams %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:41
|
||||
msgid "Choose all"
|
||||
msgstr ""
|
||||
msgstr "Izvēlēties visu"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:46
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
msgstr "Pievienot"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:48
|
||||
msgid "Remove"
|
||||
msgstr ""
|
||||
msgstr "Izņemt"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:53
|
||||
#, perl-format
|
||||
msgid "Chosen %s"
|
||||
msgstr ""
|
||||
msgstr "Izvēlies %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:54
|
||||
msgid "Select your choice(s) and click "
|
||||
msgstr ""
|
||||
msgstr "Izvēlies un klikšķini"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:59
|
||||
msgid "Clear all"
|
||||
msgstr ""
|
||||
msgstr "Attīrīt visu"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:32
|
||||
#: contrib/admin/media/js/calendar.js:24
|
||||
msgid ""
|
||||
"January February March April May June July August September October November "
|
||||
"December"
|
||||
msgstr ""
|
||||
msgstr "Janvāris Februāris Marts Aprīlis Maijs Jūnijs Jūlijs Augusts Septembris Oktobris Novembris"
|
||||
"Decembris"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:33
|
||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||
msgstr ""
|
||||
msgstr "Svētdiena Pirmdiena Otrdiena Trešdiena Ceturtdiena Piektdiena Sestdiena"
|
||||
|
||||
#: contrib/admin/media/js/calendar.js:25
|
||||
msgid "S M T W T F S"
|
||||
msgstr ""
|
||||
msgstr "S M T W T F S"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||
msgid "Now"
|
||||
msgstr ""
|
||||
msgstr "Tagad"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51
|
||||
msgid "Clock"
|
||||
msgstr ""
|
||||
msgstr "Pulkstens"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78
|
||||
msgid "Choose a time"
|
||||
msgstr ""
|
||||
msgstr "Izvēlieties laiku"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||
msgid "Midnight"
|
||||
msgstr ""
|
||||
msgstr "Pusnakts"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||
msgid "6 a.m."
|
||||
@ -84,35 +85,35 @@ msgstr ""
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
|
||||
msgid "Noon"
|
||||
msgstr ""
|
||||
msgstr "Pusdienas laiks"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Atcelt"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177
|
||||
msgid "Today"
|
||||
msgstr ""
|
||||
msgstr "Šodien"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132
|
||||
msgid "Calendar"
|
||||
msgstr ""
|
||||
msgstr "Kalendārs"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175
|
||||
msgid "Yesterday"
|
||||
msgstr ""
|
||||
msgstr "Vakar"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179
|
||||
msgid "Tomorrow"
|
||||
msgstr ""
|
||||
msgstr "Rīt"
|
||||
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72
|
||||
msgid "Show"
|
||||
msgstr ""
|
||||
msgstr "Parādīt"
|
||||
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63
|
||||
msgid "Hide"
|
||||
msgstr ""
|
||||
msgstr "Slēpt"
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -2202,10 +2202,11 @@ msgstr[0] "dag"
|
||||
msgstr[1] "dagen"
|
||||
|
||||
#: utils/timesince.py:16
|
||||
# In the timesince context it is stilistically wrong to use the plural for hour in Dutch.
|
||||
msgid "hour"
|
||||
msgid_plural "hours"
|
||||
msgstr[0] "uur"
|
||||
msgstr[1] "uren"
|
||||
msgstr[1] "uur"
|
||||
|
||||
#: utils/timesince.py:17
|
||||
msgid "minute"
|
||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# translation of django.po to
|
||||
# Copyright (C) 2005 and beyond
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# Espen Grindhaug <espen@grindhaug.org>, Nov 2005.
|
||||
@ -6,74 +6,73 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-05-16 10:12+0200\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Espen Grndhaug <espen@grindhaug.org>\n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"PO-Revision-Date: 2007-04-27 06:48+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: <en@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
|
||||
#: contrib/comments/models.py:67 contrib/comments/models.py:166
|
||||
#, fuzzy
|
||||
msgid "object ID"
|
||||
msgstr "Vis objekt ID"
|
||||
msgstr "objekt ID"
|
||||
|
||||
#: contrib/comments/models.py:68
|
||||
msgid "headline"
|
||||
msgstr ""
|
||||
msgstr "overskrift"
|
||||
|
||||
#: contrib/comments/models.py:69 contrib/comments/models.py:90
|
||||
#: contrib/comments/models.py:167
|
||||
#, fuzzy
|
||||
msgid "comment"
|
||||
msgstr "innhold"
|
||||
msgstr "kommentar"
|
||||
|
||||
#: contrib/comments/models.py:70
|
||||
msgid "rating #1"
|
||||
msgstr ""
|
||||
msgstr "rangering #1 "
|
||||
|
||||
#: contrib/comments/models.py:71
|
||||
msgid "rating #2"
|
||||
msgstr ""
|
||||
msgstr "rangering #2"
|
||||
|
||||
#: contrib/comments/models.py:72
|
||||
msgid "rating #3"
|
||||
msgstr ""
|
||||
msgstr "rangering #3"
|
||||
|
||||
#: contrib/comments/models.py:73
|
||||
msgid "rating #4"
|
||||
msgstr ""
|
||||
msgstr "rangering #4"
|
||||
|
||||
#: contrib/comments/models.py:74
|
||||
msgid "rating #5"
|
||||
msgstr ""
|
||||
msgstr "rangering #5"
|
||||
|
||||
#: contrib/comments/models.py:75
|
||||
msgid "rating #6"
|
||||
msgstr ""
|
||||
msgstr "rangering #6"
|
||||
|
||||
#: contrib/comments/models.py:76
|
||||
msgid "rating #7"
|
||||
msgstr ""
|
||||
msgstr "rangering #7"
|
||||
|
||||
#: contrib/comments/models.py:77
|
||||
msgid "rating #8"
|
||||
msgstr ""
|
||||
msgstr "rangering #8"
|
||||
|
||||
#: contrib/comments/models.py:82
|
||||
msgid "is valid rating"
|
||||
msgstr ""
|
||||
msgstr "er gyldig rangering"
|
||||
|
||||
#: contrib/comments/models.py:83 contrib/comments/models.py:169
|
||||
msgid "date/time submitted"
|
||||
msgstr ""
|
||||
msgstr "dato/tid for innsendelse"
|
||||
|
||||
#: contrib/comments/models.py:84 contrib/comments/models.py:170
|
||||
msgid "is public"
|
||||
msgstr ""
|
||||
msgstr "er tilgjengelig for alle"
|
||||
|
||||
#: contrib/comments/models.py:85 contrib/admin/views/doc.py:289
|
||||
msgid "IP address"
|
||||
@ -81,23 +80,21 @@ msgstr "IP adresse"
|
||||
|
||||
#: contrib/comments/models.py:86
|
||||
msgid "is removed"
|
||||
msgstr ""
|
||||
msgstr "er fjernet"
|
||||
|
||||
#: contrib/comments/models.py:86
|
||||
msgid ""
|
||||
"Check this box if the comment is inappropriate. A \"This comment has been "
|
||||
"removed\" message will be displayed instead."
|
||||
msgstr ""
|
||||
msgstr "Aktiver denne avkryssningsboksen hvis kommentaren er upasende. Beskjeden \"Denne kommentaren er blitt fjernet\" vil bli vist istedet."
|
||||
|
||||
#: contrib/comments/models.py:91
|
||||
#, fuzzy
|
||||
msgid "comments"
|
||||
msgstr "innhold"
|
||||
msgstr "kommentarer"
|
||||
|
||||
#: contrib/comments/models.py:131 contrib/comments/models.py:207
|
||||
#, fuzzy
|
||||
msgid "Content object"
|
||||
msgstr "innholds type"
|
||||
msgstr "innholdsobjekt"
|
||||
|
||||
#: contrib/comments/models.py:159
|
||||
#, python-format
|
||||
@ -108,101 +105,97 @@ msgid ""
|
||||
"\n"
|
||||
"http://%(domain)s%(url)s"
|
||||
msgstr ""
|
||||
"Sendt av %(user)s på %(date)s\n"
|
||||
"\n"
|
||||
"%(comment)s\n"
|
||||
"\n"
|
||||
"http://%(domain)s%(url)s"
|
||||
|
||||
#: contrib/comments/models.py:168
|
||||
#, fuzzy
|
||||
msgid "person's name"
|
||||
msgstr "fornavn"
|
||||
msgstr "personens navn"
|
||||
|
||||
#: contrib/comments/models.py:171
|
||||
#, fuzzy
|
||||
msgid "ip address"
|
||||
msgstr "IP adresse"
|
||||
|
||||
#: contrib/comments/models.py:173
|
||||
msgid "approved by staff"
|
||||
msgstr ""
|
||||
msgstr "godkjent av moderator"
|
||||
|
||||
#: contrib/comments/models.py:176
|
||||
#, fuzzy
|
||||
msgid "free comment"
|
||||
msgstr "tillat kommentarer"
|
||||
msgstr "åpen kommentar"
|
||||
|
||||
#: contrib/comments/models.py:177
|
||||
#, fuzzy
|
||||
msgid "free comments"
|
||||
msgstr "tillat kommentarer"
|
||||
msgstr "åpne kommentarer"
|
||||
|
||||
#: contrib/comments/models.py:233
|
||||
msgid "score"
|
||||
msgstr ""
|
||||
msgstr "poeng"
|
||||
|
||||
#: contrib/comments/models.py:234
|
||||
#, fuzzy
|
||||
msgid "score date"
|
||||
msgstr "utløpsdato"
|
||||
msgstr "poeng dato"
|
||||
|
||||
#: contrib/comments/models.py:237
|
||||
msgid "karma score"
|
||||
msgstr ""
|
||||
msgstr "karma poeng"
|
||||
|
||||
#: contrib/comments/models.py:238
|
||||
msgid "karma scores"
|
||||
msgstr ""
|
||||
msgstr "karma poeng"
|
||||
|
||||
#: contrib/comments/models.py:242
|
||||
#, python-format
|
||||
msgid "%(score)d rating by %(user)s"
|
||||
msgstr ""
|
||||
msgstr "%(score)d rangering av %(user)s"
|
||||
|
||||
#: contrib/comments/models.py:258
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This comment was flagged by %(user)s:\n"
|
||||
"\n"
|
||||
"%(text)s"
|
||||
msgstr ""
|
||||
"Denne kommentaren er skrevet med lite omtanke:\n"
|
||||
"Denne kommentaren er flagget av %(user)s:\n"
|
||||
"\n"
|
||||
"%(text)s"
|
||||
|
||||
#: contrib/comments/models.py:265
|
||||
#, fuzzy
|
||||
msgid "flag date"
|
||||
msgstr "flatside"
|
||||
msgstr "flagg dato"
|
||||
|
||||
#: contrib/comments/models.py:268
|
||||
#, fuzzy
|
||||
msgid "user flag"
|
||||
msgstr "Bruker"
|
||||
msgstr "brukerflag"
|
||||
|
||||
#: contrib/comments/models.py:269
|
||||
#, fuzzy
|
||||
msgid "user flags"
|
||||
msgstr "Brukere"
|
||||
msgstr "brukerflag"
|
||||
|
||||
#: contrib/comments/models.py:273
|
||||
#, python-format
|
||||
msgid "Flag by %r"
|
||||
msgstr ""
|
||||
msgstr "Flagg med %r"
|
||||
|
||||
#: contrib/comments/models.py:278
|
||||
#, fuzzy
|
||||
msgid "deletion date"
|
||||
msgstr "sesjon data"
|
||||
msgstr "fjernet dato"
|
||||
|
||||
#: contrib/comments/models.py:280
|
||||
msgid "moderator deletion"
|
||||
msgstr ""
|
||||
msgstr "fjernet av moderator"
|
||||
|
||||
#: contrib/comments/models.py:281
|
||||
msgid "moderator deletions"
|
||||
msgstr ""
|
||||
msgstr "fjernet av moderator"
|
||||
|
||||
#: contrib/comments/models.py:285
|
||||
#, python-format
|
||||
msgid "Moderator deletion by %r"
|
||||
msgstr ""
|
||||
msgstr "Fjernet av moderator med %r"
|
||||
|
||||
#: contrib/comments/views/karma.py:19
|
||||
msgid "Anonymous users cannot vote"
|
||||
@ -214,16 +207,14 @@ msgstr "Ikke gyldig kommentar ID"
|
||||
|
||||
#: contrib/comments/views/karma.py:25
|
||||
msgid "No voting for yourself"
|
||||
msgstr "Du kan ikke stemme selv"
|
||||
msgstr "Du kan ikke stemme på deg selv"
|
||||
|
||||
#: contrib/comments/views/comments.py:28
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"This rating is required because you've entered at least one other rating."
|
||||
msgstr "Denne bla bla.."
|
||||
msgid "This rating is required because you've entered at least one other rating."
|
||||
msgstr "Denne rangeringen er påkrevd fordi du har rangert en eller flere ting fra før "
|
||||
|
||||
#: contrib/comments/views/comments.py:112
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This comment was posted by a user who has posted fewer than %(count)s "
|
||||
"comment:\n"
|
||||
@ -246,13 +237,13 @@ msgstr[1] ""
|
||||
"%(text)s"
|
||||
|
||||
#: contrib/comments/views/comments.py:117
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid ""
|
||||
"This comment was posted by a sketchy user:\n"
|
||||
"\n"
|
||||
"%(text)s"
|
||||
msgstr ""
|
||||
"Denne kommentaren er skrevet med lite omtanke:\n"
|
||||
"Denne kommentaren er skrevet av en upålitelig bruker:\n"
|
||||
"\n"
|
||||
"%(text)s"
|
||||
|
||||
@ -281,8 +272,7 @@ msgstr "Skjemaet hadde en ugyldig verdi - objekt IDen var ugyldig"
|
||||
#: contrib/comments/views/comments.py:257
|
||||
#: contrib/comments/views/comments.py:321
|
||||
msgid "The comment form didn't provide either 'preview' or 'post'"
|
||||
msgstr ""
|
||||
"Kommentar skjemaet returnerte ikke et 'forhåndsvisning' eller 'post' objekt"
|
||||
msgstr "Kommentar skjemaet returnerte ikke et 'forhåndsvisning' eller 'post' objekt"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:6
|
||||
#: contrib/comments/templates/comments/form.html:8
|
||||
@ -296,9 +286,8 @@ msgid "Password:"
|
||||
msgstr "Passord:"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:6
|
||||
#, fuzzy
|
||||
msgid "Forgotten your password?"
|
||||
msgstr "Endre passord"
|
||||
msgstr "Har du glemt passordet ditt ?"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:8
|
||||
#: contrib/admin/templates/admin/object_history.html:3
|
||||
@ -323,38 +312,35 @@ msgstr "Log ut"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:12
|
||||
msgid "Ratings"
|
||||
msgstr ""
|
||||
msgstr "Rangeringer"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:12
|
||||
#: contrib/comments/templates/comments/form.html:23
|
||||
msgid "Required"
|
||||
msgstr ""
|
||||
msgstr "Påkrevd"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:12
|
||||
#: contrib/comments/templates/comments/form.html:23
|
||||
msgid "Optional"
|
||||
msgstr ""
|
||||
msgstr "Valgfri"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:23
|
||||
msgid "Post a photo"
|
||||
msgstr ""
|
||||
msgstr "Send et foto"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:27
|
||||
#: contrib/comments/templates/comments/freeform.html:5
|
||||
#, fuzzy
|
||||
msgid "Comment:"
|
||||
msgstr "tillat kommentarer"
|
||||
msgstr "Kommentar:"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:32
|
||||
#: contrib/comments/templates/comments/freeform.html:9
|
||||
#, fuzzy
|
||||
msgid "Preview comment"
|
||||
msgstr "tillat kommentarer"
|
||||
msgstr "Forhåndvis kommentar"
|
||||
|
||||
#: contrib/comments/templates/comments/freeform.html:4
|
||||
#, fuzzy
|
||||
msgid "Your name:"
|
||||
msgstr "brukernavn"
|
||||
msgstr "Ditt navn:"
|
||||
|
||||
#: contrib/admin/filterspecs.py:40
|
||||
#, python-format
|
||||
@ -416,7 +402,7 @@ msgstr "objekt repr"
|
||||
|
||||
#: contrib/admin/models.py:21
|
||||
msgid "action flag"
|
||||
msgstr "handlings flagg"
|
||||
msgstr "handlingsflagg"
|
||||
|
||||
#: contrib/admin/models.py:22
|
||||
msgid "change message"
|
||||
@ -424,11 +410,11 @@ msgstr "endre melding"
|
||||
|
||||
#: contrib/admin/models.py:25
|
||||
msgid "log entry"
|
||||
msgstr "logg notis"
|
||||
msgstr "logg post"
|
||||
|
||||
#: contrib/admin/models.py:26
|
||||
msgid "log entries"
|
||||
msgstr "logg innlegg"
|
||||
msgstr "logg poster"
|
||||
|
||||
#: contrib/admin/templatetags/admin_list.py:228
|
||||
msgid "All dates"
|
||||
@ -440,8 +426,8 @@ msgid ""
|
||||
"Please enter a correct username and password. Note that both fields are case-"
|
||||
"sensitive."
|
||||
msgstr ""
|
||||
"Vær snill å angi korrekt brukernavn og passord. La merke til at små og "
|
||||
"store bokstaver er betraktet ulik."
|
||||
"Vennligst angi korrekt brukernavn og passord. Merk at små og "
|
||||
"store bokstaver er betraktet ulikt."
|
||||
|
||||
#: contrib/admin/views/decorators.py:23
|
||||
#: contrib/admin/templates/admin/login.html:25
|
||||
@ -452,18 +438,15 @@ msgstr "Logg inn"
|
||||
msgid ""
|
||||
"Please log in again, because your session has expired. Don't worry: Your "
|
||||
"submission has been saved."
|
||||
msgstr ""
|
||||
"Du må logge inn igjen, fordi sesjonen din har gått ut på dato, men ikke ikke "
|
||||
"bekjymr deg informasjonen du sendte ble lagret."
|
||||
msgstr "Du må logge inn igjen, fordi økten din har gått ut, men innlegget ditt ble lagret."
|
||||
|
||||
#: contrib/admin/views/decorators.py:68
|
||||
msgid ""
|
||||
"Looks like your browser isn't configured to accept cookies. Please enable "
|
||||
"cookies, reload this page, and try again."
|
||||
msgstr ""
|
||||
"Det ser ut som om nettleseren din ikke vill ta i mot informasjonskapsler "
|
||||
"('cookies'). Vennligst omkonfigurer nettleseren din, last siden på ny og "
|
||||
"prøv igjen."
|
||||
"Det ser ut som om nettleseren din ikke støtter informasjonskapsler "
|
||||
"('cookies'). Vennligst konfigurer nettleseren din, og prøv igjen."
|
||||
|
||||
#: contrib/admin/views/decorators.py:82
|
||||
msgid "Usernames cannot contain the '@' character."
|
||||
@ -500,7 +483,7 @@ msgstr "Ny %s"
|
||||
#: contrib/admin/views/main.py:336
|
||||
#, python-format
|
||||
msgid "Added %s."
|
||||
msgstr "Lagt til %s"
|
||||
msgstr "La til %s"
|
||||
|
||||
#: contrib/admin/views/main.py:336 contrib/admin/views/main.py:338
|
||||
#: contrib/admin/views/main.py:340
|
||||
@ -528,8 +511,7 @@ msgstr "%(name)s \"%(obj)s\" ble endret."
|
||||
|
||||
#: contrib/admin/views/main.py:354
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
||||
msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
||||
msgstr "%(name)s \"%(obj)s\" ble endret. Du kan endre det igjen under."
|
||||
|
||||
#: contrib/admin/views/main.py:392
|
||||
@ -742,8 +724,8 @@ msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr ""
|
||||
"Det har vært en feil. Feilen er blitt rapportert til administrator via e-"
|
||||
"mail, og vill bli fikset snart. Takk for din tålmodighet."
|
||||
"Det har oppstått en feil. Feilen er blitt rapportert til administrator via e-"
|
||||
"post, og vil bli fikset snart. Takk for din tålmodighet."
|
||||
|
||||
#: contrib/admin/templates/admin/404.html:4
|
||||
#: contrib/admin/templates/admin/404.html:8
|
||||
@ -909,7 +891,7 @@ msgstr "Tilbakestill mitt passord"
|
||||
|
||||
#: contrib/admin/templates/registration/logged_out.html:8
|
||||
msgid "Thanks for spending some quality time with the Web site today."
|
||||
msgstr "Takk for å bruke tid på internett siden i dag."
|
||||
msgstr "Takk for at du valgte å bruke kvalitetstid på nettstedet idag."
|
||||
|
||||
#: contrib/admin/templates/registration/logged_out.html:10
|
||||
msgid "Log in again"
|
||||
@ -954,8 +936,7 @@ msgstr "Endre passord"
|
||||
|
||||
#: contrib/admin/templates/registration/password_reset_email.html:2
|
||||
msgid "You're receiving this e-mail because you requested a password reset"
|
||||
msgstr ""
|
||||
"Du har mottatt denne e-posten fordi du ba om å tilbakestille passordet ditt"
|
||||
msgstr "Du har mottatt denne e-posten fordi du ba om å tilbakestille passordet ditt"
|
||||
|
||||
#: contrib/admin/templates/registration/password_reset_email.html:3
|
||||
#, python-format
|
||||
@ -1002,6 +983,12 @@ msgid ""
|
||||
"as \"internal\" (talk to your system administrator if you aren't sure if\n"
|
||||
"your computer is \"internal\").</p>\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"<p class=\"help\">For å installere bokmerker, dra linken til verktøylinja\n"
|
||||
"for bokmerker, eller høyreklikk og legg til i bokmerker. Nå kan du du velge\n"
|
||||
"bokmerket fra hvilken som helst side på nettstedet. Noen av disse\n"
|
||||
"bokmerkene krever at datamaskinen du bruker er markert som \"intern\"\n"
|
||||
"(kontakt din systemadministrator hvis du er usikker på om maskinen din er \"intern\").</p>\n"
|
||||
|
||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:19
|
||||
msgid "Documentation for this page"
|
||||
@ -1033,8 +1020,7 @@ msgstr "Endre dette objektet (åpnes i dette vinduet)"
|
||||
|
||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:26
|
||||
msgid "Jumps to the admin page for pages that represent a single object."
|
||||
msgstr ""
|
||||
"Hopp til administrasjonsiden for sidene som representerer et enkelt objekt."
|
||||
msgstr "Hopp til administrasjonsiden for sidene som representerer et enkelt objekt."
|
||||
|
||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:28
|
||||
msgid "Edit this object (new window)"
|
||||
@ -1069,7 +1055,7 @@ msgid ""
|
||||
"This should be an absolute path, excluding the domain name. Example: '/"
|
||||
"events/search/'."
|
||||
msgstr ""
|
||||
"Denne burde vær en fullstendig sti, uten domene navnet. Foreksempel: '/"
|
||||
"Dette burde vært en fullstendig sti, uten domene navnet. Foreksempel: '/"
|
||||
"nyheter/les/"
|
||||
|
||||
#: contrib/redirects/models.py:9
|
||||
@ -1081,7 +1067,7 @@ msgid ""
|
||||
"This can be either an absolute path (as above) or a full URL starting with "
|
||||
"'http://'."
|
||||
msgstr ""
|
||||
"Denne kan enten være en fullstendig sti (som over), eller en hel "
|
||||
"Dette kan enten være en fullstendig sti (som over), eller en hel "
|
||||
"internettadresse som starter med 'http://'"
|
||||
|
||||
#: contrib/redirects/models.py:12
|
||||
@ -1093,10 +1079,8 @@ msgid "redirects"
|
||||
msgstr "omadresserelser"
|
||||
|
||||
#: contrib/flatpages/models.py:8
|
||||
msgid ""
|
||||
"Example: '/about/contact/'. Make sure to have leading and trailing slashes."
|
||||
msgstr ""
|
||||
"Eksempel: '/om/kontakt/'. Vær sikker på at du har en skråstrek forran og bak."
|
||||
msgid "Example: '/about/contact/'. Make sure to have leading and trailing slashes."
|
||||
msgstr "Eksempel: '/om/kontakt/'. Vær sikker på at du har en skråstrek forran og bak."
|
||||
|
||||
#: contrib/flatpages/models.py:9
|
||||
msgid "title"
|
||||
@ -1186,7 +1170,7 @@ msgstr "passord"
|
||||
|
||||
#: contrib/auth/models.py:59
|
||||
msgid "Use '[algo]$[salt]$[hexdigest]'"
|
||||
msgstr ""
|
||||
msgstr "Bruk '[algo]$[salt]$[hexdigest]'"
|
||||
|
||||
#: contrib/auth/models.py:60
|
||||
msgid "staff status"
|
||||
@ -1256,7 +1240,7 @@ msgstr "Melding"
|
||||
msgid ""
|
||||
"Your Web browser doesn't appear to have cookies enabled. Cookies are "
|
||||
"required for logging in."
|
||||
msgstr ""
|
||||
msgstr "Din nettleser ser ikkeut til å støtte informasjonskapsler (cookies). Informasjonskapsler er påkrevd for å logge inn."
|
||||
|
||||
#: contrib/contenttypes/models.py:25
|
||||
msgid "python model class name"
|
||||
@ -1698,8 +1682,7 @@ msgstr "Internettadressen %s peker ikke til et godkjent bilde."
|
||||
#: core/validators.py:159
|
||||
#, python-format
|
||||
msgid "Phone numbers must be in XXX-XXX-XXXX format. \"%s\" is invalid."
|
||||
msgstr ""
|
||||
"Telefon nummeret må være i XXX-XXX-XXXX format. \"%s\" er ikke godkjent."
|
||||
msgstr "Telefon nummeret må være i XXX-XXX-XXXX format. \"%s\" er ikke godkjent."
|
||||
|
||||
#: core/validators.py:167
|
||||
#, python-format
|
||||
@ -1732,7 +1715,7 @@ msgstr "Ikke godkjent URL: %s"
|
||||
#: core/validators.py:206 core/validators.py:208
|
||||
#, python-format
|
||||
msgid "The URL %s is a broken link."
|
||||
msgstr "Internettadresse fører til en side som ikke virker."
|
||||
msgstr "Internettadresse %s fører til en side som ikke virker."
|
||||
|
||||
#: core/validators.py:214
|
||||
msgid "Enter a valid U.S. state abbreviation."
|
||||
@ -1784,30 +1767,26 @@ msgstr "Vennligst skriv inn et godkjent desimal tall."
|
||||
#: core/validators.py:349
|
||||
#, python-format
|
||||
msgid "Please enter a valid decimal number with at most %s total digit."
|
||||
msgid_plural ""
|
||||
"Please enter a valid decimal number with at most %s total digits."
|
||||
msgid_plural "Please enter a valid decimal number with at most %s total digits."
|
||||
msgstr[0] "Skriv inn et desimal tall med maksimum %s total antall tall."
|
||||
msgstr[1] "Skriv inn et desimal tall med maksimum %s total antall tall."
|
||||
|
||||
#: core/validators.py:352
|
||||
#, python-format
|
||||
msgid "Please enter a valid decimal number with at most %s decimal place."
|
||||
msgid_plural ""
|
||||
"Please enter a valid decimal number with at most %s decimal places."
|
||||
msgid_plural "Please enter a valid decimal number with at most %s decimal places."
|
||||
msgstr[0] "Skriv inn et desimal tall med maksimum %s tall bak komma. "
|
||||
msgstr[1] "Skriv inn et desimal tall med maksimum %s tall bak komma. "
|
||||
|
||||
#: core/validators.py:362
|
||||
#, python-format
|
||||
msgid "Make sure your uploaded file is at least %s bytes big."
|
||||
msgstr ""
|
||||
"Vær sikker på at fila du prøver å laste opp er minimum %s bytes stor."
|
||||
msgstr "Vær sikker på at fila du prøver å laste opp er minimum %s bytes stor."
|
||||
|
||||
#: core/validators.py:363
|
||||
#, python-format
|
||||
msgid "Make sure your uploaded file is at most %s bytes big."
|
||||
msgstr ""
|
||||
"Vær sikker på at fila du prøver å laste opp er maksimum %s bytes stor."
|
||||
msgstr "Vær sikker på at fila du prøver å laste opp er maksimum %s bytes stor."
|
||||
|
||||
#: core/validators.py:376
|
||||
msgid "The format for this field is wrong."
|
||||
@ -1824,8 +1803,7 @@ msgstr "Klarte ikke å motta noe fra %s."
|
||||
|
||||
#: core/validators.py:429
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
||||
msgid "The URL %(url)s returned the invalid Content-Type header '%(contenttype)s'."
|
||||
msgstr ""
|
||||
"Internettadressen %(url)s returnerte en ikke godkjent Content-Type '%"
|
||||
"(contenttype)s'."
|
||||
@ -1881,7 +1859,7 @@ msgid ""
|
||||
"The \"%(attr)s\" attribute on line %(line)s has an invalid value. (Line "
|
||||
"starts with \"%(start)s\".)"
|
||||
msgstr ""
|
||||
"\"%(attr)s\" tillegg på linje $(line)s har en ikke godkjent verdi. (Linjen "
|
||||
"\"%(attr)s\" tillegg på linje %(line)s har en ikke godkjent verdi. (Linjen "
|
||||
"starter med \"%(start)s\".)"
|
||||
|
||||
#: db/models/manipulators.py:302
|
||||
@ -1892,7 +1870,7 @@ msgstr "%(object)s med %(type)s finnes allerede for angitt %(field)s."
|
||||
#: db/models/fields/__init__.py:40
|
||||
#, python-format
|
||||
msgid "%(optname)s with this %(fieldname)s already exists."
|
||||
msgstr "$(optname)s med %(fieldname)s finnes allerede."
|
||||
msgstr "%(optname)s med %(fieldname)s finnes allerede."
|
||||
|
||||
#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265
|
||||
#: db/models/fields/__init__.py:542 db/models/fields/__init__.py:553
|
||||
@ -1926,16 +1904,13 @@ msgid "Separate multiple IDs with commas."
|
||||
msgstr "Separer Id-ene med kommaer."
|
||||
|
||||
#: db/models/fields/related.py:581
|
||||
msgid ""
|
||||
"Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
|
||||
msgstr ""
|
||||
"Hold nede \"Control\", eller \"Command\" på en Mac, for å velge mere enn en."
|
||||
msgid "Hold down \"Control\", or \"Command\" on a Mac, to select more than one."
|
||||
msgstr "Hold nede \"Control\", eller \"Command\" på en Mac, for å velge mere enn en."
|
||||
|
||||
#: db/models/fields/related.py:625
|
||||
#, python-format
|
||||
msgid "Please enter valid %(self)s IDs. The value %(value)r is invalid."
|
||||
msgid_plural ""
|
||||
"Please enter valid %(self)s IDs. The values %(value)r are invalid."
|
||||
msgid_plural "Please enter valid %(self)s IDs. The values %(value)r are invalid."
|
||||
msgstr[0] "Skriv inn gyldige %(self)s ID-er. Verdien %(value)r er ikke gyldig."
|
||||
msgstr[1] "Skriv inn gyldige %(self)s ID-er. Verdiene %(value)r er ikke gyldige."
|
||||
|
||||
|
Binary file not shown.
@ -1,19 +1,20 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# translation of djangojs.po to
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# Espen Grindhaug <espen.grindhaug@mail.com>, 2006.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Project-Id-Version: djangojs\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-12-09 11:51+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Espen Grindhaug <espen.grindhaug@gmail.com>\n"
|
||||
"Language-Team: no\n"
|
||||
"PO-Revision-Date: 2007-04-27 06:51+0200\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: <en@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||
#, perl-format
|
||||
@ -21,7 +22,6 @@ msgid "Available %s"
|
||||
msgstr "%s er tilgjengelige"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:41
|
||||
#, fuzzy
|
||||
msgid "Choose all"
|
||||
msgstr "Velg alle"
|
||||
|
||||
@ -116,3 +116,4 @@ msgstr "I går"
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164
|
||||
msgid "Tomorrow"
|
||||
msgstr "I morgen"
|
||||
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,20 +1,15 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# VLADO LABATH <vlado@labath.org>, 2005.
|
||||
#
|
||||
#, fuzzy
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Project-Id-Version: Django 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-12-18 19:38-0500\n"
|
||||
"PO-Revision-Date: 2005-12-18 19:26-0500\n"
|
||||
"Last-Translator: VLADO LABATH <vlado@labath.org>\n"
|
||||
"Language-Team: LANGUAGE <sk@li.org>\n"
|
||||
"POT-Creation-Date: 2007-04-01 19:21+0200\n"
|
||||
"PO-Revision-Date: 2007-04-03 21:48+0200\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||
#, perl-format
|
||||
@ -23,15 +18,15 @@ msgstr "Možný %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:41
|
||||
msgid "Choose all"
|
||||
msgstr "Vyber všetko"
|
||||
msgstr "Vybrať všetko"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:46
|
||||
msgid "Add"
|
||||
msgstr "Pridaj"
|
||||
msgstr "Pridať"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:48
|
||||
msgid "Remove"
|
||||
msgstr "Vymaž"
|
||||
msgstr "Vymazať"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:53
|
||||
#, perl-format
|
||||
@ -40,13 +35,13 @@ msgstr "Vybrané %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:54
|
||||
msgid "Select your choice(s) and click "
|
||||
msgstr "Vyber si svoju voľbu a klikni"
|
||||
msgstr "Vyberte položku a kliknite"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:59
|
||||
msgid "Clear all"
|
||||
msgstr "Vyčisti všetko"
|
||||
msgstr "Odstrániť vybrané"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:26
|
||||
#: contrib/admin/media/js/dateparse.js:32
|
||||
#: contrib/admin/media/js/calendar.js:24
|
||||
msgid ""
|
||||
"January February March April May June July August September October November "
|
||||
@ -55,7 +50,7 @@ msgstr ""
|
||||
"Január Február Marec Apríl Máj Jún Júl August September Október November "
|
||||
"December"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:27
|
||||
#: contrib/admin/media/js/dateparse.js:33
|
||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||
msgstr "Nedeľa Pondelok Utorok Streda Štvrtok Piatok Sobota"
|
||||
|
||||
@ -63,49 +58,59 @@ msgstr "Nedeľa Pondelok Utorok Streda Štvrtok Piatok Sobota"
|
||||
msgid "S M T W T F S"
|
||||
msgstr "N P U S Š P S"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:34
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:72
|
||||
msgid "Show"
|
||||
msgstr "Zobraziť"
|
||||
|
||||
#: contrib/admin/media/js/admin/CollapsedFieldsets.js:63
|
||||
msgid "Hide"
|
||||
msgstr "Skryť"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:47
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||
msgid "Now"
|
||||
msgstr "Práve teraz"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:51
|
||||
msgid "Clock"
|
||||
msgstr "Hodiny"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:78
|
||||
msgid "Choose a time"
|
||||
msgstr "Vyber čas"
|
||||
msgstr "Vybrať čas"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||
msgid "Midnight"
|
||||
msgstr "Polnoc"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||
msgid "6 a.m."
|
||||
msgstr "6 ráno"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
|
||||
msgid "Noon"
|
||||
msgstr "Poludnie"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:88
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:183
|
||||
msgid "Cancel"
|
||||
msgstr "Zruš"
|
||||
msgstr "Zrušiť"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:128
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:177
|
||||
msgid "Today"
|
||||
msgstr "Dnes"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:132
|
||||
msgid "Calendar"
|
||||
msgstr "Kalendár"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:175
|
||||
msgid "Yesterday"
|
||||
msgstr "Včera"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:179
|
||||
msgid "Tomorrow"
|
||||
msgstr "Zajtra"
|
||||
|
||||
|
BIN
django/conf/locale/sl/LC_MESSAGES/djangojs.mo
Normal file
BIN
django/conf/locale/sl/LC_MESSAGES/djangojs.mo
Normal file
Binary file not shown.
107
django/conf/locale/sl/LC_MESSAGES/djangojs.po
Normal file
107
django/conf/locale/sl/LC_MESSAGES/djangojs.po
Normal file
@ -0,0 +1,107 @@
|
||||
# Copyright (C) 2007
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: DJANGO-JS\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-12-09 11:51+0100\n"
|
||||
"PO-Revision-Date: 2007-03-31 21:29+0100\n"
|
||||
"Last-Translator: Gasper Koren <skrat@owca.info>\n"
|
||||
"Language-Team: SLOVENIAN <lugos-slo@lugos.si>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-Language: Slovenian\n"
|
||||
"X-Poedit-Country: SLOVENIA\n"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:33
|
||||
#, perl-format
|
||||
msgid "Available %s"
|
||||
msgstr "Možne %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:41
|
||||
msgid "Choose all"
|
||||
msgstr "Izberi vse"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:46
|
||||
msgid "Add"
|
||||
msgstr "Dodaj"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:48
|
||||
msgid "Remove"
|
||||
msgstr "Odstrani"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:53
|
||||
#, perl-format
|
||||
msgid "Chosen %s"
|
||||
msgstr "Izberite %s"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:54
|
||||
msgid "Select your choice(s) and click "
|
||||
msgstr "Izberite in kliknite"
|
||||
|
||||
#: contrib/admin/media/js/SelectFilter2.js:59
|
||||
msgid "Clear all"
|
||||
msgstr "Izbriši vse"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:26
|
||||
#: contrib/admin/media/js/calendar.js:24
|
||||
msgid "January February March April May June July August September October November December"
|
||||
msgstr "Januar Februar Marec April Maj Junij Julij Avgust September Oktober November December"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:27
|
||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||
msgstr "Nedelja Ponedeljek Torek Sreda Četrtek Petek Sobota"
|
||||
|
||||
#: contrib/admin/media/js/calendar.js:25
|
||||
msgid "S M T W T F S"
|
||||
msgstr "N P T S Č P S"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:45
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80
|
||||
msgid "Now"
|
||||
msgstr "Sedaj"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:48
|
||||
msgid "Clock"
|
||||
msgstr "URA"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:77
|
||||
msgid "Choose a time"
|
||||
msgstr "Izberite čas"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:81
|
||||
msgid "Midnight"
|
||||
msgstr "Polnoč"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:82
|
||||
msgid "6 a.m."
|
||||
msgstr "Ob 6h"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:83
|
||||
msgid "Noon"
|
||||
msgstr "Opoldne"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:168
|
||||
msgid "Cancel"
|
||||
msgstr "Prekliči"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:111
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:162
|
||||
msgid "Today"
|
||||
msgstr "Danes"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:114
|
||||
msgid "Calendar"
|
||||
msgstr "Koledar"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:160
|
||||
msgid "Yesterday"
|
||||
msgstr "Včeraj"
|
||||
|
||||
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:164
|
||||
msgid "Tomorrow"
|
||||
msgstr "Jutri"
|
||||
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,6 @@
|
||||
# Copyright (C) 2005
|
||||
# This file is distributed under the same license as the Django package.
|
||||
#
|
||||
#
|
||||
# Robin Sonefors <ozamosi@blinkenlights.se>, 2005.
|
||||
# Mikko Hellsing <mikko@sorl.net>, 2007.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: djangojs\n"
|
||||
|
Binary file not shown.
@ -2,19 +2,19 @@
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
#
|
||||
# pavithran <pavithran.s@gmail.com>, 2007.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: django\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-09-25 15:43+0200\n"
|
||||
"PO-Revision-Date: 2007-02-28 18:35+0530\n"
|
||||
"PO-Revision-Date: 2007-05-19 12:44+0530\n"
|
||||
"Last-Translator: pavithran <pavithran.s@gmail.com>\n"
|
||||
"Language-Team: Telugu <indlinux-telugu@lists.sourceforge.net>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: KBabel 1.11.4\n"
|
||||
"Plural-Forms: nplurals=2; nplurals=n>1;"
|
||||
|
||||
#: contrib/comments/models.py:67 contrib/comments/models.py:166
|
||||
msgid "object ID"
|
||||
@ -144,7 +144,7 @@ msgstr "కర్మ స్కొరులు"
|
||||
#: contrib/comments/models.py:242
|
||||
#, python-format
|
||||
msgid "%(score)d rating by %(user)s"
|
||||
msgstr "%(user) రేటింగ్"
|
||||
msgstr "%(score)d కి %(user)s రేటింగ్"
|
||||
|
||||
#: contrib/comments/models.py:258
|
||||
#, python-format
|
||||
@ -153,9 +153,9 @@ msgid ""
|
||||
"\n"
|
||||
"%(text)s"
|
||||
msgstr ""
|
||||
"%(user)s చేత చేయబడ్డ వ్యాఖ్యానములు"
|
||||
"%(user)s చేత చేయబడ్డ వ్యాఖ్యానములు:\n"
|
||||
"\n"
|
||||
"%(text)లు"
|
||||
"%(text)s"
|
||||
|
||||
#: contrib/comments/models.py:265
|
||||
msgid "flag date"
|
||||
@ -163,11 +163,11 @@ msgstr "ఫ్లాగ్ తేది "
|
||||
|
||||
#: contrib/comments/models.py:268
|
||||
msgid "user flag"
|
||||
msgstr "యూఙర్ ఫ్లాగ్"
|
||||
msgstr "యూజర్ ఫ్లాగ్"
|
||||
|
||||
#: contrib/comments/models.py:269
|
||||
msgid "user flags"
|
||||
msgstr "యూఙర్ ఫ్లాగులు"
|
||||
msgstr "యూజర్ ఫ్లాగులు"
|
||||
|
||||
#: contrib/comments/models.py:273
|
||||
#, python-format
|
||||
@ -193,7 +193,7 @@ msgstr "మొదరేటర్ తీసివేసిన %r"
|
||||
|
||||
#: contrib/comments/views/karma.py:19
|
||||
msgid "Anonymous users cannot vote"
|
||||
msgstr "అపరిచిత యూఙరులు వోటు వేయలేరు"
|
||||
msgstr "అపరిచిత యూజర్లు వోటు వేయలేరు"
|
||||
|
||||
#: contrib/comments/views/karma.py:23
|
||||
msgid "Invalid comment ID"
|
||||
@ -220,12 +220,12 @@ msgid_plural ""
|
||||
"\n"
|
||||
"%(text)s"
|
||||
msgstr[0] ""
|
||||
"ఈ వ్యాఖ్యానము చేసిన యూఙర్ %(count)లు కన్న తక్కువ సమర్పించాడు "
|
||||
"ఈ వ్యాఖ్యానము చేసిన యూజర్ %(count)s లు కన్న తక్కువ సమర్పించాడు "
|
||||
"వ్యాఖ్యానము:\n"
|
||||
"\n"
|
||||
"%(text)s"
|
||||
msgstr[1] ""
|
||||
"ఈ వ్యాఖ్యానము చేసిన యూఙర్ %(count)లు కన్న తక్కువ సమర్పించాడు"
|
||||
"ఈ వ్యాఖ్యానము చేసిన యూజర్ %(count)s లు కన్న తక్కువ సమర్పించాడు"
|
||||
"వ్యాఖ్యానములు:\n"
|
||||
"\n"
|
||||
"%(text)s"
|
||||
@ -237,7 +237,7 @@ msgid ""
|
||||
"\n"
|
||||
"%(text)s"
|
||||
msgstr ""
|
||||
"ఈ వ్యాఖ్యానము స్కెచి యూఙర్ చేసాడు :\n"
|
||||
"ఈ వ్యాఖ్యానము స్కెచి యూజర్ చేసాడు :\n"
|
||||
"\n"
|
||||
"%(text)s"
|
||||
|
||||
@ -274,7 +274,7 @@ msgstr "వ్యాఖ్యానము ఫార్మ్ లో 'ప్ర
|
||||
#: contrib/comments/templates/comments/form.html:8
|
||||
#: contrib/admin/templates/admin/login.html:17
|
||||
msgid "Username:"
|
||||
msgstr "యూఙర్ పేరు"
|
||||
msgstr "యూజర్ పేరు"
|
||||
|
||||
#: contrib/comments/templates/comments/form.html:6
|
||||
#: contrib/admin/templates/admin/object_history.html:3
|
||||
@ -343,7 +343,8 @@ msgstr "మీ పేరు"
|
||||
msgid ""
|
||||
"<h3>By %s:</h3>\n"
|
||||
"<ul>\n"
|
||||
msgstr "<h3> %s తో:</h3>\n"
|
||||
msgstr ""
|
||||
"<h3> %s తో:</h3>\n"
|
||||
"<ul>\n"
|
||||
|
||||
#: contrib/admin/filterspecs.py:70 contrib/admin/filterspecs.py:88
|
||||
@ -353,15 +354,15 @@ msgstr "అన్నీ"
|
||||
|
||||
#: contrib/admin/filterspecs.py:109
|
||||
msgid "Any date"
|
||||
msgstr "ఏ రోఙైన"
|
||||
msgstr "ఏ రోజైన"
|
||||
|
||||
#: contrib/admin/filterspecs.py:110
|
||||
msgid "Today"
|
||||
msgstr "ఈ రోఙు"
|
||||
msgstr "ఈ రోజు"
|
||||
|
||||
#: contrib/admin/filterspecs.py:113
|
||||
msgid "Past 7 days"
|
||||
msgstr "గత 7 రోఙుల గా"
|
||||
msgstr "గత 7 రోజుల గా"
|
||||
|
||||
#: contrib/admin/filterspecs.py:115
|
||||
msgid "This month"
|
||||
@ -413,13 +414,13 @@ msgstr "లాగ్ ఎంట్రీలు"
|
||||
|
||||
#: contrib/admin/templatetags/admin_list.py:230
|
||||
msgid "All dates"
|
||||
msgstr "అన్నీ రోఙులు"
|
||||
msgstr "అన్నీ రోజులు"
|
||||
|
||||
#: contrib/admin/views/decorators.py:10 contrib/auth/forms.py:59
|
||||
msgid ""
|
||||
"Please enter a correct username and password. Note that both fields are case-"
|
||||
"sensitive."
|
||||
msgstr "దయచేసి సరైన యూఙర్ పేరు పాస్ వర్డ్ ఇవ్వండి"
|
||||
msgstr "దయచేసి సరైన యూజర్ పేరు పాస్ వర్డ్ ఇవ్వండి"
|
||||
|
||||
#: contrib/admin/views/decorators.py:24
|
||||
#: contrib/admin/templates/admin/login.html:25
|
||||
@ -430,22 +431,22 @@ msgstr "లాగ్ ఇన్"
|
||||
msgid ""
|
||||
"Please log in again, because your session has expired. Don't worry: Your "
|
||||
"submission has been saved."
|
||||
msgstr "దయచేసి మళీ లాగ్ ఇన్ అవ్వండి ఎందుకంటే మీ సేస్సన్ ముగిసింది . బాధపడకండి మీ సమర్పన దాచిపెట్టాము"
|
||||
msgstr "దయచేసి మళ్ళీ లాగ్ ఇన్ అవ్వండి ఎందుకంటే మీ సేస్సన్ ముగిసింది . బాధపడకండి మీ సమర్పన దాచిపెట్టాము"
|
||||
|
||||
#: contrib/admin/views/decorators.py:69
|
||||
msgid ""
|
||||
"Looks like your browser isn't configured to accept cookies. Please enable "
|
||||
"cookies, reload this page, and try again."
|
||||
msgstr "మీ బ్రౌఙర్ పై కుకీస్ అంగీకరించబడేటట్లు చేయలేదు . దయ చేసి కుకీస్ ఎనేబల్ చేసి ,మళ్ళీ ట్రై చేయండి"
|
||||
msgstr "మీ బ్రౌజర్ పై కుకీస్ అంగీకరించేటట్లు చేయలేదు . దయ చేసి కుకీస్ ఎనేబల్ చేసి ,మళ్ళీ ట్రై చేయండి"
|
||||
|
||||
#: contrib/admin/views/decorators.py:83
|
||||
msgid "Usernames cannot contain the '@' character."
|
||||
msgstr "యూఙర్ పేరు లో '@' అక్షరము ఉందకూడడు"
|
||||
msgstr "యూజర్ పేరు లో '@' అక్షరము ఉందకూడడు"
|
||||
|
||||
#: contrib/admin/views/decorators.py:85
|
||||
#, python-format
|
||||
msgid "Your e-mail address is not your username. Try '%s' instead."
|
||||
msgstr "మీ ఈ మెయిల్ అడ్రస్ మీ యూఙర్ పేరు కాదు . '%s' ఇచ్చి చూడండి "
|
||||
msgstr "మీ ఈ మెయిల్ అడ్రస్ మీ యూజర్ పేరు కాదు . '%s' ఇచ్చి చూడండి "
|
||||
|
||||
#: contrib/admin/views/main.py:223
|
||||
msgid "Site administration"
|
||||
@ -454,7 +455,7 @@ msgstr "సైట్ నిర్వాహన"
|
||||
#: contrib/admin/views/main.py:257 contrib/admin/views/auth.py:17
|
||||
#, python-format
|
||||
msgid "The %(name)s \"%(obj)s\" was added successfully."
|
||||
msgstr "%(name)s \"%(obj)s\"ఙయప్రదంగా కలపబడ్డడి"
|
||||
msgstr "%(name)s \"%(obj)s\"జయప్రదంగా కలపబడ్డడి"
|
||||
|
||||
#: contrib/admin/views/main.py:261 contrib/admin/views/main.py:347
|
||||
#: contrib/admin/views/auth.py:22
|
||||
@ -464,12 +465,12 @@ msgstr "మీరు మళ్ళీ దీనినీ క్రింద మ
|
||||
#: contrib/admin/views/main.py:271 contrib/admin/views/main.py:356
|
||||
#, python-format
|
||||
msgid "You may add another %s below."
|
||||
msgstr "మీరు ఇంకొక %s ని క్రింద ఙత చేయొచ్చు"
|
||||
msgstr "మీరు ఇంకొక %s ని క్రింద జత చేయొచ్చు"
|
||||
|
||||
#: contrib/admin/views/main.py:289
|
||||
#, python-format
|
||||
msgid "Add %s"
|
||||
msgstr "%s ని ఙత చేయండి "
|
||||
msgstr "%s ని జత చేయండి "
|
||||
|
||||
#: contrib/admin/views/main.py:335
|
||||
#, python-format
|
||||
@ -493,17 +494,17 @@ msgstr "%s తీసివేయబడ్డడి"
|
||||
|
||||
#: contrib/admin/views/main.py:342
|
||||
msgid "No fields changed."
|
||||
msgstr "మార్చబడలేదు"
|
||||
msgstr "ఫీల్డ్స్ ఏమి మార్చబడలేదు"
|
||||
|
||||
#: contrib/admin/views/main.py:345
|
||||
#, python-format
|
||||
msgid "The %(name)s \"%(obj)s\" was changed successfully."
|
||||
msgstr "%(name)s \"%(obj)s\" ఙయప్రదంగా మార్చబడిండి"
|
||||
msgstr "%(name)s \"%(obj)s\" జయప్రదంగా మార్చబడిండి"
|
||||
|
||||
#: contrib/admin/views/main.py:353
|
||||
#, python-format
|
||||
msgid "The %(name)s \"%(obj)s\" was added successfully. You may edit it again below."
|
||||
msgstr "%(name)s \"%(obj)s\" ఙయప్రదంగా కలపబడ్డడి .మీరు మళ్ళీ దీనినీ క్రింద మార్చవచ్చు"
|
||||
msgstr "%(name)s \"%(obj)s\" జయప్రదంగా కలపబడ్డడి .మీరు మళ్ళీ దీనినీ క్రింద మార్చవచ్చు"
|
||||
|
||||
#: contrib/admin/views/main.py:391
|
||||
#, python-format
|
||||
@ -513,17 +514,17 @@ msgstr "%s ని మార్చంది"
|
||||
#: contrib/admin/views/main.py:473
|
||||
#, python-format
|
||||
msgid "One or more %(fieldname)s in %(name)s: %(obj)s"
|
||||
msgstr "ఒకటి కాని ,అంత కన్నఎక్కువ %(name)లు లో %(fieldname)లు : %(obj)లు "
|
||||
msgstr "ఒకటి కాని ,అంత కన్నఎక్కువ %(name)s లో %(fieldname)s : %(obj)s "
|
||||
|
||||
#: contrib/admin/views/main.py:478
|
||||
#, python-format
|
||||
msgid "One or more %(fieldname)s in %(name)s:"
|
||||
msgstr "ఒకటి కాని ,అంత కన్నఎక్కువ %(name)లు లో %(fieldname)లు"
|
||||
msgstr "ఒకటి కాని ,అంత కన్నఎక్కువ %(name)s లో %(fieldname)s"
|
||||
|
||||
#: contrib/admin/views/main.py:511
|
||||
#, python-format
|
||||
msgid "The %(name)s \"%(obj)s\" was deleted successfully."
|
||||
msgstr "%(name)లు \"%(obj)s\"ఙయప్రదంగా తీసివేయబడ్డడి"
|
||||
msgstr "%(name)s \"%(obj)s\"జయప్రదంగా తీసివేయబడ్డడి"
|
||||
|
||||
#: contrib/admin/views/main.py:514
|
||||
msgid "Are you sure?"
|
||||
@ -532,7 +533,7 @@ msgstr "మీరు కచ్చితంగా ఉన్నారా?"
|
||||
#: contrib/admin/views/main.py:536
|
||||
#, python-format
|
||||
msgid "Change history: %s"
|
||||
msgstr "మార్చబడిన పురాణము"
|
||||
msgstr "మార్చబడిన పురాణము: %s"
|
||||
|
||||
#: contrib/admin/views/main.py:570
|
||||
#, python-format
|
||||
@ -601,7 +602,7 @@ msgstr ""
|
||||
#: contrib/admin/views/doc.py:229
|
||||
#, python-format
|
||||
msgid "Fields on %s objects"
|
||||
msgstr "వస్తువు"
|
||||
msgstr "%s వస్తువులలో ఫీల్డ్స్ "
|
||||
|
||||
#: contrib/admin/views/doc.py:291 contrib/admin/views/doc.py:301
|
||||
#: contrib/admin/views/doc.py:303 contrib/admin/views/doc.py:309
|
||||
@ -682,7 +683,7 @@ msgstr ""
|
||||
|
||||
#: contrib/admin/views/auth.py:28
|
||||
msgid "Add user"
|
||||
msgstr "యూఙర్"
|
||||
msgstr "యూజర్ ని జత చేయండి"
|
||||
|
||||
#: contrib/admin/templates/admin/object_history.html:3
|
||||
#: contrib/admin/templates/admin/change_list.html:5
|
||||
@ -742,7 +743,7 @@ msgstr "తేది/వేళ"
|
||||
|
||||
#: contrib/admin/templates/admin/object_history.html:19
|
||||
msgid "User"
|
||||
msgstr "యూఙర్"
|
||||
msgstr "యూజర్"
|
||||
|
||||
#: contrib/admin/templates/admin/object_history.html:20
|
||||
msgid "Action"
|
||||
@ -760,11 +761,11 @@ msgstr ""
|
||||
|
||||
#: contrib/admin/templates/admin/base_site.html:4
|
||||
msgid "Django site admin"
|
||||
msgstr "డ్ఙాంగొ యొక్క నిర్వాహనదారులు"
|
||||
msgstr "డ్జాంగొ యొక్క నిర్వాహనదారులు"
|
||||
|
||||
#: contrib/admin/templates/admin/base_site.html:7
|
||||
msgid "Django administration"
|
||||
msgstr "డ్ఙాంగొ నిర్వాహన"
|
||||
msgstr "డ్జాంగొ నిర్వాహన"
|
||||
|
||||
#: contrib/admin/templates/admin/500.html:4
|
||||
msgid "Server error"
|
||||
@ -782,31 +783,31 @@ msgstr "సర్వర్ తప్పు <em>(500)</em>"
|
||||
msgid ""
|
||||
"There's been an error. It's been reported to the site administrators via e-"
|
||||
"mail and should be fixed shortly. Thanks for your patience."
|
||||
msgstr "తప్పు ఙరిగిండి . దానిని నిర్వాహనాధికారులు కి ఈ మెయిల్ చేయబడ్డడి,మీ ఓపిక కి ధన్యవాదములు"
|
||||
msgstr "తప్పు జరిగిండి . దానిని నిర్వాహనాధికారులు కి ఈ మెయిల్ చేయబడ్డడి,మీ ఓపిక కి ధన్యవాదములు"
|
||||
|
||||
#: contrib/admin/templates/admin/404.html:4
|
||||
#: contrib/admin/templates/admin/404.html:8
|
||||
msgid "Page not found"
|
||||
msgstr "పేఙి దొరకలేదు"
|
||||
msgstr "పేజి దొరకలేదు"
|
||||
|
||||
#: contrib/admin/templates/admin/404.html:10
|
||||
msgid "We're sorry, but the requested page could not be found."
|
||||
msgstr "క్షమించండి మీరు కోరిన పేఙి దొరకలేడు"
|
||||
msgstr "క్షమించండి మీరు కోరిన పేజి దొరకలేడు"
|
||||
|
||||
#: contrib/admin/templates/admin/index.html:17
|
||||
#, python-format
|
||||
msgid "Models available in the %(name)s application."
|
||||
msgstr "మొడల్ లు %(name)లో దొరికే అప్ప్లికేషన్"
|
||||
msgstr "మొడల్ లు %(name)s లో దొరికే అప్ప్లికేషన్"
|
||||
|
||||
#: contrib/admin/templates/admin/index.html:18
|
||||
#, python-format
|
||||
msgid "%(name)s"
|
||||
msgstr ""
|
||||
msgstr "%(name)s"
|
||||
|
||||
#: contrib/admin/templates/admin/index.html:28
|
||||
#: contrib/admin/templates/admin/change_form.html:15
|
||||
msgid "Add"
|
||||
msgstr "ఙత చేయి"
|
||||
msgstr "జత చేయి"
|
||||
|
||||
#: contrib/admin/templates/admin/index.html:34
|
||||
msgid "Change"
|
||||
@ -831,7 +832,7 @@ msgstr "ఏమి దొరకలేదు"
|
||||
#: contrib/admin/templates/admin/change_list.html:11
|
||||
#, python-format
|
||||
msgid "Add %(name)s"
|
||||
msgstr "%(name)లు ఙత చేయు"
|
||||
msgstr "%(name)s జత చేయు"
|
||||
|
||||
#: contrib/admin/templates/admin/login.html:22
|
||||
msgid "Have you <a href=\"/password_reset/\">forgotten your password</a>?"
|
||||
@ -943,7 +944,7 @@ msgstr ""
|
||||
|
||||
#: contrib/admin/templates/admin/auth/user/add_form.html:12
|
||||
msgid "Username"
|
||||
msgstr "యూఙర్ పేరు"
|
||||
msgstr "యూజర్ పేరు"
|
||||
|
||||
#: contrib/admin/templates/admin/auth/user/add_form.html:18
|
||||
msgid "Password"
|
||||
@ -967,7 +968,7 @@ msgstr "పాస్ వర్డ్ మార్పు"
|
||||
#: contrib/admin/templates/registration/password_change_done.html:6
|
||||
#: contrib/admin/templates/registration/password_change_done.html:10
|
||||
msgid "Password change successful"
|
||||
msgstr "పాస్ వర్డ్ మార్పు ఙయప్రదమైండి "
|
||||
msgstr "పాస్ వర్డ్ మార్పు జయప్రదమైండి "
|
||||
|
||||
#: contrib/admin/templates/registration/password_change_done.html:12
|
||||
msgid "Your password was changed."
|
||||
@ -1005,7 +1006,7 @@ msgstr "మళ్ళీ లాగ్ ఇన్ అవ్వండి"
|
||||
#: contrib/admin/templates/registration/password_reset_done.html:6
|
||||
#: contrib/admin/templates/registration/password_reset_done.html:10
|
||||
msgid "Password reset successful"
|
||||
msgstr "పాస్ వర్డ్ రీసెట్ ఙయప్రదమైండి"
|
||||
msgstr "పాస్ వర్డ్ రీసెట్ జయప్రదమైండి"
|
||||
|
||||
#: contrib/admin/templates/registration/password_reset_done.html:12
|
||||
msgid ""
|
||||
@ -1051,11 +1052,11 @@ msgstr "మీ కొత్త పాస్ వర్డ్ : %(new_password)s
|
||||
|
||||
#: contrib/admin/templates/registration/password_reset_email.html:7
|
||||
msgid "Feel free to change this password by going to this page:"
|
||||
msgstr "నిస్సందేహము గా ఈ పేఙి క్ కి వెళ్ళి పాస్ వర్డ్ మార్చుకోండి "
|
||||
msgstr "నిస్సందేహము గా ఈ పేజి క్ కి వెళ్ళి పాస్ వర్డ్ మార్చుకోండి "
|
||||
|
||||
#: contrib/admin/templates/registration/password_reset_email.html:11
|
||||
msgid "Your username, in case you've forgotten:"
|
||||
msgstr "మీ యూఙర్ పేరు, ఒక వేళ మర్చిపోయి ఉంటే "
|
||||
msgstr "మీ యూజర్ పేరు, ఒక వేళ మర్చిపోయి ఉంటే "
|
||||
|
||||
#: contrib/admin/templates/registration/password_reset_email.html:13
|
||||
msgid "Thanks for using our site!"
|
||||
@ -1103,19 +1104,19 @@ msgstr "వస్తువు ఇడి చూడండి"
|
||||
msgid ""
|
||||
"Shows the content-type and unique ID for pages that represent a single "
|
||||
"object."
|
||||
msgstr "వస్తువు"
|
||||
msgstr ""
|
||||
|
||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:25
|
||||
msgid "Edit this object (current window)"
|
||||
msgstr "వస్తువు"
|
||||
msgstr "వస్తువు ని మార్చండి (ప్రస్తుత విండొ)"
|
||||
|
||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:26
|
||||
msgid "Jumps to the admin page for pages that represent a single object."
|
||||
msgstr "వస్తువు"
|
||||
msgstr ""
|
||||
|
||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:28
|
||||
msgid "Edit this object (new window)"
|
||||
msgstr "వస్తువు"
|
||||
msgstr "వస్తువు ని మార్చండి(కొత్త విండొ) "
|
||||
|
||||
#: contrib/admin/templates/admin_doc/bookmarklets.html:29
|
||||
msgid "As above, but opens the admin page in a new window."
|
||||
@ -1197,7 +1198,7 @@ msgstr "నమొదు చేయటము అవసరం"
|
||||
|
||||
#: contrib/flatpages/models.py:14
|
||||
msgid "If this is checked, only logged-in users will be able to view the page."
|
||||
msgstr "ఇది చెక్ చేసి ఉంటే కేవలం లాగ్గడ్ ఇన్ యూఙర్లు పేఙి చూడలేస్తారు"
|
||||
msgstr "ఇది చెక్ చేసి ఉంటే కేవలం లాగ్గడ్ ఇన్ యూజర్లు పేజి చూడలేస్తారు"
|
||||
|
||||
#: contrib/flatpages/models.py:18
|
||||
msgid "flat page"
|
||||
@ -1237,7 +1238,7 @@ msgstr "గుంపులు"
|
||||
|
||||
#: contrib/auth/models.py:90
|
||||
msgid "username"
|
||||
msgstr "యూఙర్ పేరు"
|
||||
msgstr "యూజర్ పేరు"
|
||||
|
||||
#: contrib/auth/models.py:90
|
||||
msgid ""
|
||||
@ -1309,15 +1310,15 @@ msgstr ""
|
||||
|
||||
#: contrib/auth/models.py:102
|
||||
msgid "user permissions"
|
||||
msgstr "యూఙర్ అనుమతులు"
|
||||
msgstr "యూజర్ అనుమతులు"
|
||||
|
||||
#: contrib/auth/models.py:105
|
||||
msgid "user"
|
||||
msgstr "యూఙర్"
|
||||
msgstr "యూజర్"
|
||||
|
||||
#: contrib/auth/models.py:106
|
||||
msgid "users"
|
||||
msgstr "యూఙర్లు"
|
||||
msgstr "యూజర్లు"
|
||||
|
||||
#: contrib/auth/models.py:111
|
||||
msgid "Personal info"
|
||||
@ -1427,7 +1428,7 @@ msgstr "ఆదివారము"
|
||||
|
||||
#: utils/dates.py:14
|
||||
msgid "January"
|
||||
msgstr "ఙాన్వరి "
|
||||
msgstr "జాన్వరి "
|
||||
|
||||
#: utils/dates.py:14
|
||||
msgid "February"
|
||||
@ -1447,11 +1448,11 @@ msgstr "మే"
|
||||
|
||||
#: utils/dates.py:14 utils/dates.py:27
|
||||
msgid "June"
|
||||
msgstr "ఙూను"
|
||||
msgstr "జూను"
|
||||
|
||||
#: utils/dates.py:15 utils/dates.py:27
|
||||
msgid "July"
|
||||
msgstr "ఙులై"
|
||||
msgstr "జులై"
|
||||
|
||||
#: utils/dates.py:15
|
||||
msgid "August"
|
||||
@ -1475,7 +1476,7 @@ msgstr "డిసెంబర్"
|
||||
|
||||
#: utils/dates.py:19
|
||||
msgid "jan"
|
||||
msgstr "ఙాన్"
|
||||
msgstr "జాన్"
|
||||
|
||||
#: utils/dates.py:19
|
||||
msgid "feb"
|
||||
@ -1495,11 +1496,11 @@ msgstr "మే"
|
||||
|
||||
#: utils/dates.py:19
|
||||
msgid "jun"
|
||||
msgstr "ఙూన్"
|
||||
msgstr "జూన్"
|
||||
|
||||
#: utils/dates.py:20
|
||||
msgid "jul"
|
||||
msgstr "ఙుల్"
|
||||
msgstr "జుల్"
|
||||
|
||||
#: utils/dates.py:20
|
||||
msgid "aug"
|
||||
@ -1523,7 +1524,7 @@ msgstr "డిస్"
|
||||
|
||||
#: utils/dates.py:27
|
||||
msgid "Jan."
|
||||
msgstr "ఙాన్"
|
||||
msgstr "జాన్"
|
||||
|
||||
#: utils/dates.py:27
|
||||
msgid "Feb."
|
||||
@ -1570,8 +1571,8 @@ msgstr[1] "వారాలు"
|
||||
#: utils/timesince.py:15
|
||||
msgid "day"
|
||||
msgid_plural "days"
|
||||
msgstr[0] "రోఙు"
|
||||
msgstr[1] "రోఙులు"
|
||||
msgstr[0] "రోజు"
|
||||
msgstr[1] "రోజులు"
|
||||
|
||||
#: utils/timesince.py:16
|
||||
msgid "hour"
|
||||
@ -1615,7 +1616,7 @@ msgstr "బెంగాలి"
|
||||
|
||||
#: conf/global_settings.py:41
|
||||
msgid "Czech"
|
||||
msgstr "క్ఙెఖ్"
|
||||
msgstr "క్జెఖ్"
|
||||
|
||||
#: conf/global_settings.py:42
|
||||
msgid "Welsh"
|
||||
@ -1627,7 +1628,7 @@ msgstr "డానిశ్"
|
||||
|
||||
#: conf/global_settings.py:44
|
||||
msgid "German"
|
||||
msgstr "ఙెర్మన్"
|
||||
msgstr "జెర్మన్"
|
||||
|
||||
#: conf/global_settings.py:45
|
||||
msgid "Greek"
|
||||
@ -1643,7 +1644,7 @@ msgstr "స్పానిష్"
|
||||
|
||||
#: conf/global_settings.py:48
|
||||
msgid "Argentinean Spanish"
|
||||
msgstr "అర్ఙంటీనా స్పానిష్"
|
||||
msgstr "అర్జంటీనా స్పానిష్"
|
||||
|
||||
#: conf/global_settings.py:49
|
||||
msgid "Finnish"
|
||||
@ -1675,7 +1676,7 @@ msgstr "ఇటాలియవ్"
|
||||
|
||||
#: conf/global_settings.py:56
|
||||
msgid "Japanese"
|
||||
msgstr "ఙపనీస్"
|
||||
msgstr "జపనీస్"
|
||||
|
||||
#: conf/global_settings.py:57
|
||||
msgid "Dutch"
|
||||
@ -1683,11 +1684,11 @@ msgstr "డట్చ్"
|
||||
|
||||
#: conf/global_settings.py:58
|
||||
msgid "Norwegian"
|
||||
msgstr "నార్వీఙియన్"
|
||||
msgstr "నార్వీజియన్"
|
||||
|
||||
#: conf/global_settings.py:59
|
||||
msgid "Brazilian"
|
||||
msgstr "బ్రఙీలియన్"
|
||||
msgstr "బ్రజీలియన్"
|
||||
|
||||
#: conf/global_settings.py:60
|
||||
msgid "Romanian"
|
||||
@ -1794,7 +1795,7 @@ msgstr "సంవత్సరము 1900 లేక దాని తరువా
|
||||
#: core/validators.py:142
|
||||
#, python-format
|
||||
msgid "Invalid date: %s."
|
||||
msgstr "సరికాని తారీఖు"
|
||||
msgstr "సరికాని తారీఖు : %s."
|
||||
|
||||
#: core/validators.py:146 db/models/fields/__init__.py:415
|
||||
msgid "Enter a valid date in YYYY-MM-DD format."
|
||||
@ -1846,8 +1847,10 @@ msgstr "సరైన URL కావాలి"
|
||||
msgid ""
|
||||
"Valid HTML is required. Specific errors are:\n"
|
||||
"%s"
|
||||
msgstr "సరైన HTML ఇవ్వండి .ప్రత్యేకమైన తప్పులు :\n"
|
||||
msgstr ""
|
||||
"సరైన HTML ఇవ్వండి .ప్రత్యేకమైన తప్పులు :\n"
|
||||
"%s"
|
||||
|
||||
#: core/validators.py:220
|
||||
#, python-format
|
||||
msgid "Badly formed XML: %s"
|
||||
@ -1856,7 +1859,7 @@ msgstr ""
|
||||
#: core/validators.py:230
|
||||
#, python-format
|
||||
msgid "Invalid URL: %s"
|
||||
msgstr ""
|
||||
msgstr "సరికాని URL: %s"
|
||||
|
||||
#: core/validators.py:234 core/validators.py:236
|
||||
#, python-format
|
||||
@ -1865,7 +1868,7 @@ msgstr ""
|
||||
|
||||
#: core/validators.py:242
|
||||
msgid "Enter a valid U.S. state abbreviation."
|
||||
msgstr "దయచేసి సరైన అగ్ర రాఙ్య సంక్షేపము చేసిన రాష్ట్రము పేరు ఇవ్వండి"
|
||||
msgstr "దయచేసి సరైన అగ్ర రాజ్య సంక్షేపము చేసిన రాష్ట్రము పేరు ఇవ్వండి"
|
||||
|
||||
#: core/validators.py:256
|
||||
#, python-format
|
||||
@ -2004,27 +2007,27 @@ msgstr ""
|
||||
#: views/generic/create_update.py:43
|
||||
#, python-format
|
||||
msgid "The %(verbose_name)s was created successfully."
|
||||
msgstr "%(verbose_name)లు ఙయప్రదంగా తయారయింది"
|
||||
msgstr "%(verbose_name)s జయప్రదంగా తయారయింది"
|
||||
|
||||
#: views/generic/create_update.py:117
|
||||
#, python-format
|
||||
msgid "The %(verbose_name)s was updated successfully."
|
||||
msgstr "%(verbose_name)లు ఙయప్రదంగా @@"
|
||||
msgstr "%(verbose_name)s జయప్రదంగా @@"
|
||||
|
||||
#: views/generic/create_update.py:184
|
||||
#, python-format
|
||||
msgid "The %(verbose_name)s was deleted."
|
||||
msgstr "%(verbose_name)లు తీసివేయబడినది"
|
||||
msgstr "%(verbose_name)s తీసివేయబడినది"
|
||||
|
||||
#: db/models/manipulators.py:302
|
||||
#, python-format
|
||||
msgid "%(object)s with this %(type)s already exists for the given %(field)s."
|
||||
msgstr "%(field)ల లో %(object)తో %(type) ఉన్నాయి"
|
||||
msgstr "%(field)s లో %(object)s తో %(type)s ఉన్నాయి"
|
||||
|
||||
#: db/models/fields/__init__.py:40
|
||||
#, python-format
|
||||
msgid "%(optname)s with this %(fieldname)s already exists."
|
||||
msgstr "%(optname)లు తో %(fieldname) ముందే ఉన్నాయి ."
|
||||
msgstr "%(optname)s తో %(fieldname)s ముందే ఉన్నాయి ."
|
||||
|
||||
#: db/models/fields/__init__.py:114 db/models/fields/__init__.py:265
|
||||
#: db/models/fields/__init__.py:551 db/models/fields/__init__.py:562
|
||||
@ -2082,7 +2085,7 @@ msgstr "లైన్ బ్రేక్స్ కి ఇక్కడ ఆన
|
||||
#: forms/__init__.py:487 forms/__init__.py:560 forms/__init__.py:599
|
||||
#, python-format
|
||||
msgid "Select a valid choice; '%(data)s' is not in %(choices)s."
|
||||
msgstr "సరైనది ఎంచుకోండి; %(choices) ల లో '%(data)s' లేవు "
|
||||
msgstr "సరైనది ఎంచుకోండి; %(choices)s లో '%(data)s' లేవు "
|
||||
|
||||
#: forms/__init__.py:663
|
||||
msgid "The submitted file is empty."
|
||||
|
Binary file not shown.
@ -1344,7 +1344,7 @@ msgstr "四月"
|
||||
|
||||
#: utils/dates.py:19
|
||||
msgid "may"
|
||||
msgstr "三月"
|
||||
msgstr "五月"
|
||||
|
||||
#: utils/dates.py:19
|
||||
msgid "jun"
|
||||
|
Binary file not shown.
@ -46,7 +46,7 @@ msgstr "清除全部"
|
||||
#: contrib/admin/media/js/dateparse.js:32
|
||||
#: contrib/admin/media/js/calendar.js:24
|
||||
msgid "January February March April May June July August September October November December"
|
||||
msgstr "一月 二月 三月 四月 五月 六月 六月 七月 八月 九月 十月 十一月 十二月"
|
||||
msgstr "一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月"
|
||||
|
||||
#: contrib/admin/media/js/dateparse.js:33
|
||||
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
|
||||
|
@ -38,8 +38,9 @@ USE_I18N = True
|
||||
# Example: "/home/media/media.lawrence.com/"
|
||||
MEDIA_ROOT = ''
|
||||
|
||||
# URL that handles the media served from MEDIA_ROOT.
|
||||
# Example: "http://media.lawrence.com"
|
||||
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
|
||||
# trailing slash if there is a path component (optional in other cases).
|
||||
# Examples: "http://media.lawrence.com", "http://example.com/media/"
|
||||
MEDIA_URL = ''
|
||||
|
||||
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
|
||||
|
@ -1,19 +1,32 @@
|
||||
from django.core.urlresolvers import RegexURLPattern, RegexURLResolver
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
|
||||
__all__ = ['handler404', 'handler500', 'include', 'patterns']
|
||||
__all__ = ['handler404', 'handler500', 'include', 'patterns', 'url']
|
||||
|
||||
handler404 = 'django.views.defaults.page_not_found'
|
||||
handler500 = 'django.views.defaults.server_error'
|
||||
|
||||
include = lambda urlconf_module: [urlconf_module]
|
||||
|
||||
def patterns(prefix, *tuples):
|
||||
def patterns(prefix, *args):
|
||||
pattern_list = []
|
||||
for t in tuples:
|
||||
regex, view_or_include = t[:2]
|
||||
default_kwargs = t[2:]
|
||||
if type(view_or_include) == list:
|
||||
pattern_list.append(RegexURLResolver(regex, view_or_include[0], *default_kwargs))
|
||||
else:
|
||||
pattern_list.append(RegexURLPattern(regex, prefix and (prefix + '.' + view_or_include) or view_or_include, *default_kwargs))
|
||||
for t in args:
|
||||
if isinstance(t, (list, tuple)):
|
||||
t = url(prefix=prefix, *t)
|
||||
elif isinstance(t, RegexURLPattern):
|
||||
t.add_prefix(prefix)
|
||||
pattern_list.append(t)
|
||||
return pattern_list
|
||||
|
||||
def url(regex, view, kwargs=None, name=None, prefix=''):
|
||||
if type(view) == list:
|
||||
# For include(...) processing.
|
||||
return RegexURLResolver(regex, view[0], kwargs)
|
||||
else:
|
||||
if isinstance(view, basestring):
|
||||
if not view:
|
||||
raise ImproperlyConfigured('Empty URL pattern view name not permitted (for pattern %r)' % regex)
|
||||
if prefix:
|
||||
view = prefix + '.' + view
|
||||
return RegexURLPattern(regex, view, kwargs, name)
|
||||
|
||||
|
@ -26,7 +26,7 @@ form .aligned p, form .aligned ul { margin-left:7em; padding-left:30px; }
|
||||
form .aligned table p { margin-left:0; padding-left:0; }
|
||||
form .aligned p.help { padding-left:38px; }
|
||||
.aligned .vCheckboxLabel { float:none !important; display:inline; padding-left:4px; }
|
||||
.colM .aligned .vLargeTextField, colM .aligned .vXMLLargeTextField { width:610px; }
|
||||
.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField { width:610px; }
|
||||
.checkbox-row p.help { margin-left:0; padding-left:0 !important; }
|
||||
|
||||
/* WIDE FIELDSETS */
|
||||
|
@ -72,6 +72,7 @@ def result_headers(cl):
|
||||
for i, field_name in enumerate(lookup_opts.admin.list_display):
|
||||
try:
|
||||
f = lookup_opts.get_field(field_name)
|
||||
admin_order_field = None
|
||||
except models.FieldDoesNotExist:
|
||||
# For non-field list_display values, check for the function
|
||||
# attribute "short_description". If that doesn't exist, fall
|
||||
@ -86,7 +87,8 @@ def result_headers(cl):
|
||||
header = field_name.replace('_', ' ')
|
||||
|
||||
# It is a non-field, but perhaps one that is sortable
|
||||
if not getattr(getattr(cl.model, field_name), "admin_order_field", None):
|
||||
admin_order_field = getattr(getattr(cl.model, field_name), "admin_order_field", None)
|
||||
if not admin_order_field:
|
||||
yield {"text": header}
|
||||
continue
|
||||
|
||||
@ -101,7 +103,7 @@ def result_headers(cl):
|
||||
|
||||
th_classes = []
|
||||
new_order_type = 'asc'
|
||||
if field_name == cl.order_field:
|
||||
if field_name == cl.order_field or admin_order_field == cl.order_field:
|
||||
th_classes.append('sorted %sending' % cl.order_type.lower())
|
||||
new_order_type = {'asc': 'desc', 'desc': 'asc'}[cl.order_type.lower()]
|
||||
|
||||
@ -166,8 +168,8 @@ def items_for_result(cl, result):
|
||||
# Booleans are special: We use images.
|
||||
elif isinstance(f, models.BooleanField) or isinstance(f, models.NullBooleanField):
|
||||
result_repr = _boolean_icon(field_val)
|
||||
# FloatFields are special: Zero-pad the decimals.
|
||||
elif isinstance(f, models.FloatField):
|
||||
# DecimalFields are special: Zero-pad the decimals.
|
||||
elif isinstance(f, models.DecimalField):
|
||||
if field_val is not None:
|
||||
result_repr = ('%%.%sf' % f.decimal_places) % field_val
|
||||
else:
|
||||
|
@ -74,7 +74,7 @@ class FieldWidgetNode(template.Node):
|
||||
self.bound_field_var = bound_field_var
|
||||
|
||||
def get_nodelist(cls, klass):
|
||||
if not cls.nodelists.has_key(klass):
|
||||
if klass not in cls.nodelists:
|
||||
try:
|
||||
field_class_name = klass.__name__
|
||||
template_name = "widget/%s.html" % class_name_to_underscored(field_class_name)
|
||||
@ -94,15 +94,15 @@ class FieldWidgetNode(template.Node):
|
||||
return cls.nodelists[klass]
|
||||
get_nodelist = classmethod(get_nodelist)
|
||||
|
||||
def render(self, context):
|
||||
def iter_render(self, context):
|
||||
bound_field = template.resolve_variable(self.bound_field_var, context)
|
||||
|
||||
context.push()
|
||||
context['bound_field'] = bound_field
|
||||
|
||||
output = self.get_nodelist(bound_field.field.__class__).render(context)
|
||||
for chunk in self.get_nodelist(bound_field.field.__class__).iter_render(context):
|
||||
yield chunk
|
||||
context.pop()
|
||||
return output
|
||||
|
||||
class FieldWrapper(object):
|
||||
def __init__(self, field ):
|
||||
@ -157,7 +157,7 @@ class EditInlineNode(template.Node):
|
||||
def __init__(self, rel_var):
|
||||
self.rel_var = rel_var
|
||||
|
||||
def render(self, context):
|
||||
def iter_render(self, context):
|
||||
relation = template.resolve_variable(self.rel_var, context)
|
||||
context.push()
|
||||
if relation.field.rel.edit_inline == models.TABULAR:
|
||||
@ -169,10 +169,9 @@ class EditInlineNode(template.Node):
|
||||
original = context.get('original', None)
|
||||
bound_related_object = relation.bind(context['form'], original, bound_related_object_class)
|
||||
context['bound_related_object'] = bound_related_object
|
||||
t = loader.get_template(bound_related_object.template_name())
|
||||
output = t.render(context)
|
||||
for chunk in loader.get_template(bound_related_object.template_name()).iter_render(context):
|
||||
yield chunk
|
||||
context.pop()
|
||||
return output
|
||||
|
||||
def output_all(form_fields):
|
||||
return ''.join([str(f) for f in form_fields])
|
||||
|
@ -7,7 +7,7 @@ class AdminApplistNode(template.Node):
|
||||
def __init__(self, varname):
|
||||
self.varname = varname
|
||||
|
||||
def render(self, context):
|
||||
def iter_render(self, context):
|
||||
from django.db import models
|
||||
from django.utils.text import capfirst
|
||||
app_list = []
|
||||
@ -54,7 +54,7 @@ class AdminApplistNode(template.Node):
|
||||
'models': model_list,
|
||||
})
|
||||
context[self.varname] = app_list
|
||||
return ''
|
||||
return ()
|
||||
|
||||
def get_admin_app_list(parser, token):
|
||||
"""
|
||||
|
@ -10,11 +10,14 @@ class AdminLogNode(template.Node):
|
||||
def __repr__(self):
|
||||
return "<GetAdminLog Node>"
|
||||
|
||||
def render(self, context):
|
||||
if self.user is not None and not self.user.isdigit():
|
||||
self.user = context[self.user].id
|
||||
context[self.varname] = LogEntry.objects.filter(user__id__exact=self.user).select_related()[:self.limit]
|
||||
return ''
|
||||
def iter_render(self, context):
|
||||
if self.user is None:
|
||||
context[self.varname] = LogEntry.objects.all().select_related()[:self.limit]
|
||||
else:
|
||||
if not self.user.isdigit():
|
||||
self.user = context[self.user].id
|
||||
context[self.varname] = LogEntry.objects.filter(user__id__exact=self.user).select_related()[:self.limit]
|
||||
return ()
|
||||
|
||||
class DoGetAdminLog:
|
||||
"""
|
||||
|
@ -17,7 +17,7 @@ def user_add_stage(request):
|
||||
if not errors:
|
||||
new_user = manipulator.save(new_data)
|
||||
msg = _('The %(name)s "%(obj)s" was added successfully.') % {'name': 'user', 'obj': new_user}
|
||||
if request.POST.has_key("_addanother"):
|
||||
if "_addanother" in request.POST:
|
||||
request.user.message_set.create(message=msg)
|
||||
return HttpResponseRedirect(request.path)
|
||||
else:
|
||||
@ -29,7 +29,7 @@ def user_add_stage(request):
|
||||
return render_to_response('admin/auth/user/add_form.html', {
|
||||
'title': _('Add user'),
|
||||
'form': form,
|
||||
'is_popup': request.REQUEST.has_key('_popup'),
|
||||
'is_popup': '_popup' in request.REQUEST,
|
||||
'add': True,
|
||||
'change': False,
|
||||
'has_delete_permission': False,
|
||||
@ -63,7 +63,7 @@ def user_change_password(request, id):
|
||||
return render_to_response('admin/auth/user/change_password.html', {
|
||||
'title': _('Change password: %s') % escape(user.username),
|
||||
'form': form,
|
||||
'is_popup': request.REQUEST.has_key('_popup'),
|
||||
'is_popup': '_popup' in request.REQUEST,
|
||||
'add': True,
|
||||
'change': False,
|
||||
'has_delete_permission': False,
|
||||
|
@ -12,7 +12,7 @@ LOGIN_FORM_KEY = 'this_is_the_login_form'
|
||||
|
||||
def _display_login_form(request, error_message=''):
|
||||
request.session.set_test_cookie()
|
||||
if request.POST and request.POST.has_key('post_data'):
|
||||
if request.POST and 'post_data' in request.POST:
|
||||
# User has failed login BUT has previously saved post data.
|
||||
post_data = request.POST['post_data']
|
||||
elif request.POST:
|
||||
@ -48,7 +48,7 @@ def staff_member_required(view_func):
|
||||
def _checklogin(request, *args, **kwargs):
|
||||
if request.user.is_authenticated() and request.user.is_staff:
|
||||
# The user is valid. Continue to the admin page.
|
||||
if request.POST.has_key('post_data'):
|
||||
if 'post_data' in request.POST:
|
||||
# User must have re-authenticated through a different window
|
||||
# or tab.
|
||||
request.POST = _decode_post_data(request.POST['post_data'])
|
||||
@ -57,7 +57,7 @@ def staff_member_required(view_func):
|
||||
assert hasattr(request, 'session'), "The Django admin requires session middleware to be installed. Edit your MIDDLEWARE_CLASSES setting to insert 'django.contrib.sessions.middleware.SessionMiddleware'."
|
||||
|
||||
# If this isn't already the login page, display it.
|
||||
if not request.POST.has_key(LOGIN_FORM_KEY):
|
||||
if LOGIN_FORM_KEY not in request.POST:
|
||||
if request.POST:
|
||||
message = _("Please log in again, because your session has expired. Don't worry: Your submission has been saved.")
|
||||
else:
|
||||
@ -90,11 +90,9 @@ def staff_member_required(view_func):
|
||||
if user.is_active and user.is_staff:
|
||||
login(request, user)
|
||||
# TODO: set last_login with an event.
|
||||
user.last_login = datetime.datetime.now()
|
||||
user.save()
|
||||
if request.POST.has_key('post_data'):
|
||||
if 'post_data' in request.POST:
|
||||
post_data = _decode_post_data(request.POST['post_data'])
|
||||
if post_data and not post_data.has_key(LOGIN_FORM_KEY):
|
||||
if post_data and LOGIN_FORM_KEY not in post_data:
|
||||
# overwrite request.POST with the saved post_data, and continue
|
||||
request.POST = post_data
|
||||
request.user = user
|
||||
|
@ -294,10 +294,11 @@ DATA_TYPE_MAPPING = {
|
||||
'CommaSeparatedIntegerField': _('Comma-separated integers'),
|
||||
'DateField' : _('Date (without time)'),
|
||||
'DateTimeField' : _('Date (with time)'),
|
||||
'DecimalField' : _('Decimal number'),
|
||||
'EmailField' : _('E-mail address'),
|
||||
'FileField' : _('File path'),
|
||||
'FilePathField' : _('File path'),
|
||||
'FloatField' : _('Decimal number'),
|
||||
'FloatField' : _('Floating point number'),
|
||||
'ForeignKey' : _('Integer'),
|
||||
'ImageField' : _('File path'),
|
||||
'IntegerField' : _('Integer'),
|
||||
|
@ -257,17 +257,17 @@ def add_stage(request, app_label, model_name, show_delete=False, form_url='', po
|
||||
msg = _('The %(name)s "%(obj)s" was added successfully.') % {'name': opts.verbose_name, 'obj': new_object}
|
||||
# Here, we distinguish between different save types by checking for
|
||||
# the presence of keys in request.POST.
|
||||
if request.POST.has_key("_continue"):
|
||||
if "_continue" in request.POST:
|
||||
request.user.message_set.create(message=msg + ' ' + _("You may edit it again below."))
|
||||
if request.POST.has_key("_popup"):
|
||||
if "_popup" in request.POST:
|
||||
post_url_continue += "?_popup=1"
|
||||
return HttpResponseRedirect(post_url_continue % pk_value)
|
||||
if request.POST.has_key("_popup"):
|
||||
if "_popup" in request.POST:
|
||||
if type(pk_value) is str: # Quote if string, so JavaScript doesn't think it's a variable.
|
||||
pk_value = '"%s"' % pk_value.replace('"', '\\"')
|
||||
return HttpResponse('<script type="text/javascript">opener.dismissAddAnotherPopup(window, %s, "%s");</script>' % \
|
||||
(pk_value, str(new_object).replace('"', '\\"')))
|
||||
elif request.POST.has_key("_addanother"):
|
||||
elif "_addanother" in request.POST:
|
||||
request.user.message_set.create(message=msg + ' ' + (_("You may add another %s below.") % opts.verbose_name))
|
||||
return HttpResponseRedirect(request.path)
|
||||
else:
|
||||
@ -288,7 +288,7 @@ def add_stage(request, app_label, model_name, show_delete=False, form_url='', po
|
||||
c = template.RequestContext(request, {
|
||||
'title': _('Add %s') % opts.verbose_name,
|
||||
'form': form,
|
||||
'is_popup': request.REQUEST.has_key('_popup'),
|
||||
'is_popup': '_popup' in request.REQUEST,
|
||||
'show_delete': show_delete,
|
||||
})
|
||||
|
||||
@ -308,7 +308,7 @@ def change_stage(request, app_label, model_name, object_id):
|
||||
if not request.user.has_perm(app_label + '.' + opts.get_change_permission()):
|
||||
raise PermissionDenied
|
||||
|
||||
if request.POST and request.POST.has_key("_saveasnew"):
|
||||
if request.POST and "_saveasnew" in request.POST:
|
||||
return add_stage(request, app_label, model_name, form_url='../../add/')
|
||||
|
||||
try:
|
||||
@ -343,16 +343,16 @@ def change_stage(request, app_label, model_name, object_id):
|
||||
LogEntry.objects.log_action(request.user.id, ContentType.objects.get_for_model(model).id, pk_value, str(new_object), CHANGE, change_message)
|
||||
|
||||
msg = _('The %(name)s "%(obj)s" was changed successfully.') % {'name': opts.verbose_name, 'obj': new_object}
|
||||
if request.POST.has_key("_continue"):
|
||||
if "_continue" in request.POST:
|
||||
request.user.message_set.create(message=msg + ' ' + _("You may edit it again below."))
|
||||
if request.REQUEST.has_key('_popup'):
|
||||
if '_popup' in request.REQUEST:
|
||||
return HttpResponseRedirect(request.path + "?_popup=1")
|
||||
else:
|
||||
return HttpResponseRedirect(request.path)
|
||||
elif request.POST.has_key("_saveasnew"):
|
||||
elif "_saveasnew" in request.POST:
|
||||
request.user.message_set.create(message=_('The %(name)s "%(obj)s" was added successfully. You may edit it again below.') % {'name': opts.verbose_name, 'obj': new_object})
|
||||
return HttpResponseRedirect("../%s/" % pk_value)
|
||||
elif request.POST.has_key("_addanother"):
|
||||
elif "_addanother" in request.POST:
|
||||
request.user.message_set.create(message=msg + ' ' + (_("You may add another %s below.") % opts.verbose_name))
|
||||
return HttpResponseRedirect("../add/")
|
||||
else:
|
||||
@ -392,7 +392,7 @@ def change_stage(request, app_label, model_name, object_id):
|
||||
'form': form,
|
||||
'object_id': object_id,
|
||||
'original': manipulator.original_object,
|
||||
'is_popup': request.REQUEST.has_key('_popup'),
|
||||
'is_popup': '_popup' in request.REQUEST,
|
||||
})
|
||||
return render_change_form(model, manipulator, c, change=True)
|
||||
change_stage = staff_member_required(never_cache(change_stage))
|
||||
@ -558,12 +558,12 @@ class ChangeList(object):
|
||||
self.page_num = int(request.GET.get(PAGE_VAR, 0))
|
||||
except ValueError:
|
||||
self.page_num = 0
|
||||
self.show_all = request.GET.has_key(ALL_VAR)
|
||||
self.is_popup = request.GET.has_key(IS_POPUP_VAR)
|
||||
self.show_all = ALL_VAR in request.GET
|
||||
self.is_popup = IS_POPUP_VAR in request.GET
|
||||
self.params = dict(request.GET.items())
|
||||
if self.params.has_key(PAGE_VAR):
|
||||
if PAGE_VAR in self.params:
|
||||
del self.params[PAGE_VAR]
|
||||
if self.params.has_key(ERROR_FLAG):
|
||||
if ERROR_FLAG in self.params:
|
||||
del self.params[ERROR_FLAG]
|
||||
|
||||
self.order_field, self.order_type = self.get_ordering()
|
||||
@ -594,7 +594,7 @@ class ChangeList(object):
|
||||
if k.startswith(r):
|
||||
del p[k]
|
||||
for k, v in new_params.items():
|
||||
if p.has_key(k) and v is None:
|
||||
if k in p and v is None:
|
||||
del p[k]
|
||||
elif v is not None:
|
||||
p[k] = v
|
||||
@ -656,7 +656,7 @@ class ChangeList(object):
|
||||
order_field, order_type = ordering[0][1:], 'desc'
|
||||
else:
|
||||
order_field, order_type = ordering[0], 'asc'
|
||||
if params.has_key(ORDER_VAR):
|
||||
if ORDER_VAR in params:
|
||||
try:
|
||||
field_name = lookup_opts.admin.list_display[int(params[ORDER_VAR])]
|
||||
try:
|
||||
@ -674,7 +674,7 @@ class ChangeList(object):
|
||||
order_field = f.name
|
||||
except (IndexError, ValueError):
|
||||
pass # Invalid ordering specified. Just use the default.
|
||||
if params.has_key(ORDER_TYPE_VAR) and params[ORDER_TYPE_VAR] in ('asc', 'desc'):
|
||||
if ORDER_TYPE_VAR in params and params[ORDER_TYPE_VAR] in ('asc', 'desc'):
|
||||
order_type = params[ORDER_TYPE_VAR]
|
||||
return order_field, order_type
|
||||
|
||||
@ -682,7 +682,7 @@ class ChangeList(object):
|
||||
qs = self.manager.get_query_set()
|
||||
lookup_params = self.params.copy() # a dictionary of the query string
|
||||
for i in (ALL_VAR, ORDER_VAR, ORDER_TYPE_VAR, SEARCH_VAR, IS_POPUP_VAR):
|
||||
if lookup_params.has_key(i):
|
||||
if i in lookup_params:
|
||||
del lookup_params[i]
|
||||
|
||||
# Apply lookup parameters from the query string.
|
||||
|
@ -1,8 +1,8 @@
|
||||
import datetime
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
|
||||
SESSION_KEY = '_auth_user_id'
|
||||
BACKEND_SESSION_KEY = '_auth_user_backend'
|
||||
LOGIN_URL = '/accounts/login/'
|
||||
REDIRECT_FIELD_NAME = 'next'
|
||||
|
||||
def load_backend(path):
|
||||
@ -49,8 +49,12 @@ def login(request, user):
|
||||
if user is None:
|
||||
user = request.user
|
||||
# TODO: It would be nice to support different login methods, like signed cookies.
|
||||
user.last_login = datetime.datetime.now()
|
||||
user.save()
|
||||
request.session[SESSION_KEY] = user.id
|
||||
request.session[BACKEND_SESSION_KEY] = user.backend
|
||||
if hasattr(request, 'user'):
|
||||
request.user = user
|
||||
|
||||
def logout(request):
|
||||
"""
|
||||
@ -64,6 +68,9 @@ def logout(request):
|
||||
del request.session[BACKEND_SESSION_KEY]
|
||||
except KeyError:
|
||||
pass
|
||||
if hasattr(request, 'user'):
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
request.user = AnonymousUser()
|
||||
|
||||
def get_user(request):
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
|
@ -1,13 +1,16 @@
|
||||
from django.contrib.auth import LOGIN_URL, REDIRECT_FIELD_NAME
|
||||
from django.contrib.auth import REDIRECT_FIELD_NAME
|
||||
from django.http import HttpResponseRedirect
|
||||
from urllib import quote
|
||||
|
||||
def user_passes_test(test_func, login_url=LOGIN_URL):
|
||||
def user_passes_test(test_func, login_url=None):
|
||||
"""
|
||||
Decorator for views that checks that the user passes the given test,
|
||||
redirecting to the log-in page if necessary. The test should be a callable
|
||||
that takes the user object and returns True if the user passes.
|
||||
"""
|
||||
if not login_url:
|
||||
from django.conf import settings
|
||||
login_url = settings.LOGIN_URL
|
||||
def _dec(view_func):
|
||||
def _checklogin(request, *args, **kwargs):
|
||||
if test_func(request.user):
|
||||
@ -27,7 +30,7 @@ login_required.__doc__ = (
|
||||
"""
|
||||
)
|
||||
|
||||
def permission_required(perm, login_url=LOGIN_URL):
|
||||
def permission_required(perm, login_url=None):
|
||||
"""
|
||||
Decorator for views that checks whether a user has a particular permission
|
||||
enabled, redirecting to the log-in page if necessary.
|
||||
|
@ -17,6 +17,12 @@ def check_password(raw_password, enc_password):
|
||||
elif algo == 'sha1':
|
||||
import sha
|
||||
return hsh == sha.new(salt+raw_password).hexdigest()
|
||||
elif algo == 'crypt':
|
||||
try:
|
||||
import crypt
|
||||
except ImportError:
|
||||
raise ValueError, "Crypt password algorithm not supported in this environment."
|
||||
return hsh == crypt.crypt(raw_password, salt)
|
||||
raise ValueError, "Got unknown password algorithm type in password."
|
||||
|
||||
class SiteProfileNotAvailable(Exception):
|
||||
@ -38,6 +44,7 @@ class Permission(models.Model):
|
||||
name = models.CharField(_('name'), maxlength=50)
|
||||
content_type = models.ForeignKey(ContentType)
|
||||
codename = models.CharField(_('codename'), maxlength=100)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('permission')
|
||||
verbose_name_plural = _('permissions')
|
||||
@ -45,7 +52,7 @@ class Permission(models.Model):
|
||||
ordering = ('content_type', 'codename')
|
||||
|
||||
def __str__(self):
|
||||
return "%s | %s" % (self.content_type, self.name)
|
||||
return "%s | %s | %s" % (self.content_type.app_label, self.content_type, self.name)
|
||||
|
||||
class Group(models.Model):
|
||||
"""Groups are a generic way of categorizing users to apply permissions, or some other label, to those users. A user can belong to any number of groups.
|
||||
@ -56,10 +63,12 @@ class Group(models.Model):
|
||||
"""
|
||||
name = models.CharField(_('name'), maxlength=80, unique=True)
|
||||
permissions = models.ManyToManyField(Permission, verbose_name=_('permissions'), blank=True, filter_interface=models.HORIZONTAL)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('group')
|
||||
verbose_name_plural = _('groups')
|
||||
ordering = ('name',)
|
||||
|
||||
class Admin:
|
||||
search_fields = ('name',)
|
||||
|
||||
@ -95,16 +104,18 @@ class User(models.Model):
|
||||
is_staff = models.BooleanField(_('staff status'), default=False, help_text=_("Designates whether the user can log into this admin site."))
|
||||
is_active = models.BooleanField(_('active'), default=True, help_text=_("Designates whether this user can log into the Django admin. Unselect this instead of deleting accounts."))
|
||||
is_superuser = models.BooleanField(_('superuser status'), default=False, help_text=_("Designates that this user has all permissions without explicitly assigning them."))
|
||||
last_login = models.DateTimeField(_('last login'), default=models.LazyDate())
|
||||
date_joined = models.DateTimeField(_('date joined'), default=models.LazyDate())
|
||||
last_login = models.DateTimeField(_('last login'), default=datetime.datetime.now)
|
||||
date_joined = models.DateTimeField(_('date joined'), default=datetime.datetime.now)
|
||||
groups = models.ManyToManyField(Group, verbose_name=_('groups'), blank=True,
|
||||
help_text=_("In addition to the permissions manually assigned, this user will also get all permissions granted to each group he/she is in."))
|
||||
user_permissions = models.ManyToManyField(Permission, verbose_name=_('user permissions'), blank=True, filter_interface=models.HORIZONTAL)
|
||||
objects = UserManager()
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('user')
|
||||
verbose_name_plural = _('users')
|
||||
ordering = ('username',)
|
||||
|
||||
class Admin:
|
||||
fields = (
|
||||
(None, {'fields': ('username', 'password')}),
|
||||
@ -268,7 +279,7 @@ class AnonymousUser(object):
|
||||
pass
|
||||
|
||||
def __str__(self):
|
||||
return 'AnonymousUser'
|
||||
return _('AnonymousUser')
|
||||
|
||||
def __eq__(self, other):
|
||||
return isinstance(other, self.__class__)
|
||||
|
@ -6,7 +6,7 @@ from django.template import RequestContext
|
||||
from django.contrib.sites.models import Site
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth import LOGIN_URL, REDIRECT_FIELD_NAME
|
||||
from django.contrib.auth import REDIRECT_FIELD_NAME
|
||||
|
||||
def login(request, template_name='registration/login.html'):
|
||||
"Displays the login form and handles the login action."
|
||||
@ -17,7 +17,8 @@ def login(request, template_name='registration/login.html'):
|
||||
if not errors:
|
||||
# Light security check -- make sure redirect_to isn't garbage.
|
||||
if not redirect_to or '://' in redirect_to or ' ' in redirect_to:
|
||||
redirect_to = '/accounts/profile/'
|
||||
from django.conf import settings
|
||||
redirect_to = settings.LOGIN_REDIRECT_URL
|
||||
from django.contrib.auth import login
|
||||
login(request, manipulator.get_user())
|
||||
request.session.delete_test_cookie()
|
||||
@ -41,12 +42,18 @@ def logout(request, next_page=None, template_name='registration/logged_out.html'
|
||||
# Redirect to this page until the session has been cleared.
|
||||
return HttpResponseRedirect(next_page or request.path)
|
||||
|
||||
def logout_then_login(request, login_url=LOGIN_URL):
|
||||
def logout_then_login(request, login_url=None):
|
||||
"Logs out the user if he is logged in. Then redirects to the log-in page."
|
||||
if not login_url:
|
||||
from django.conf import settings
|
||||
login_url = settings.LOGIN_URL
|
||||
return logout(request, login_url)
|
||||
|
||||
def redirect_to_login(next, login_url=LOGIN_URL):
|
||||
def redirect_to_login(next, login_url=None):
|
||||
"Redirects the user to the login page, passing the given 'next' page"
|
||||
if not login_url:
|
||||
from django.conf import settings
|
||||
login_url = settings.LOGIN_URL
|
||||
return HttpResponseRedirect('%s?%s=%s' % (login_url, REDIRECT_FIELD_NAME, next))
|
||||
|
||||
def password_reset(request, is_admin_site=False, template_name='registration/password_reset_form.html',
|
||||
|
@ -23,16 +23,19 @@ class LatestFreeCommentsFeed(Feed):
|
||||
self._site = Site.objects.get_current()
|
||||
return "Latest comments on %s" % self._site.name
|
||||
|
||||
def get_query_set(self):
|
||||
return self.comments_class.objects.filter(site__pk=settings.SITE_ID, is_public=True)
|
||||
|
||||
def items(self):
|
||||
return self.comments_class.objects.filter(site__pk=settings.SITE_ID, is_public=True)[:40]
|
||||
return self.get_query_set()[:40]
|
||||
|
||||
class LatestCommentsFeed(LatestFreeCommentsFeed):
|
||||
"""Feed of latest free comments on the current site"""
|
||||
|
||||
comments_class = Comment
|
||||
|
||||
def items(self):
|
||||
qs = LatestFreeCommentsFeed.items(self)
|
||||
def get_query_set(self):
|
||||
qs = super(LatestCommentsFeed, self).get_query_set()
|
||||
qs = qs.filter(is_removed=False)
|
||||
if settings.COMMENTS_BANNED_USERS_GROUP:
|
||||
where = ['user_id NOT IN (SELECT user_id FROM auth_users_group WHERE group_id = %s)']
|
||||
|
@ -209,7 +209,7 @@ class FreeComment(models.Model):
|
||||
class KarmaScoreManager(models.Manager):
|
||||
def vote(self, user_id, comment_id, score):
|
||||
try:
|
||||
karma = self.objects.get(comment__pk=comment_id, user__pk=user_id)
|
||||
karma = self.get(comment__pk=comment_id, user__pk=user_id)
|
||||
except self.model.DoesNotExist:
|
||||
karma = self.model(None, user_id=user_id, comment_id=comment_id, score=score, scored_date=datetime.datetime.now())
|
||||
karma.save()
|
||||
|
@ -3,7 +3,7 @@
|
||||
<form {% if photos_optional or photos_required %}enctype="multipart/form-data" {% endif %}action="/comments/post/" method="post">
|
||||
|
||||
{% if user.is_authenticated %}
|
||||
<p>{% trans "Username:" %} <strong>{{ user.username }}</strong> (<a href="/accounts/logout/">{% trans "Log out" %}</a>)</p>
|
||||
<p>{% trans "Username:" %} <strong>{{ user.username }}</strong> (<a href="{{ logout_url }}">{% trans "Log out" %}</a>)</p>
|
||||
{% else %}
|
||||
<p><label for="id_username">{% trans "Username:" %}</label> <input type="text" name="username" id="id_username" /><br />{% trans "Password:" %} <input type="password" name="password" id="id_password" /> (<a href="/accounts/password_reset/">{% trans "Forgotten your password?" %}</a>)</p>
|
||||
{% endif %}
|
||||
|
@ -24,7 +24,8 @@ class CommentFormNode(template.Node):
|
||||
self.photo_options, self.rating_options = photo_options, rating_options
|
||||
self.is_public = is_public
|
||||
|
||||
def render(self, context):
|
||||
def iter_render(self, context):
|
||||
from django.conf import settings
|
||||
from django.utils.text import normalize_newlines
|
||||
import base64
|
||||
context.push()
|
||||
@ -32,7 +33,7 @@ class CommentFormNode(template.Node):
|
||||
try:
|
||||
self.obj_id = template.resolve_variable(self.obj_id_lookup_var, context)
|
||||
except template.VariableDoesNotExist:
|
||||
return ''
|
||||
return
|
||||
# Validate that this object ID is valid for this content-type.
|
||||
# We only have to do this validation if obj_id_lookup_var is provided,
|
||||
# because do_comment_form() validates hard-coded object IDs.
|
||||
@ -64,10 +65,11 @@ class CommentFormNode(template.Node):
|
||||
if self.rating_options:
|
||||
context['rating_range'], context['rating_choices'] = Comment.objects.get_rating_options(self.rating_options)
|
||||
context['hash'] = Comment.objects.get_security_hash(context['options'], context['photo_options'], context['rating_options'], context['target'])
|
||||
context['logout_url'] = settings.LOGOUT_URL
|
||||
default_form = loader.get_template(COMMENT_FORM)
|
||||
output = default_form.render(context)
|
||||
for chunk in default_form.iter_render(context):
|
||||
yield chunk
|
||||
context.pop()
|
||||
return output
|
||||
|
||||
class CommentCountNode(template.Node):
|
||||
def __init__(self, package, module, context_var_name, obj_id, var_name, free):
|
||||
@ -75,7 +77,7 @@ class CommentCountNode(template.Node):
|
||||
self.context_var_name, self.obj_id = context_var_name, obj_id
|
||||
self.var_name, self.free = var_name, free
|
||||
|
||||
def render(self, context):
|
||||
def iter_render(self, context):
|
||||
from django.conf import settings
|
||||
manager = self.free and FreeComment.objects or Comment.objects
|
||||
if self.context_var_name is not None:
|
||||
@ -84,7 +86,7 @@ class CommentCountNode(template.Node):
|
||||
content_type__app_label__exact=self.package,
|
||||
content_type__model__exact=self.module, site__id__exact=settings.SITE_ID).count()
|
||||
context[self.var_name] = comment_count
|
||||
return ''
|
||||
return ()
|
||||
|
||||
class CommentListNode(template.Node):
|
||||
def __init__(self, package, module, context_var_name, obj_id, var_name, free, ordering, extra_kwargs=None):
|
||||
@ -94,14 +96,14 @@ class CommentListNode(template.Node):
|
||||
self.ordering = ordering
|
||||
self.extra_kwargs = extra_kwargs or {}
|
||||
|
||||
def render(self, context):
|
||||
def iter_render(self, context):
|
||||
from django.conf import settings
|
||||
get_list_function = self.free and FreeComment.objects.filter or Comment.objects.get_list_with_karma
|
||||
if self.context_var_name is not None:
|
||||
try:
|
||||
self.obj_id = template.resolve_variable(self.context_var_name, context)
|
||||
except template.VariableDoesNotExist:
|
||||
return ''
|
||||
return ()
|
||||
kwargs = {
|
||||
'object_id__exact': self.obj_id,
|
||||
'content_type__app_label__exact': self.package,
|
||||
@ -114,7 +116,7 @@ class CommentListNode(template.Node):
|
||||
comment_list = get_list_function(**kwargs).order_by(self.ordering + 'submit_date').select_related()
|
||||
|
||||
if not self.free:
|
||||
if context.has_key('user') and context['user'].is_authenticated():
|
||||
if 'user' in context and context['user'].is_authenticated():
|
||||
user_id = context['user'].id
|
||||
context['user_can_moderate_comments'] = Comment.objects.user_is_moderator(context['user'])
|
||||
else:
|
||||
@ -125,7 +127,7 @@ class CommentListNode(template.Node):
|
||||
comment_list = [c for c in comment_list if not c.is_hidden or (user_id == c.user_id)]
|
||||
|
||||
context[self.var_name] = comment_list
|
||||
return ''
|
||||
return ()
|
||||
|
||||
class DoCommentForm:
|
||||
"""
|
||||
|
@ -217,10 +217,10 @@ def post_comment(request):
|
||||
errors = manipulator.get_validation_errors(new_data)
|
||||
# If user gave correct username/password and wasn't already logged in, log them in
|
||||
# so they don't have to enter a username/password again.
|
||||
if manipulator.get_user() and not manipulator.get_user().is_authenticated() and new_data.has_key('password') and manipulator.get_user().check_password(new_data['password']):
|
||||
if manipulator.get_user() and not manipulator.get_user().is_authenticated() and 'password' in new_data and manipulator.get_user().check_password(new_data['password']):
|
||||
from django.contrib.auth import login
|
||||
login(request, manipulator.get_user())
|
||||
if errors or request.POST.has_key('preview'):
|
||||
if errors or 'preview' in request.POST:
|
||||
class CommentFormWrapper(oldforms.FormWrapper):
|
||||
def __init__(self, manipulator, new_data, errors, rating_choices):
|
||||
oldforms.FormWrapper.__init__(self, manipulator, new_data, errors)
|
||||
@ -244,7 +244,7 @@ def post_comment(request):
|
||||
'rating_range': rating_range,
|
||||
'rating_choices': rating_choices,
|
||||
}, context_instance=RequestContext(request))
|
||||
elif request.POST.has_key('post'):
|
||||
elif 'post' in request.POST:
|
||||
# If the IP is banned, mail the admins, do NOT save the comment, and
|
||||
# serve up the "Thanks for posting" page as if the comment WAS posted.
|
||||
if request.META['REMOTE_ADDR'] in settings.BANNED_IPS:
|
||||
@ -298,7 +298,7 @@ def post_free_comment(request):
|
||||
new_data['is_public'] = IS_PUBLIC in option_list
|
||||
manipulator = PublicFreeCommentManipulator()
|
||||
errors = manipulator.get_validation_errors(new_data)
|
||||
if errors or request.POST.has_key('preview'):
|
||||
if errors or 'preview' in request.POST:
|
||||
comment = errors and '' or manipulator.get_comment(new_data)
|
||||
return render_to_response('comments/free_preview.html', {
|
||||
'comment': comment,
|
||||
@ -307,7 +307,7 @@ def post_free_comment(request):
|
||||
'target': target,
|
||||
'hash': security_hash,
|
||||
}, context_instance=RequestContext(request))
|
||||
elif request.POST.has_key('post'):
|
||||
elif 'post' in request.POST:
|
||||
# If the IP is banned, mail the admins, do NOT save the comment, and
|
||||
# serve up the "Thanks for posting" page as if the comment WAS posted.
|
||||
if request.META['REMOTE_ADDR'] in settings.BANNED_IPS:
|
||||
@ -330,7 +330,7 @@ def comment_was_posted(request):
|
||||
The object the comment was posted on
|
||||
"""
|
||||
obj = None
|
||||
if request.GET.has_key('c'):
|
||||
if 'c' in request.GET:
|
||||
content_type_id, object_id = request.GET['c'].split(':')
|
||||
try:
|
||||
content_type = ContentType.objects.get(pk=content_type_id)
|
||||
|
@ -37,7 +37,7 @@ class GenericForeignKey(object):
|
||||
def instance_pre_init(self, signal, sender, args, kwargs):
|
||||
# Handle initalizing an object with the generic FK instaed of
|
||||
# content-type/object-id fields.
|
||||
if kwargs.has_key(self.name):
|
||||
if self.name in kwargs:
|
||||
value = kwargs.pop(self.name)
|
||||
kwargs[self.ct_field] = self.get_content_type(value)
|
||||
kwargs[self.fk_field] = value._get_pk_val()
|
1
django/contrib/databrowse/__init__.py
Normal file
1
django/contrib/databrowse/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from django.contrib.databrowse.sites import DatabrowsePlugin, ModelDatabrowse, DatabrowseSite, site
|
192
django/contrib/databrowse/datastructures.py
Normal file
192
django/contrib/databrowse/datastructures.py
Normal file
@ -0,0 +1,192 @@
|
||||
"""
|
||||
These classes are light wrappers around Django's database API that provide
|
||||
convenience functionality and permalink functions for the databrowse app.
|
||||
"""
|
||||
|
||||
from django.db import models
|
||||
from django.utils import dateformat
|
||||
from django.utils.text import capfirst
|
||||
from django.utils.translation import get_date_formats
|
||||
|
||||
EMPTY_VALUE = '(None)'
|
||||
|
||||
class EasyModel(object):
|
||||
def __init__(self, site, model):
|
||||
self.site = site
|
||||
self.model = model
|
||||
self.model_list = site.registry.keys()
|
||||
self.verbose_name = model._meta.verbose_name
|
||||
self.verbose_name_plural = model._meta.verbose_name_plural
|
||||
|
||||
def __repr__(self):
|
||||
return '<EasyModel for %s>' % self.model._meta.object_name
|
||||
|
||||
def model_databrowse(self):
|
||||
"Returns the ModelDatabrowse class for this model."
|
||||
return self.site.registry[self.model]
|
||||
|
||||
def url(self):
|
||||
return '%s%s/%s/' % (self.site.root_url, self.model._meta.app_label, self.model._meta.module_name)
|
||||
|
||||
def objects(self, **kwargs):
|
||||
for obj in self.model._default_manager.filter(**kwargs):
|
||||
yield EasyInstance(self, obj)
|
||||
|
||||
def object_by_pk(self, pk):
|
||||
return EasyInstance(self, self.model._default_manager.get(pk=pk))
|
||||
|
||||
def sample_objects(self):
|
||||
for obj in self.model._default_manager.all()[:3]:
|
||||
yield EasyInstance(self, obj)
|
||||
|
||||
def field(self, name):
|
||||
try:
|
||||
f = self.model._meta.get_field(name)
|
||||
except models.FieldDoesNotExist:
|
||||
return None
|
||||
return EasyField(self, f)
|
||||
|
||||
def fields(self):
|
||||
return [EasyField(self, f) for f in (self.model._meta.fields + self.model._meta.many_to_many)]
|
||||
|
||||
class EasyField(object):
|
||||
def __init__(self, easy_model, field):
|
||||
self.model, self.field = easy_model, field
|
||||
|
||||
def __repr__(self):
|
||||
return '<EasyField for %s.%s>' % (self.model.model._meta.object_name, self.field.name)
|
||||
|
||||
def choices(self):
|
||||
for value, label in self.field.choices:
|
||||
yield EasyChoice(self.model, self, value, label)
|
||||
|
||||
def url(self):
|
||||
if self.field.choices:
|
||||
return '%s%s/%s/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name, self.field.name)
|
||||
elif self.field.rel:
|
||||
return '%s%s/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name)
|
||||
|
||||
class EasyChoice(object):
|
||||
def __init__(self, easy_model, field, value, label):
|
||||
self.model, self.field = easy_model, field
|
||||
self.value, self.label = value, label
|
||||
|
||||
def __repr__(self):
|
||||
return '<EasyChoice for %s.%s>' % (self.model.model._meta.object_name, self.field.name)
|
||||
|
||||
def url(self):
|
||||
return '%s%s/%s/%s/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name, self.field.field.name, self.value)
|
||||
|
||||
class EasyInstance(object):
|
||||
def __init__(self, easy_model, instance):
|
||||
self.model, self.instance = easy_model, instance
|
||||
|
||||
def __repr__(self):
|
||||
return '<EasyInstance for %s (%s)>' % (self.model.model._meta.object_name, self.instance._get_pk_val())
|
||||
|
||||
def __str__(self):
|
||||
val = str(self.instance)
|
||||
if len(val) > 30:
|
||||
return val[:30] + '...'
|
||||
return val
|
||||
|
||||
def pk(self):
|
||||
return self.instance._get_pk_val()
|
||||
|
||||
def url(self):
|
||||
return '%s%s/%s/objects/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name, self.pk())
|
||||
|
||||
def fields(self):
|
||||
"""
|
||||
Generator that yields EasyInstanceFields for each field in this
|
||||
EasyInstance's model.
|
||||
"""
|
||||
for f in self.model.model._meta.fields + self.model.model._meta.many_to_many:
|
||||
yield EasyInstanceField(self.model, self, f)
|
||||
|
||||
def related_objects(self):
|
||||
"""
|
||||
Generator that yields dictionaries of all models that have this
|
||||
EasyInstance's model as a ForeignKey or ManyToManyField, along with
|
||||
lists of related objects.
|
||||
"""
|
||||
for rel_object in self.model.model._meta.get_all_related_objects() + self.model.model._meta.get_all_related_many_to_many_objects():
|
||||
if rel_object.model not in self.model.model_list:
|
||||
continue # Skip models that aren't in the model_list
|
||||
em = EasyModel(self.model.site, rel_object.model)
|
||||
yield {
|
||||
'model': em,
|
||||
'related_field': rel_object.field.verbose_name,
|
||||
'object_list': [EasyInstance(em, i) for i in getattr(self.instance, rel_object.get_accessor_name()).all()],
|
||||
}
|
||||
|
||||
class EasyInstanceField(object):
|
||||
def __init__(self, easy_model, instance, field):
|
||||
self.model, self.field, self.instance = easy_model, field, instance
|
||||
self.raw_value = getattr(instance.instance, field.name)
|
||||
|
||||
def __repr__(self):
|
||||
return '<EasyInstanceField for %s.%s>' % (self.model.model._meta.object_name, self.field.name)
|
||||
|
||||
def values(self):
|
||||
"""
|
||||
Returns a list of values for this field for this instance. It's a list
|
||||
so we can accomodate many-to-many fields.
|
||||
"""
|
||||
# This import is deliberately inside the function because it causes
|
||||
# some settings to be imported, and we don't want to do that at the
|
||||
# module level.
|
||||
if self.field.rel:
|
||||
if isinstance(self.field.rel, models.ManyToOneRel):
|
||||
objs = getattr(self.instance.instance, self.field.name)
|
||||
elif isinstance(self.field.rel, models.ManyToManyRel): # ManyToManyRel
|
||||
return list(getattr(self.instance.instance, self.field.name).all())
|
||||
elif self.field.choices:
|
||||
objs = dict(self.field.choices).get(self.raw_value, EMPTY_VALUE)
|
||||
elif isinstance(self.field, models.DateField) or isinstance(self.field, models.TimeField):
|
||||
if self.raw_value:
|
||||
date_format, datetime_format, time_format = get_date_formats()
|
||||
if isinstance(self.field, models.DateTimeField):
|
||||
objs = capfirst(dateformat.format(self.raw_value, datetime_format))
|
||||
elif isinstance(self.field, models.TimeField):
|
||||
objs = capfirst(dateformat.time_format(self.raw_value, time_format))
|
||||
else:
|
||||
objs = capfirst(dateformat.format(self.raw_value, date_format))
|
||||
else:
|
||||
objs = EMPTY_VALUE
|
||||
elif isinstance(self.field, models.BooleanField) or isinstance(self.field, models.NullBooleanField):
|
||||
objs = {True: 'Yes', False: 'No', None: 'Unknown'}[self.raw_value]
|
||||
else:
|
||||
objs = self.raw_value
|
||||
return [objs]
|
||||
|
||||
def urls(self):
|
||||
"Returns a list of (value, URL) tuples."
|
||||
# First, check the urls() method for each plugin.
|
||||
plugin_urls = []
|
||||
for plugin_name, plugin in self.model.model_databrowse().plugins.items():
|
||||
urls = plugin.urls(plugin_name, self)
|
||||
if urls is not None:
|
||||
#plugin_urls.append(urls)
|
||||
values = self.values()
|
||||
return zip(self.values(), urls)
|
||||
if self.field.rel:
|
||||
m = EasyModel(self.model.site, self.field.rel.to)
|
||||
if self.field.rel.to in self.model.model_list:
|
||||
lst = []
|
||||
for value in self.values():
|
||||
url = '%s%s/%s/objects/%s/' % (self.model.site.root_url, m.model._meta.app_label, m.model._meta.module_name, value._get_pk_val())
|
||||
lst.append((str(value), url))
|
||||
else:
|
||||
lst = [(value, None) for value in self.values()]
|
||||
elif self.field.choices:
|
||||
lst = []
|
||||
for value in self.values():
|
||||
url = '%s%s/%s/fields/%s/%s/' % (self.model.site.root_url, self.model.model._meta.app_label, self.model.model._meta.module_name, self.field.name, self.raw_value)
|
||||
lst.append((value, url))
|
||||
elif isinstance(self.field, models.URLField):
|
||||
val = self.values()[0]
|
||||
lst = [(val, val)]
|
||||
else:
|
||||
lst = [(self.values()[0], None)]
|
||||
return lst
|
84
django/contrib/databrowse/plugins/calendars.py
Normal file
84
django/contrib/databrowse/plugins/calendars.py
Normal file
@ -0,0 +1,84 @@
|
||||
from django import http
|
||||
from django.db import models
|
||||
from django.contrib.databrowse.datastructures import EasyModel
|
||||
from django.contrib.databrowse.sites import DatabrowsePlugin
|
||||
from django.shortcuts import render_to_response
|
||||
from django.utils.text import capfirst
|
||||
from django.utils.translation import get_date_formats
|
||||
from django.views.generic import date_based
|
||||
import datetime
|
||||
import time
|
||||
|
||||
class CalendarPlugin(DatabrowsePlugin):
|
||||
def __init__(self, field_names=None):
|
||||
self.field_names = field_names
|
||||
|
||||
def field_dict(self, model):
|
||||
"""
|
||||
Helper function that returns a dictionary of all DateFields or
|
||||
DateTimeFields in the given model. If self.field_names is set, it takes
|
||||
take that into account when building the dictionary.
|
||||
"""
|
||||
if self.field_names is None:
|
||||
return dict([(f.name, f) for f in model._meta.fields if isinstance(f, models.DateField)])
|
||||
else:
|
||||
return dict([(f.name, f) for f in model._meta.fields if isinstance(f, models.DateField) and f.name in self.field_names])
|
||||
|
||||
def model_index_html(self, request, model, site):
|
||||
fields = self.field_dict(model)
|
||||
if not fields:
|
||||
return ''
|
||||
return '<p class="filter"><strong>View calendar by:</strong> %s</p>' % \
|
||||
', '.join(['<a href="calendars/%s/">%s</a>' % (f.name, capfirst(f.verbose_name)) for f in fields.values()])
|
||||
|
||||
def urls(self, plugin_name, easy_instance_field):
|
||||
if isinstance(easy_instance_field.field, models.DateField):
|
||||
return ['%s%s/%s/%s/%s/%s/' % (easy_instance_field.model.url(),
|
||||
plugin_name, easy_instance_field.field.name,
|
||||
easy_instance_field.raw_value.year,
|
||||
easy_instance_field.raw_value.strftime('%b').lower(),
|
||||
easy_instance_field.raw_value.day)]
|
||||
|
||||
def model_view(self, request, model_databrowse, url):
|
||||
self.model, self.site = model_databrowse.model, model_databrowse.site
|
||||
self.fields = self.field_dict(self.model)
|
||||
|
||||
# If the model has no DateFields, there's no point in going further.
|
||||
if not self.fields:
|
||||
raise http.Http404('The requested model has no calendars.')
|
||||
|
||||
if url is None:
|
||||
return self.homepage_view(request)
|
||||
url_bits = url.split('/')
|
||||
if self.fields.has_key(url_bits[0]):
|
||||
return self.calendar_view(request, self.fields[url_bits[0]], *url_bits[1:])
|
||||
|
||||
raise http.Http404('The requested page does not exist.')
|
||||
|
||||
def homepage_view(self, request):
|
||||
easy_model = EasyModel(self.site, self.model)
|
||||
field_list = self.fields.values()
|
||||
field_list.sort(lambda x, y: cmp(x.verbose_name, y.verbose_name))
|
||||
return render_to_response('databrowse/calendar_homepage.html', {'root_url': self.site.root_url, 'model': easy_model, 'field_list': field_list})
|
||||
|
||||
def calendar_view(self, request, field, year=None, month=None, day=None):
|
||||
easy_model = EasyModel(self.site, self.model)
|
||||
extra_context = {'root_url': self.site.root_url, 'model': easy_model, 'field': field}
|
||||
if day is not None:
|
||||
# TODO: The objects in this template should be EasyInstances
|
||||
return date_based.archive_day(request, year, month, day, self.model.objects.all(), field.name,
|
||||
template_name='databrowse/calendar_day.html', allow_empty=False, allow_future=True,
|
||||
extra_context=extra_context)
|
||||
elif month is not None:
|
||||
return date_based.archive_month(request, year, month, self.model.objects.all(), field.name,
|
||||
template_name='databrowse/calendar_month.html', allow_empty=False, allow_future=True,
|
||||
extra_context=extra_context)
|
||||
elif year is not None:
|
||||
return date_based.archive_year(request, year, self.model.objects.all(), field.name,
|
||||
template_name='databrowse/calendar_year.html', allow_empty=False, allow_future=True,
|
||||
extra_context=extra_context)
|
||||
else:
|
||||
return date_based.archive_index(request, self.model.objects.all(), field.name,
|
||||
template_name='databrowse/calendar_main.html', allow_empty=True, allow_future=True,
|
||||
extra_context=extra_context)
|
||||
assert False, ('%s, %s, %s, %s' % (field, year, month, day))
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user