# translation of Django.
# Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Gatis Tomsons <gatis.tomsons@gmail.com>, 2008.
# , fuzzy
#
#
msgid ""
msgstr ""
"Project-Id-Version: Django\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2010-05-10 23:48+0200\n"
"PO-Revision-Date: 2010-05-10 20:22+0200\n"
"Last-Translator: Reinis Veips <reinis.veips@wot.lv>\n"
"Language-Team: Latvian translators' team <reinis.veips@wot.lv>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
"X-Poedit-Language: Latvian\n"
"X-Poedit-Country: LATVIA\n"

#: contrib/admin/media/js/SelectFilter2.js:37
#, perl-format
msgid "Available %s"
msgstr "Pieejams %s"

#: contrib/admin/media/js/SelectFilter2.js:45
msgid "Choose all"
msgstr "Izvēlēties visu"

#: contrib/admin/media/js/SelectFilter2.js:50
msgid "Add"
msgstr "Pievienot"

#: contrib/admin/media/js/SelectFilter2.js:52
msgid "Remove"
msgstr "Izņemt"

#: contrib/admin/media/js/SelectFilter2.js:57
#, perl-format
msgid "Chosen %s"
msgstr "Izvēlies %s"

#: contrib/admin/media/js/SelectFilter2.js:58
msgid "Select your choice(s) and click "
msgstr "Izvēlies un klikšķini"

#: contrib/admin/media/js/SelectFilter2.js:63
msgid "Clear all"
msgstr "Attīrīt visu"

#: contrib/admin/media/js/actions.js:18
#: contrib/admin/media/js/actions.min.js:1
msgid "%(sel)s of %(cnt)s selected"
msgid_plural "%(sel)s of %(cnt)s selected"
msgstr[0] "%(sel)s no %(cnt)s izvēlēts"
msgstr[1] "%(sel)s no %(cnt)s izvēlēti"
msgstr[2] "%(sel)s no %(cnt)s izvēlēti"

#: contrib/admin/media/js/actions.js:109
#: contrib/admin/media/js/actions.min.js:5
msgid ""
"You have unsaved changes on individual editable fields. If you run an "
"action, your unsaved changes will be lost."
msgstr ""
"Jūs neesat saglabājis izmaiņas rediģējamiem laukiem. Ja jūs tagad "
"izpildīsiet izvēlēto darbību, šīs izmaiņas netiks saglabātas."

#: contrib/admin/media/js/actions.js:121
#: contrib/admin/media/js/actions.min.js:6
msgid ""
"You have selected an action, but you haven't saved your changes to "
"individual fields yet. Please click OK to save. You'll need to re-run the "
"action."
msgstr ""
"Jūs esat izvēlējies veikt darbību un neesat saglabājis veiktās izmaiņas. "
"Lūdzu nospiežat OK, lai saglabātu. Jums nāksies šo darbību izpildīt vēlreiz."

#: contrib/admin/media/js/actions.js:123
#: contrib/admin/media/js/actions.min.js:6
msgid ""
"You have selected an action, and you haven't made any changes on individual "
"fields. You're probably looking for the Go button rather than the Save "
"button."
msgstr ""
"Jūs esat izvēlējies veikt darbību un neesat izmainījis nevienu lauku. Jūs "
"droši vien meklējat pogu 'Aiziet' nevis 'Saglabāt'."

#: 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 ""
"Janvāris Februāris Marts Aprīlis Maijs Jūnijs Jūlijs Augusts Septembris "
"Oktobris Novembris Decembris"

#: contrib/admin/media/js/calendar.js:25
msgid "S M T W T F S"
msgstr "S P O T C P S"

#: contrib/admin/media/js/collapse.js:9 contrib/admin/media/js/collapse.js:21
#: contrib/admin/media/js/collapse.min.js:1
msgid "Show"
msgstr "Parādīt"

#: contrib/admin/media/js/collapse.js:16
#: contrib/admin/media/js/collapse.min.js:1
msgid "Hide"
msgstr "Slēpt"

#: contrib/admin/media/js/dateparse.js:33
msgid "Sunday Monday Tuesday Wednesday Thursday Friday Saturday"
msgstr ""
"Svētdiena Pirmdiena Otrdiena Trešdiena Ceturtdiena Piektdiena Sestdiena"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:49
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:84
msgid "Now"
msgstr "Tagad"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:53
msgid "Clock"
msgstr "Pulkstens"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:80
msgid "Choose a time"
msgstr "Izvēlieties laiku"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:85
msgid "Midnight"
msgstr "Pusnakts"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:86
msgid "6 a.m."
msgstr "06.00"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:87
msgid "Noon"
msgstr "Pusdienas laiks"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:91
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:188
msgid "Cancel"
msgstr "Atcelt"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:133
#: contrib/admin/media/js/admin/DateTimeShortcuts.js:182
msgid "Today"
msgstr "Šodien"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:137
msgid "Calendar"
msgstr "Kalendārs"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:180
msgid "Yesterday"
msgstr "Vakar"

#: contrib/admin/media/js/admin/DateTimeShortcuts.js:184
msgid "Tomorrow"
msgstr "Rīt"
